summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorim Jaggi <jjaggi@google.com> 2018-01-25 14:39:25 +0100
committer Winson Chung <winsonc@google.com> 2018-01-25 16:52:31 -0800
commit876a3eeab94c8cf15c86d6af2fae445a85751ad4 (patch)
treef4f3467ee58ce35b0c811f1b4357ceb3634c7f96
parent66f0026f3f27e71dfb764df438ce9016d7c5f08d (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.java4
-rw-r--r--services/core/java/com/android/server/wm/RecentsAnimationController.java1
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);
}