Merge "Allow canceled draws to get retried for sync" into tm-qpr-dev am: de765a95ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19120050 Change-Id: Iffedae628ade79fc0d1eddbca68cc5fa1138a7e2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -604,6 +604,8 @@ public final class ViewRootImpl implements ViewParent,
|
||||
*/
|
||||
private boolean mCheckIfCanDraw = false;
|
||||
|
||||
private boolean mDrewOnceForSync = false;
|
||||
|
||||
int mSyncSeqId = 0;
|
||||
int mLastSyncSeqId = 0;
|
||||
|
||||
@@ -3001,6 +3003,9 @@ public final class ViewRootImpl implements ViewParent,
|
||||
reportNextDraw();
|
||||
mSyncBuffer = true;
|
||||
isSyncRequest = true;
|
||||
if (!cancelDraw) {
|
||||
mDrewOnceForSync = false;
|
||||
}
|
||||
}
|
||||
|
||||
final boolean surfaceControlChanged =
|
||||
@@ -3522,9 +3527,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) {
|
||||
|
||||
Reference in New Issue
Block a user