Merge "Mark display ready when it loses active child" into tm-qpr-dev

This commit is contained in:
Evan Rosky
2022-07-08 00:42:45 +00:00
committed by Android (Google) Code Review

View File

@@ -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;