Merge "Allow canceled draws to get retried for sync" into tm-qpr-dev am: de765a95ea am: caff4c4c32

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

Change-Id: I00d0753048ce9352fa5e04c41ae7d3ef0143fab9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chavi Weingarten
2022-07-01 13:46:04 +00:00
committed by Automerger Merge Worker

View File

@@ -604,6 +604,8 @@ public final class ViewRootImpl implements ViewParent,
*/
private boolean mCheckIfCanDraw = false;
private boolean mDrewOnceForSync = false;
int mSyncSeqId = 0;
int mLastSyncSeqId = 0;
@@ -3003,6 +3005,9 @@ public final class ViewRootImpl implements ViewParent,
reportNextDraw();
mSyncBuffer = true;
isSyncRequest = true;
if (!cancelDraw) {
mDrewOnceForSync = false;
}
}
final boolean surfaceControlChanged =
@@ -3524,9 +3529,11 @@ public final class ViewRootImpl implements ViewParent,
mCheckIfCanDraw = isSyncRequest || cancelDraw;
boolean cancelAndRedraw = mAttachInfo.mTreeObserver.dispatchOnPreDraw() || cancelDraw;
boolean cancelAndRedraw =
mAttachInfo.mTreeObserver.dispatchOnPreDraw() || (cancelDraw && mDrewOnceForSync);
if (!cancelAndRedraw) {
createSyncIfNeeded();
mDrewOnceForSync = true;
}
if (!isViewVisible) {