diff options
| author | 2018-01-25 14:39:25 +0100 | |
|---|---|---|
| committer | 2018-01-25 16:52:31 -0800 | |
| commit | 876a3eeab94c8cf15c86d6af2fae445a85751ad4 (patch) | |
| tree | f4f3467ee58ce35b0c811f1b4357ceb3634c7f96 | |
| parent | 66f0026f3f27e71dfb764df438ce9016d7c5f08d (diff) | |
Fix issue with flickering with recents animation
The flicker is caused by executeAppTransition only being called
after the closing activity has finished pausing, probably because
it can enter PIP.
We don't need to wait for the activity to finish pausing in this
case - just execute the transaction and destroy the surfaces
already!
Test: go/wm-smoke
Test: Swipe up on PIPable activity with new Launcher APK
Change-Id: I92efef97b157a13e4670eb0c7e7113afa50302d5
| -rw-r--r-- | services/core/java/com/android/server/am/RecentsAnimation.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/RecentsAnimationController.java | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/RecentsAnimation.java b/services/core/java/com/android/server/am/RecentsAnimation.java index fe576fdaacbe..f0b27a74a66b 100644 --- a/services/core/java/com/android/server/am/RecentsAnimation.java +++ b/services/core/java/com/android/server/am/RecentsAnimation.java @@ -153,6 +153,10 @@ class RecentsAnimation implements RecentsAnimationCallbacks { mWindowManager.prepareAppTransition(TRANSIT_NONE, false); mStackSupervisor.ensureActivitiesVisibleLocked(null, 0, false); mStackSupervisor.resumeFocusedStackTopActivityLocked(); + + // No reason to wait for the pausing activity in this case, as the hiding of + // surfaces needs to be done immediately. + mWindowManager.executeAppTransition(); }); } } diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index c7d4b8ed0f16..fe5b65ccbf6d 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -265,7 +265,6 @@ public class RecentsAnimationController { mPendingAnimations.clear(); mService.mInputMonitor.updateInputWindowsLw(true /*force*/); - mService.scheduleAnimationLocked(); mService.destroyInputConsumer(INPUT_CONSUMER_RECENTS_ANIMATION); } |