History log of /frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a304b3a08c266d7a8dbc566ca9f298a7d615d53 16-Mar-2017 Andrii Kulian <akulian@google.com> Separate global and override config sent to client

There is some flakiness in View#onConfigurationChanged callback -
if ViewRootImpl receives config update earlier than ActivityThread,
it may not detect the configuration change and skip inner updates.
Also now ViewRootImpl assumes that it receives the global config as
a param, but instead it gets merged config from WM. This means that
ViewRootImpl#sConfigCallbacks was sending incorrect values to the
recipients.

This CL switches to sending global and override configuration to the
client separately. Also in case if there is a corresponding activity,
it first updates it and waits for update callback to ViewRootImpl.
This way global config and override config for activity will always
be set first and resources will be updated before inner state of
ViewRootImpl is updated.

Bug: 35870157
Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: testOnMovedToDisplayCallback
Change-Id: Ic9e7541cf25ecfac6ec90e48f7efb0ece91f657e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
2483d9bdfcedcef15f20af674a0b0d2b46830eba 14-Mar-2017 Robert Carr <racarr@google.com> Delete some SurfaceView support code.

repositionChild, performDeferredDestroy, and SurfaceControl with
background were all only used by SurfaceView and are now no longer
required in the wm.

Test: Only red.
Change-Id: Icb773572e6d6202f78a6d23b2431fbfacbe272c6
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
7cbc998171f7625ccabfced83c16138f7f725465 03-May-2016 Robert Carr <racarr@google.com> Prepare to replace windows across recreate().

When the activity locally recreates itself, nothing
on the server side is able to prepare preserving windows,
or replacing windows. The activity was trying to defer
removing the old window, but it was just waiting
until the new one was created, not until it was drawn,
thus resulting in a flicker. It's easy to backpack on the
existing replacement infrastructure.

Bug: 28221875
Change-Id: I55fc4ca78e9e11809473fedd8b30b6a6350cf852
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
9ce4158f0594ae8b61e3a34862a2111587a83c98 29-Mar-2016 Robert Carr <racarr@google.com> Ensure we change SurfaceView size from UI thread.

We need to change the SurfaceView size from the UI thread
so that we can appropriately deliver the SurfaceChanged
callback. We also need to not preserve geometry
in this case, as if we don't update the surface
and layout size together we could get scaling. This still has
some potential for holes, as transactions are not synced with
the parent renderer, but we have other methods to avoid
these in the case of resizing. This fixes the remaining
issues with content sizing and surface view "out of sync".

Bug: 27780983
Bug: 27687126
Bug: 27676101

Change-Id: Idd7864f00e5cf7a4eb32dd66c0b389292a788069
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
831f206e3e0b65f2c51f83cd142d82b146090c74 22-Mar-2016 Chong Zhang <chz@google.com> Don't change geometry in relayout if preserve geometry is requested

This causes scaling to be applied in the relayout window since the
requested size won't match the window size. Apply the requested size
in repositionChild instead.

bug: 27676101
Change-Id: I03beee2b9fe118a6be329b5fd1338d54e48d9a22
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
a8b19f02074a4987bf245fd7a53be89ba56a6695 10-Feb-2016 Vladislav Kaznacheev <kaznacheev@google.com> Update pointer icon when View.setPointerIcon is called

Currently the updated pointer icon is only displayed after
the next mouse move.

Bug:27107871
Change-Id: Ieed57b07fe44699735179cf57968a9bb08981396
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
688afb50501539582c1ac2b61e676a24e4b75f5e 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Change mouse pointer when drag and drop is active

Mouse pointer is set to STYLE_GRAB when the drag has started and
reset to STYLE_DEFAULT when the drag has ended.

Resetting the pointer shape to the one defined by an underlying
view will be handled in a separate patch.

Bug: 24415739
Change-Id: I8df0a08c5701a34a48f10ec6b43c2cf2e6362d61
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
114b55f58b9b3c422e44a058cf7b84d65ca62b8f 19-Jan-2016 Rob Carr <racarr@google.com> Merge "Replace SurfaceViews across resize trigerred relaunches."
26b41672123f5fb8d4953e5f87cda12a6cc9300f 13-Jan-2016 Robert Carr <racarr@google.com> Replace SurfaceViews across resize trigerred relaunches.

