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 mCheckIfCanDraw = false;
|
||||||
|
|
||||||
|
private boolean mDrewOnceForSync = false;
|
||||||
|
|
||||||
int mSyncSeqId = 0;
|
int mSyncSeqId = 0;
|
||||||
int mLastSyncSeqId = 0;
|
int mLastSyncSeqId = 0;
|
||||||
|
|
||||||
@@ -3001,6 +3003,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 =
|
||||||
@@ -3522,9 +3527,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