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

Commit f2c13746 authored by Mark Renouf's avatar Mark Renouf
Browse files

Fixes use of elapsedRealtime vs uptimeMillis

This was breaking timeouts in most cases.

Test: atest ScrollCaptureTargetResolverTest
Bug: 148131831
Change-Id: I212039e6d98c77528346405b1003aa295e96f957
parent ade199be
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -182,9 +182,8 @@ public class ScrollCaptureTargetResolver {
        }
        mResult = chooseTarget(mResult, target);
        boolean finish = mPendingBoundsRequests == 0
                || SystemClock.elapsedRealtime() >= mDeadlineMillis;
                || SystemClock.uptimeMillis() >= mDeadlineMillis;
        if (finish) {
            System.err.println("We think we're done, or timed out");
            mPendingBoundsRequests = 0;
            mWhenComplete.accept(mResult);
            synchronized (mLock) {
@@ -233,7 +232,7 @@ public class ScrollCaptureTargetResolver {
        for (ScrollCaptureTarget target : mTargets) {
            queryTarget(target);
        }
        mDeadlineMillis = SystemClock.elapsedRealtime() + mTimeLimitMillis;
        mDeadlineMillis = SystemClock.uptimeMillis() + mTimeLimitMillis;
        mHandler.postAtTime(mTimeoutRunnable, mDeadlineMillis);
    }

@@ -275,7 +274,7 @@ public class ScrollCaptureTargetResolver {
        mHandler.removeCallbacks(mTimeoutRunnable);

        boolean doneOrTimedOut = mPendingBoundsRequests == 0
                || SystemClock.elapsedRealtime() >= mDeadlineMillis;
                || SystemClock.uptimeMillis() >= mDeadlineMillis;

        final View containingView = target.getContainingView();
        if (!nullOrEmpty(scrollBounds) && containingView.isAggregatedVisible()) {