Continuing the general trend of deprecating deferTransactionUntil.
Bug: 168505645
Test: Existing tests pass
Change-Id: I72e1f4e2eec369ecdbd3723d9af3f9f2e8f71c36
SurfaceSession.nativeKill would call SurfaceComposerClient.dispose. This
was unsafe since it would only clear the ISurfaceComposerClient binder
object, but the SurfaceComposerClient object could still be around.
Instead, when calling SurfaceSession.kill, just remove the Java
reference, but allow the dtor of SurfaceComposerClient to handle
disposing the binder object.
Test: Force app to restart while in a sync transaction. No longer shows
an error
Fixes: 179459565
Change-Id: I322e7f3bd4e7efb3d85d1afe3c4704283f58a985
Helps us down the path of deprecating deferred transaction. BLASTSync
should also be easier to debug and produce less overhead on the server.
Bug: 168505645
Test: Existing tests pass
Change-Id: I1f1375f4ddfe84f724109d1c1b601260cef0ba6c
This is mostly a matter of flipping the flag, except for the case of
SystemWindows. While external SurfaceControlViewHost clients use the
leash provided by the SurfaceControlViewHost rather than the internal
ViewRootImpl surface, SystemWindows clients will use the actual
ViewRootImpl surface. This can conflict with the BLAST adapter setting
crop/frame/etc on this Surface. We modify SystemWindows to put
each layer inside a leash, and hand this out to other parts of SysUI
instead of the ViewRootImpl surface.
Test: Existing tests pass
Bug: 168505645
Change-Id: Ie621f89166f00ce385d450f1f1cea4d4abd1b805
Since the client owns its own SurfaceControl now, there is no
need to call through to the WM just to set transparent regions.
Bug: 161937501
Test: Existing tests pass
Change-Id: I1767090bc60be72b86879ae806876d49bfa0e06c
Forcing layout for other soft input modes seems redundant while IME
shows or hides, because the layout doesn't change.
It doesn't useful for the system bar cases as well, because the main
content of the fullscreen apps is usually stable.
Fix: 161781474
Test: Open IME in Telegram
Change-Id: Ic64dd86e5804c4b25fa118297eaca3c63c5e0a7d
Since WindowContext won't add WindowToken from the client side,
addWindowTokenWithOption is no more needed. Also remove the logic
to invoke removeWindowToken from the client side.
Bug: 159767464
Bug: 153369119
Test: atest WindowManagerServiceTests WindowManagerPermissionTests
Change-Id: Ib0c948dca223cf8d056865ce3a0d4adaef07d247
When using blast, there's no need to call preserve surfaces since the
client can synchronize layer changes with the incoming buffer in the
new size. If the client uses the WindowOrganizer.applySync call they can
ensure they only update the layer geometry in the same transaction that
the new buffer is submitted in.
When removing preserveSurfaces, we can also remove reparentChildren
since that was the only caller of reparentChildren
Test: Split with SurfaceView
Bug: 177557720
Change-Id: I4574ac0d3b8a63b13ac44846e729b73ca0f88f23
If an Insets animation was cancelled before it could complete,
handle it gracefully.
Fix: 154381667
Test: Run monkey runner that on any window that has edit text
atest InsetsControllerTests
Change-Id: I052a0455f536a1c839a2782e54f19143295ba6c6
InputMethodManager.ImeThreadFactory was originally introduced to fix
Bug 147331480 but all its usages were already removed by a subsequent
CL [2], which somehow forgot to remove this class.
Anyways, this class is definitely unused right now hence it should be
safe for us to remove it.
[1]: I10391b834c33458c3e0ac846ab738e805d235c26
ba400449e1
[2]: Id73f0d5efb68bb4c5c8ef3dfb974c7a4f9457581
08e9134546
Bug: 171827834
Test: presubmit
Change-Id: I4d1a24be1272670b89b1435f6fd6ff196a22385f
The change is disabled by default. To enable remote animation, one needs
to set a property and to restart the WMS.
% adb root
% adb shell setprop persist.wm.enable_remote_keyguard_animation 1
% adb reboot
Test: Existing tests pass.
Bug: 175686676
Bug: 179122467
Change-Id: I65f36232df715616cfcadcf5d389b72e0894fddd