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 mCheckIfCanDraw = false;
|
||||||
|
|
||||||
|
private boolean mDrewOnceForSync = false;
|
||||||
|
|
||||||
int mSyncSeqId = 0;
|
int mSyncSeqId = 0;
|
||||||
int mLastSyncSeqId = 0;
|
int mLastSyncSeqId = 0;
|
||||||
|
|
||||||
@@ -2999,6 +3001,9 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
reportNextDraw();
|
reportNextDraw();
|
||||||
mSyncBuffer = true;
|
mSyncBuffer = true;
|
||||||
isSyncRequest = true;
|
isSyncRequest = true;
|
||||||
|
if (!cancelDraw) {
|
||||||
|
mDrewOnceForSync = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean surfaceControlChanged =
|
final boolean surfaceControlChanged =
|
||||||
@@ -3520,9 +3525,11 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
|
|
||||||
mCheckIfCanDraw = isSyncRequest || cancelDraw;
|
mCheckIfCanDraw = isSyncRequest || cancelDraw;
|
||||||
|
|
||||||
boolean cancelAndRedraw = mAttachInfo.mTreeObserver.dispatchOnPreDraw() || cancelDraw;
|
boolean cancelAndRedraw =
|
||||||
|
mAttachInfo.mTreeObserver.dispatchOnPreDraw() || (cancelDraw && mDrewOnceForSync);
|
||||||
if (!cancelAndRedraw) {
|
if (!cancelAndRedraw) {
|
||||||
createSyncIfNeeded();
|
createSyncIfNeeded();
|
||||||
|
mDrewOnceForSync = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isViewVisible) {
|
if (!isViewVisible) {
|
||||||
|
|||||||
Reference in New Issue
Block a user