From 149a6f09cc98a9eedb22dd773ae64850db38cb9e Mon Sep 17 00:00:00 2001 From: David Nelloms Date: Tue, 25 Jun 2019 16:03:57 +0000 Subject: [PATCH] Revert "Clear transitions for app windows display change." This reverts commit 110ed21087eb9993835d887d33f4e1fb05fa86b8. Reason for revert: CTS failure b/135655256 Bug: 135655256 Bug: 128449959 Change-Id: I9b36d34193e1c9e228be609a7b10457392fd6aa3 --- .../com/android/server/wm/AppWindowToken.java | 16 +++++++++++----- .../com/android/server/wm/DisplayContent.java | 3 +++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 918927912c0b2..4a9a3f71f90e5 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -1322,9 +1322,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (prevDc == null || prevDc == mDisplayContent) { return; } - - prevDc.mOpeningApps.remove(this); - if (prevDc.mChangingApps.remove(this)) { + if (prevDc.mChangingApps.contains(this)) { // This gets called *after* the AppWindowToken has been reparented to the new display. // That reparenting resulted in this window changing modes (eg. FREEFORM -> FULLSCREEN), // so this token is now "frozen" while waiting for the animation to start on prevDc @@ -1333,8 +1331,6 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree // so we need to cancel the change transition here. clearChangeLeash(getPendingTransaction(), true /* cancel */); } - prevDc.mClosingApps.remove(this); - if (prevDc.mFocusedApp == this) { prevDc.setFocusedApp(null); final TaskStack stack = dc.getTopStack(); @@ -3220,6 +3216,16 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree true /* topToBottom */); } + void removeFromPendingTransition() { + if (isWaitingForTransitionStart() && mDisplayContent != null) { + mDisplayContent.mOpeningApps.remove(this); + if (mDisplayContent.mChangingApps.remove(this)) { + clearChangeLeash(getPendingTransaction(), true /* cancel */); + } + mDisplayContent.mClosingApps.remove(this); + } + } + private void updateColorTransform() { if (mSurfaceControl != null && mLastAppSaturationInfo != null) { getPendingTransaction().setColorTransform(mSurfaceControl, diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 80848a8f24f06..c3a769b63e5a0 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -2377,6 +2377,9 @@ class DisplayContent extends WindowContainer