Revert "Clear transitions for app windows display change."
This reverts commit 110ed21087.
Reason for revert: CTS failure b/135655256
Bug: 135655256
Bug: 128449959
Change-Id: I9b36d34193e1c9e228be609a7b10457392fd6aa3
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -2377,6 +2377,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
|
||||
+ " to its current displayId=" + mDisplayId);
|
||||
}
|
||||
|
||||
// Clean up all pending transitions when stack reparent to another display.
|
||||
stack.forAllAppWindows(AppWindowToken::removeFromPendingTransition);
|
||||
|
||||
prevDc.mTaskStackContainers.removeChild(stack);
|
||||
mTaskStackContainers.addStackToDisplay(stack, onTop);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user