Merge "Allow canceled draws to get retried for sync" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
de765a95ea
@@ -604,6 +604,8 @@ public final class ViewRootImpl implements ViewParent,
|
||||
*/
|
||||
private boolean mCheckIfCanDraw = false;
|
||||
|
||||
private boolean mDrewOnceForSync = false;
|
||||
|
||||
int mSyncSeqId = 0;
|
||||
int mLastSyncSeqId = 0;
|
||||
|
||||
@@ -2999,6 +3001,9 @@ public final class ViewRootImpl implements ViewParent,
|
||||
reportNextDraw();
|
||||
mSyncBuffer = true;
|
||||
isSyncRequest = true;
|
||||
if (!cancelDraw) {
|
||||
mDrewOnceForSync = false;
|
||||
}
|
||||
}
|
||||
|
||||
final boolean surfaceControlChanged =
|
||||
@@ -3520,9 +3525,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