Fix issue with task snapshots being taken too late
- Currently, a display change while recents transition is playing will result in the display change being applied prior to the recents animation playing, which means that the transition-end snapshots are taken in the wrong display configuration - Instead, When a display change is requested mid-recents transition, cancel the current transition and record the snapshots in place (this matchs legacy recents animation behavior) - Separately, if the snapshot is requested & recorded mid transition, then we can ignore the post-transition screenshot (which would be wrong in the display change case, or just extraneous even in the normal case where launcher has requested a screenshot itself already). We do this by comparing the time that the last snapshot was taken with the start of the transition. Fixes: 278189494 Test: Go into Overview and rotate the device and observe the task views Change-Id: I985cd9c852a326027ae3ab4f7ffe837431d1c654
Showing
- core/java/android/window/TaskSnapshot.java 23 additions, 1 deletioncore/java/android/window/TaskSnapshot.java
- core/tests/coretests/src/android/window/SnapshotDrawerUtilsTest.java 1 addition, 0 deletions...coretests/src/android/window/SnapshotDrawerUtilsTest.java
- data/etc/services.core.protolog.json 6 additions, 0 deletionsdata/etc/services.core.protolog.json
- libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java 23 additions, 16 deletions...om/android/wm/shell/recents/RecentsTransitionHandler.java
- libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/startingsurface/StartingSurfaceDrawerTests.java 1 addition, 0 deletions.../wm/shell/startingsurface/StartingSurfaceDrawerTests.java
- services/core/java/com/android/server/wm/AbsAppSnapshotController.java 3 additions, 0 deletions.../java/com/android/server/wm/AbsAppSnapshotController.java
- services/core/java/com/android/server/wm/AppSnapshotLoader.java 4 additions, 2 deletions...es/core/java/com/android/server/wm/AppSnapshotLoader.java
- services/core/java/com/android/server/wm/TaskSnapshotController.java 12 additions, 0 deletions...re/java/com/android/server/wm/TaskSnapshotController.java
- services/core/java/com/android/server/wm/Transition.java 15 additions, 4 deletionsservices/core/java/com/android/server/wm/Transition.java
- services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java 1 addition, 1 deletion...ts/wmtests/src/com/android/server/wm/RecentTasksTest.java
- services/tests/wmtests/src/com/android/server/wm/TaskSnapshotPersisterTestBase.java 1 addition, 1 deletion.../com/android/server/wm/TaskSnapshotPersisterTestBase.java
Loading
Please register or sign in to comment