From 4b8cd1d4e8a3b67e656e23ca5318ea538ef04bf5 Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Fri, 29 Jul 2022 18:57:08 +0000 Subject: Only set display ready when transfering displays Was doing it when removing window, but that case should be handled already by the transition already. Here it triggers too easily causing premature readiness Bug: 238328090 Test: atest CtsTextTestCases Change-Id: Ie3b4def4940125fcc31d8a7d5583acbe799f5f29 --- services/core/java/com/android/server/wm/WindowContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index d9b25adb8c4c..2749b11ce6a1 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3773,9 +3773,9 @@ class WindowContainer extends ConfigurationContainer< // Check if this is changing displays. If so, mark the old display as "ready" for // transitions. This is to work around the problem where setting readiness against this // container will only set the new display as ready and leave the old display as unready. - if (mSyncState != SYNC_STATE_NONE && oldParent != null - && oldParent.getDisplayContent() != null && (newParent == null - || oldParent.getDisplayContent() != newParent.getDisplayContent())) { + if (mSyncState != SYNC_STATE_NONE && oldParent != null && newParent != null + && oldParent.getDisplayContent() != null && newParent.getDisplayContent() != null + && oldParent.getDisplayContent() != newParent.getDisplayContent()) { mTransitionController.setReady(oldParent.getDisplayContent()); } -- cgit v1.2.3-59-g8ed1b