703719be15d4ab520caeecf9e13e6e801f29bd12 |
|
19-Apr-2018 |
Winson Chung <winsonc@google.com> |
Workaround to ensure we cancel the recents animation prior to starting home - It is possible for the call from SystemUI to cancel the recents animation to be processed and handled after the virtual key has been processed in PhoneWindowManager. This causes a misordering in which the canceling of the Recents animation clears the pending start activity remote animation (which is waiting for app transition ready). Instead, move the canceling of the Recents animation to PhoneWindowManager where the nav button is handled, to ensure that we cancel the animation on the same thread before we start the activity. Bug: 73188263 Test: Only able to reproduce so far artificially, which points to this misordering Change-Id: I1f3477acdf988953a5b3cef2e3b2b402af2d9909 Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
57dea8823befce8a8092bffc3f7fee6505500498 |
|
11-Apr-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Enable additional logging for recents/remote animations" into pi-dev
|
c6c3f851dc0c2e7f17581b55d08f17b508c791af |
|
10-Apr-2018 |
Winson Chung <winsonc@google.com> |
Enable additional logging for recents/remote animations Bug: 73188263 Test: Just logging Change-Id: I178ed902ad7097cc97fdec6d1c74603cb580453a
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
653c6c1100d9093d0850dc21365b0b91db8cfffb |
|
09-Apr-2018 |
Adrian Roos <roosa@google.com> |
AnimationControllers: Only unlinkToDeath if previously linked Fixes crashes when we unlink to the runners if the animation was cancelled prior to linking to the death of the runners. Change-Id: Ic52c8bea0985bce8a2abfd61d8b54ab6fff9e288 Fixes: 77756198 Test: make
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
842e788ffc7f2964d6d5877511e3762d4908bb95 |
|
26-Mar-2018 |
Adrian Roos <roosa@google.com> |
RemoteAnimations: Add failsafe Adds failsafe mechanisms to RemoteAnimation and RecentsAnimation: - cancel animations on binder death - schedule a short timeout for RecentsAnimation after HOME and POWER events Also enables RemoteAnimationControllerTest for presubmit, since it's turned out to be reliable. Change-Id: Id0bfdbee7d36f662eb386727195da8de2ed1684a Fixes: 73496879 Test: kill / suspend launcher during animations; verify animations get aborted as expected. Test: atest RemoteAnimationControllerTest
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
ff23ffa8ff352b9c7178d19779783d7c231fabda |
|
28-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Merge "Fix issue with animations that couldn't be started" into pi-dev
|
b8a9cbe4d8f7d2af99e487fe89ca2c42578c6f88 |
|
27-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Fix issue with animations that couldn't be started If we can't create a remote animation target for some reason (removed from task, no main window, etc), SurfaceAnimator called startAnimation but we never invoke the finish callback. Thus, we need to make sure to also invoke the finish callback when not using the AppWindowToken as part of the remote animation. This actually happens if the main intent clears the task, like Settings. In that case, it removes all sub activities, which then get added to mClosingApps, which then are part of a transition. It's questionable why this would need to happen, but we don't have the risk budget to go down that rabbit hole. Test: RemoteAnimationControllerTest Test: Open Settings -> Network -> Wifi, press home, reopen Settings, repeat 10x Test: adb shell dumpsys window -a Fixes: 76438155 Change-Id: Ib528d5c0d3559eb20522799af68ebbfb17b9801b
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
2f426bcd09e27e1ad7bd1215c1dc5de0d7cce262 |
|
27-Mar-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Clear calling identity in finish callback" into pi-dev
|
817ebdd94d6e31caf8371587c553a5ba17a03c2a |
|
26-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Handle insets for letterboxing correctly Add letterbox insets to main window insets to get the correct amount of insets. Test: Go to recents in landscape with cutout. Change-Id: I45882d5fb3166252e4b4a333177211623fae34b0 Fixes: 72757033
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
ab20e1623b81076357a08cebeda7e58cbf3e1891 |
|
27-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Clear calling identity in finish callback Test: go/wm-smoke Fixes: 76138720 Change-Id: Id6b1afd757d4374a401abe4ee68fe99ed182a62e
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
c4d29f2a1c6e8e9c3cdb3fc2bf8a8151fb24716b |
|
22-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Fix NPE when animation doesn't get started If animation start is delayed, there is no guarantee that startAnimation is called on the adapter. Thus, protect RemoteAnimationController against this case, as leash and finishedCallback would be null. Furthermore don't even try to start remote animation that is delayed as it would leave it hanging forever. Test: SurfaceAnimatorTest/RemoteAnimationControllerTest Change-Id: I72c492c4fb6ca8eeae481d2c281e9c1fee95f921 Fixes: 76096628
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
6c6e9cab42bccb44ebb4b30e7eab7394c0dbb759 |
|
21-Mar-2018 |
Yi Jin <jinyithu@google.com> |
Remove am/wm.proto which is redundant. The naming convention is defined in core/proto/README.md Bug: 72474563 Test: make sure the Android build Change-Id: I2a90cbb6bb0b0c62fe4a0b81cb5bb3ea36381871
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
f75d161dd84f90b1a014e7c48ce0654cf806c0dd |
|
27-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Improve animation dump/logging Bug: 74220420 Test: go/wm-smoke Test: adb shell dumpsys window during animation Change-Id: Ib8bddb4f38ad4fe7a80315d3bfdac0a80aea4cc8
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
fe700fc694f35ff90cf040d7cb8cbfb57072aa05 |
|
10-Mar-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Adding isNotInRecents to RemoteAnimationTarget" into pi-dev
|
593e9567fdc2a7b5c7e06c12c9af4b32f4216d85 |
|
09-Mar-2018 |
Vadim Tryshev <vadimt@google.com> |
Adding isNotInRecents to RemoteAnimationTarget For animations required by Recents, we calculate whether the task is going to be presented in Recents UI. Bug: 70789568 Test: Manual: swipe a normal app to Recents; swipe an app with a half-screen assistant on top of it to Recents. Change-Id: I1ec9c36865dd4f57e843ae58811f90f3096365a5
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
bc2aabe84568c6b1a54c1b1467a539781488c8ca |
|
08-Mar-2018 |
Jorim Jaggi <jjaggi@google.com> |
Revert "Revert "Elevate remote/recents animation priority"" This reverts commit a8b48ab7332f61afe37b2e866e9cb67421fab1c0. Original issue has been fixed in follow up CL. Bug: 73555925 Change-Id: Ie0a157a91c3c66df52370adad7b188f59c4749ea
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
2f3adb4d275dcf36762282c66afa58876fd3b045 |
|
28-Feb-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Revert "Elevate remote/recents animation priority""
|
a8b48ab7332f61afe37b2e866e9cb67421fab1c0 |
|
28-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Revert "Elevate remote/recents animation priority" This reverts commit 574aea0f1b073889186a82c94a991cc746b1c58c. Reason for revert: Crashes sometimes (chaselist issue) Change-Id: I1440ef7a002e85c3e020d424f13073ca2516dd9c Fixes: 73991490
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
d3d139ab1eb841b1713016598fdca7a31b302ed8 |
|
27-Feb-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Elevate remote/recents animation priority"
|
574aea0f1b073889186a82c94a991cc746b1c58c |
|
21-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Elevate remote/recents animation priority If we have another process running a remote animation, we need to elevate its scheduling priority in order to achieve a smooth animation. To do that, we set the priority as if it would be the top app. Test: go/wm-smoke Test: Capture trace, open/close apps/recents, inspect priority in trace. Change-Id: Ia167eeff95700d86e96e96a984099f1e28040b59 Fixes: 73555925
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
82c1786e2c19201d02e014afc6458296b4f29e79 |
|
21-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Add ability to show wallpaper during animation In the new task switch animations, we'd like to show the wallpaper behind. For that, we add the ability to show the wallpaper for any animation via Animation.showWallpaper as an XML attribute. If the window of an app is animating, and the animation requests the wallpaper, it can also be a wallpaper. One remaning issue here is that we don't wait for the wallpaper to be drawn when waiting for the transition. However, usually this isn't an issue because the wallpaper is drawn in any case. To fix this we'd need to load the animation already and then make it a target before the animation starts, which is a bit involved /quirky. Test: Open/close task, observe wallpaper behind Test: go/wm-smoke Bug: 72396815 Change-Id: I676273a4e6627f8b5e0a1366fcd80a7c92018123
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
91f9f348dc6a8e062e2f2dee9e687ae9ca558ac9 |
|
14-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Fix memory leak Client was holding onto the finished callback in the RemoteAnimationRunner, and the server was holding on to the runner via the finish callback. Cycle! There is no GC for cross-process binder, so we have to make sure to properly free it. Test: go/wm-smoke Test: Open/close apps, take hprof, make sure no leaks Change-Id: I680953212bee8841c04c2909a4cb82dfac3c2754 Fixes: 72834182
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
16d0d07df83eb00edd719715e6e42d91b600602f |
|
13-Feb-2018 |
Chavi Weingarten <chaviw@google.com> |
Fix flicker with remote animations There was a race condition where we notified the controlling app already about transition start, which itself started the animation and applied the transform of the first frame. However, a little bit later, we applied the pending transaction from window manager, which overrode the properties again, leading to a flicker. Original CL: ag/3535475 Test: go/wm-smoke Test: Press home button, observe never a flicker Bug: Surprisingly there isn't one yet. Change-Id: I84b2e0fd4dcd7a01687e18f428a8f900ed43d75f
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
584d652a1dba2b09975a1555c71ed339374faac7 |
|
08-Feb-2018 |
Winson Chung <winsonc@google.com> |
Revert "Revert "Exposing content insets and minimized home bounds for recents transition"" This reverts commit bb5d97f00fd5ee64eaac110aa700cec2abf56a20. Reason for revert: Launcher APK is landing shortly. Test: Manual, swipe up to home in multi-window Change-Id: I5d9050e51265bd4ca5ea2c28b7533571d03990f7
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
bb5d97f00fd5ee64eaac110aa700cec2abf56a20 |
|
07-Feb-2018 |
Winson Chung <winsonc@google.com> |
Revert "Exposing content insets and minimized home bounds for recents transition" This reverts commit 67f31199fb65c4bd89838f826afc00205d2241e2. Reason for revert: Need to wait for the Launcher drop at EOD today Change-Id: I039cd3092d786c62a88f599eb79c0704c6257981
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
67f31199fb65c4bd89838f826afc00205d2241e2 |
|
31-Jan-2018 |
Winson Chung <winsonc@google.com> |
Exposing content insets and minimized home bounds for recents transition - In order to calculate the final target rect and window clip for the app currently transitioning into the task view in launcher (similar to how we did in SysUI), we need to provide the content insets and bounds for both the app and launcher (whose activity may not yet have been shown). For the existing recents transition, this was calculated internally in the AppTransition aspect-scaled transition, but now that we are implementing this via remote animations, the same information is needed in the implementation of the recents animation runner. Bug: 70294936 Test: Swipe up from launcher with window transitions when in multi window Change-Id: I2afc6bdfe112cc7bb1b07ba65213653f6f0634f9
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
da10c37b6d8497338dcab82550ee37b374c3c9e2 |
|
06-Feb-2018 |
Wale Ogunwale <ogunwale@google.com> |
Revert "Fix flicker with remote animations" This reverts commit ab09e6472fc175077561cd55f2c1aa1d57683c9e as it causes crash. Change-Id: I2878cebca7d63a95545cc50e775a183527d7c2c2 bug: 72953020
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
ab09e6472fc175077561cd55f2c1aa1d57683c9e |
|
31-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
Fix flicker with remote animations There was a race condition where we notified the controlling app already about transition start, which itself started the animation and applied the transform of the first frame. However, a little bit later, we applied the pending transaction from window manager, which overrode the properties again, leading to a flicker. Test: go/wm-smoke Test: Press home button, observe never a flicker Bug: Surprisingly there isn't one yet. Change-Id: I849a1573e6fd0487b9b5c22c7a7525bc818661cc
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
a19d781a8a03757334a4dd1be8cfe2bc5e0299a7 |
|
01-Feb-2018 |
Jorim Jaggi <jjaggi@google.com> |
Scale timeout with animation scale So slowed down animations still work Test: RemoteAnimationControllerTest Test: go/wm-smoke-auto Change-Id: I23116fdd0f2e75e4320bd77aee704d1e2a9de5e7
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
a8d1105bc9a03d79156fc669d3fe3b5ba04d53d9 |
|
29-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
Merge "If nothing to animate, don't call remote animator"
|
93f9fe342be78bc90dc8aede1dd32e55be32657e |
|
25-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
If nothing to animate, don't call remote animator Otherwise we'll end up with weird transitions when just switching focus because focus switch causes an app transition to run. Test: go/wm-smoke Test: Enter PIP, click on PIP window, click on launcher window to execute an empty app transition. Change-Id: Ie42ad808ff4d4646570c122fd3b964e3255a57bc
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
e2d721781fc024cbd9a14929741e5b476242291f |
|
25-Jan-2018 |
Winson Chung <winsonc@google.com> |
Revert "Revert "2/ Add support for remote Recents animation"" This reverts commit 9f8518e532e41ba57916afc49bba72bc23ad3eda. Reason for revert: Testing relanding changes with ag/3515280 Change-Id: I410bd752c815a5b998a719453def01e00a9d47c8
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
9f8518e532e41ba57916afc49bba72bc23ad3eda |
|
25-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
Revert "2/ Add support for remote Recents animation" This reverts commit 0026a5152c427f9cf2c04da2b23a5ece2fcdb36d. Breaks presubmits
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
0026a5152c427f9cf2c04da2b23a5ece2fcdb36d |
|
17-Jan-2018 |
Winson Chung <winsonc@google.com> |
2/ Add support for remote Recents animation - Allow the recents component to drive the animation from an app into Recents using the remote animation framework. When initialized, the animation repositions the recents activity behind the currently visible tasks and provides the set of surface controls for the visible tasks. Once complete, the recents component notifies the system whether it has completed the animation into the recents activity, or whether it should restore the previous state. In addition, there is a prescribed delay after which the system automatically cancels the recents animation. Bug: 70180552 Test: go/wm-smoke Test: Manual, swipe up with suitable launcher build Change-Id: Id32f03c7ad2288dce06231cfaa4b21916da511d7
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
1777021fcf989c0a1d2b7aa533a7b464ad85a807 |
|
22-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
Fix NPE when creating remote animations Test: go/wm-smoke Bug: 72302602 Change-Id: Ifbae370ea559a9fda5ca442ceef0f6db8229466b
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|
33a701a55c28dd20390acee1ba7881a500830d7d |
|
01-Dec-2017 |
Jorim Jaggi <jjaggi@google.com> |
Remote animations (app-controlled animations) Adds the ability for another app to control an entire app transition. It does so by creating an ActivityOptions object that contains a RemoteAnimationAdapter object that describes how the animation should be run: Along of some meta-data, this object contains a callback that gets invoked from WM when the transition is ready to be started. Window manager supplies a list of RemoteAnimationApps into the callback. Each app contains information about the app as well as the animation leash. The controlling app can modify the leash like any other surface, including the possibility to synchronize updating the leash's surface properties with a frame to be drawn using the Transaction.deferUntil API. When the animation is done, the app can invoke the finished callback to get WM out of the animating state, which will also clean up any closing apps. We use a timeout of 2000ms such that a buggy controlling app can not break window manager forever (duration subject to change). Test: go/wm-smoke Test: RemoteAnimationControllerTest Bug: 64674361 Change-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab
/frameworks/base/services/core/java/com/android/server/wm/RemoteAnimationController.java
|