Merge "Don't request sync again for reparented WC" into tm-dev am: 7b0ceb4ff1 am: 7481dcbbab

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18148567

Change-Id: I149724081dfd50ae8d4a65ec01951772d0a7c9a4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chavi Weingarten
2022-05-06 15:43:00 +00:00
committed by Automerger Merge Worker

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.
}
// 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();
}