diff options
| author | Mark Renouf <mrenouf@google.com> | 2020-12-09 17:25:28 -0500 |
|---|---|---|
| committer | Mark Renouf <mrenouf@google.com> | 2020-12-16 02:09:03 -0500 |
| commit | f2c137464f8550da358f58054e8610c7fc6f6487 (patch) | |
| tree | 8ba5aac5a524896577fd4f83205488bb167598a8 /core/java/android/view/ScrollCaptureTargetResolver.java | |
| parent | ade199be34ee3637d5a4f9bc7321eec952d188c9 (diff) | |
Fixes use of elapsedRealtime vs uptimeMillis
This was breaking timeouts in most cases.
Test: atest ScrollCaptureTargetResolverTest
Bug: 148131831
Change-Id: I212039e6d98c77528346405b1003aa295e96f957
Diffstat (limited to 'core/java/android/view/ScrollCaptureTargetResolver.java')
| -rw-r--r-- | core/java/android/view/ScrollCaptureTargetResolver.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/core/java/android/view/ScrollCaptureTargetResolver.java b/core/java/android/view/ScrollCaptureTargetResolver.java index 5106534694a1..e4316bbc9397 100644 --- a/core/java/android/view/ScrollCaptureTargetResolver.java +++ b/core/java/android/view/ScrollCaptureTargetResolver.java @@ -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()) { |