In resize modes where we are preserving the main application
window, we need to tell the WindowManager to prepare to replace
the child surfaces, or they will dissapear across relaunches.

Bug: 26070641
Change-Id: I864168688dc320e9280e651f9c5df614f52bc96c
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
2442417ef7ba00e13641f91f7d76e9bd78930f98 16-Jan-2016 Jorim Jaggi <jjaggi@google.com> Fix build

Change-Id: I6d4bebf90c11a4a00d259aac34bb9459d973da9b
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
f270991fdadbefa90c8bf600a1df33189a3c4802 20-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Implement View.cancelDragAndDrop

View.cancelDragAndDrop cancels a drag operation initiated by
View.startDragAndDrop.

It has to be called on a View in the same window (under the
same ViewRootImpl) that the view which started the drag.

Bug: 24415683
Change-Id: If9a265fd8cc4d26b207d582d0d02d5c9ae78eba1
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
1b6848fb69ffbc8a4a82d9591e25909c29edcd96 19-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Revert "Fix broken build"

This reverts commit 88d753291c834c41ad6c9229082146be72cf8014.

Revert required because the base class change
has been reverted in http://ag/816441

Change-Id: Iee8a8272bda0a92aed8ae46af8439910d8f1ecdc
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
1a7cb19bf3128e58e6c760fa4d5982732e6cb7a3 18-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Fix broken build

Followup to ag/808050

Change-Id: I9912eae6a8c09b90685e19b3a9080b2d557c857b
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
0668589aa9e50d4579022909e10e3f9d352145f0 06-Nov-2015 Robert Carr <racarr@google.com> Clarify geometry management for SurfaceView

In the hardware accelerated case, RenderThread needs
to be the authority of information on the geometry of
the SurfaceView (this will occur via moving the
repositionWindow call to RenderThread). In order
to support this we have to enable calling relayoutWindow
without geometry (so that it will not fight with
repositionWindow). Add such a mode to relayoutWindow
and use it from SurfaceView. Add size to repositionChild
while we are here.

Bug: 22802885
Change-Id: Ie45132c22f34cc6ecfe2446912b30bd1df414406
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
3f390536da9c2e4335eae648db086d9cb19f6952 03-Nov-2015 Brian Carlstrom <bdc@google.com> Fix layoutlib-tests build by adding dummy implementation of IWindowSession.repositionChild to BridgeWindowSession

Change-Id: I9c3a609c76716b35595b82a33f32883d4f46c517
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
d49015d4d6e0ceb99ac0c768b726be726e862c66 13-Sep-2015 Chong Zhang <chz@google.com> Fix build break with startMovingTask API

Change-Id: I4dc44ca04c75a9dfed079338e4906d317f50a1e3
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
d92792243909c57fd28c2454493c0e818cc3ff33 10-Sep-2015 Chong Zhang <chz@google.com> Move window moving and resizing handling to WindowManager

- add a startMoving API to initiate a window move from app, once
the move starts WindowManager will take over the event handling.

- detect touch events along window's outside border and start
a resize if necessary

Change-Id: Ic7e8baba34e0aa27a43173e044ffb46e93e219e0
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
c3b180a220c8ed4768d2d769479d7027e8b03ef6 01-Jul-2015 Filip Gruszczynski <gruszczy@google.com> am 3ce79f6c: am 96496e2d: Merge "Build fix after changing IWindowSession." into cw-d-mr1-dev

* commit '3ce79f6c0c3435eca05ea34c5a8b34ac59bcb992':
Build fix after changing IWindowSession.
c3ad3ec0f2fb06b109fa1bdb690263d0f3c7411f 30-Jun-2015 Filip Gruszczynski <gruszczy@google.com> Build fix after changing IWindowSession.

Change-Id: I339fecb0138e8b8907fc53372b694021f6327260
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
f7cc20d4131687310cc3df6da76cc4bd6ee8da00 01-Jun-2015 Filip Gruszczynski <gruszczy@google.com> Revert "Revert "Fix build.""

This reverts commit 944a6c937cd3576ecae5c3fdd0dcf265329e6bcf.

