Merge "Restores a capture rate limit for long screenshots" into tm-dev am: 82c77bb127

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17988788

Change-Id: Iaa903592d2a012f49f92cdae8a9c1cb691c9d499
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Mark Renouf
2022-04-28 12:11:36 +00:00
committed by Automerger Merge Worker

View File

@@ -76,6 +76,7 @@ public class ScrollCaptureViewSupport<V extends View> implements ScrollCaptureCa
ContentResolver contentResolver = context.getContentResolver();
mPostScrollDelayMillis = Settings.Global.getLong(contentResolver,
SETTING_CAPTURE_DELAY, SETTING_CAPTURE_DELAY_DEFAULT);
Log.d(TAG, "screenshot.scroll_capture_delay = " + mPostScrollDelayMillis);
}
/** Based on ViewRootImpl#updateColorModeIfNeeded */
@@ -271,6 +272,13 @@ public class ScrollCaptureViewSupport<V extends View> implements ScrollCaptureCa
Rect viewCaptureArea = new Rect(scrollResult.availableArea);
viewCaptureArea.offset(0, -scrollResult.scrollDelta);
view.postOnAnimationDelayed(
() -> doCapture(scrollResult, view, viewCaptureArea, onComplete),
mPostScrollDelayMillis);
}
private void doCapture(ScrollResult scrollResult, V view, Rect viewCaptureArea,
Consumer<Rect> onComplete) {
int result = mRenderer.renderView(view, viewCaptureArea);
if (result == HardwareRenderer.SYNC_OK
|| result == HardwareRenderer.SYNC_REDRAW_REQUESTED) {