diff options
| author | 2022-07-08 01:02:26 +0000 | |
|---|---|---|
| committer | 2022-07-08 01:02:26 +0000 | |
| commit | e2c709c120e56c70eaab06f1a5361ad5ff39f34a (patch) | |
| tree | d9e0bbd7563c4aff2cfcd7391758c5fe5c47ae3f | |
| parent | 416d479225d26a98bd4e65a3cbd93691aba66c96 (diff) | |
| parent | d4dc599bf4d806280ac5576a71d22afd548169bf (diff) | |
Merge "Mark display ready when it loses active child" into tm-qpr-dev am: d4dc599bf4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19121777
Change-Id: I6a933e4e18211ff05a455f72091a89b064d1bddb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowContainer.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 91afa04555ab..19b3384ee404 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3760,6 +3760,15 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< * hierarchy change implies a configuration change. */ private void onSyncReparent(WindowContainer oldParent, WindowContainer newParent) { + // 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())) { + mTransitionController.setReady(oldParent.getDisplayContent()); + } + if (newParent == null || newParent.mSyncState == SYNC_STATE_NONE) { if (mSyncState == SYNC_STATE_NONE) { return; |