Change-Id: I7daa255f331a1e39308eb626580aa00c63c5cb3e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
ffafa81f8bc785e6f2e89ba18b3f7c3af8d05c90 23-May-2015 Deepanshu Gupta <deepanshu@google.com> Revert "Fix build."

This reverts commit 97b3ae1a8766616675ebf2323a97d8adfd41bfdc.

Reverted since 4bb6b751fbbb218e8a298db4aa008472a0aa8d31 reverts
the commit that warranted this change.

Change-Id: I56d0eb8ffba44a673ae357e9543dd18f6c03c54f
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
d19f5edcc185e2b0ce662064100c5a9052e7b70c 21-May-2015 Filip Gruszczynski <gruszczy@google.com> Fix build.

Cherry picking because automerger is stuck.

Change-Id: I49f669ee8eed53cf2fc30077cf0a066312865733
(cherry picked from commit c1b736a0cdf41ab5863bfe6901e46c95cc396342)
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
1cbd761d7d8ca72db4a54f854523873a40cda769 21-May-2015 Filip Gruszczynski <gruszczy@google.com> Fix build.

Change-Id: I49f669ee8eed53cf2fc30077cf0a066312865733
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
0806140450647e550cd384decbb9534fee551e9f 24-Feb-2015 Chad Jones <chadj@google.com> resolved conflicts for merge of 57bb5f5c to master

Change-Id: Id5dfe7fc919305658312771a031c0764cef5515c
e4be1f5e8e3140291288a789fc83c089e41724c8 21-Nov-2014 Jeff Brown <jeffbrown@google.com> Hold a wake lock while dozing when display updates are pending.

When the display state is DOZE or DOZE_SUSPEND, assume this means
that the AP may go to sleep at any time so hold a wake lock for
a little while starting when traversals are scheduled to ensure
that the AP remains awake long enough to draw and post the frame
to the display hardware.

This patch is somewhat approximate but should be good enough for
most devices today.

Note that the implementation uses the window manager to ensure that
the window which wants to draw is actually visible before acquiring
the wake lock. There is a cost to this test (a round-trip) which
should not be significant today since we do not expect apps to draw
more than one frame or two while dozing. However, if we wanted to
support animations in general, we might want to optimize it or
eliminate the check altogether (since we can already account for
the app's use of the wake lock).

Another way to implement this functionality might be for the view
hierarchy to listen for the power manager to report that it has entered
a non-interactive power state before deciding to poke draw locks.
This would be somewhat more accurate than watching the display state.
Also, the draw lock timeout logic could be implemented more directly
instead of using an ordinary timed wake lock.

Bug: 18284212
Change-Id: I84b341c678303e8b7481bd1620e634fe82cc4350
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
bcbf5cce564d0262a6c0be630ecbc0abb4989d37 28-Jan-2015 Craig Mautner <cmautner@google.com> Remove TYPE_UNIVERSE_BACKGROUND from system

An experiment that is over and has been occupying space.

Fixes bug 18088522 item #7

Change-Id: Ib0fcaa24243ed9b0581143e1d5114c1fd2b0aa6e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
4591784a4b15eb27c33998f95ed2d1e7e26ab975 06-Nov-2014 Adrian Roos <roosa@google.com> Fix inset hinting when adding window

Windows with FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS were
getting an incorrect content inset hint, because the
hinting didn't see the adjusted systemUiVisibility.

Also adds hinting for the stable insets.

Bug: 17508238
Change-Id: If9647277feb6811b15665b801accd896c51dbd12
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
7262d72499ce3f7ec961cd7ec5d51ca7deb08527 10-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I92eabc35168acfe58641917179be0d90a14f2f11
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
091ad06498d9fbc14603efd094a8bb8d9d82c2da 02-Jul-2014 Adrian Roos <roosa@google.com> Fix layoutlib breakage due to I681b711f6f40a94c25b7acd3a44eb3539486afab

Change-Id: I141f49718c4d538875a68c00101c098fdd7e967b
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
d7777b89ba7dd92bb92246b0ec18e7605dd65454 13-Jun-2014 Ji-Hwan Lee <jihwan@google.com> LayoutLib: Fix broken sdk builds

Change-Id: I301b312195eb3e57cb581d015e7c0b0492084b3e
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
ab775ecdd189b32e35b0d3f4a821502f88b03a4b 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
/frameworks/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java