Merge "Don't request sync again for reparented WC" into tm-dev

This commit is contained in:
Chavi Weingarten
2022-05-05 16:10:38 +00:00
committed by Android (Google) Code Review

View File

@@ -3749,8 +3749,16 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
} }
// Otherwise this is the "root" of a synced subtree, so continue on to preparation. // Otherwise this is the "root" of a synced subtree, so continue on to preparation.
} }
// This container's situation has changed so we need to restart its sync. // This container's situation has changed so we need to restart its sync.
mSyncState = SYNC_STATE_NONE; // We cannot reset the sync without a chance of a deadlock since it will request a new
// buffer from the app process. This could cause issues if the app has run out of buffers
// since the previous buffer was already synced and is still held in a transaction.
// Resetting syncState violates the policies outlined in BlastSyncEngine.md so for now
// disable this when shell transitions is disabled.
if (mTransitionController.isShellTransitionsEnabled()) {
mSyncState = SYNC_STATE_NONE;
}
prepareSync(); prepareSync();
} }