From aaaf9cf8260716a82d1d38444029989c7069312a Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 29 Nov 2016 17:38:08 +0100 Subject: [PATCH] Don't prepare transition if token is not visible This led to an issue that atoken was added to opening apps, regardless of its requested visibility state, thus making apps visible that should not be visible at all, because once it's added to opening apps, it will become visible when the app transition is being executed. Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts.KeyguardTests#testUnoccludeRotationChange Bug: 32771855 Change-Id: I375db25658ff95a6c6cc8e204486a1e73d2b2b88 --- .../core/java/com/android/server/wm/WindowManagerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 00d8fba09a587..2f3a59e054d0a 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1417,7 +1417,8 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.mEnterAnimationPending = true; winAnimator.mEnteringAnimation = true; // Check if we need to prepare a transition for replacing window first. - if (atoken != null && !prepareWindowReplacementTransition(atoken)) { + if (atoken != null && atoken.isVisible() + && !prepareWindowReplacementTransition(atoken)) { // If not, check if need to set up a dummy transition during display freeze // so that the unfreeze wait for the apps to draw. This might be needed if // the app is relaunching.