From f2c137464f8550da358f58054e8610c7fc6f6487 Mon Sep 17 00:00:00 2001 From: Mark Renouf Date: Wed, 9 Dec 2020 17:25:28 -0500 Subject: Fixes use of elapsedRealtime vs uptimeMillis This was breaking timeouts in most cases. Test: atest ScrollCaptureTargetResolverTest Bug: 148131831 Change-Id: I212039e6d98c77528346405b1003aa295e96f957 --- core/java/android/view/ScrollCaptureTargetResolver.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'core/java/android/view/ScrollCaptureTargetResolver.java') 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()) { -- cgit v1.2.3