Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dfcb94d authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Automerger Merge Worker
Browse files

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

parents f2c5ecb1 caff4c4c
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -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;


@@ -3003,6 +3005,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 =
@@ -3524,9 +3529,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) {