diff options
| author | 2022-04-28 11:46:50 +0000 | |
|---|---|---|
| committer | 2022-04-28 11:46:50 +0000 | |
| commit | 82c77bb127fcc03a337b9e3af3af1ee2198cd9e4 (patch) | |
| tree | 2ed8e443ff3ed709b687c9c4dbd65b634b87970f | |
| parent | 98595fec858df6702072a0a0cd6ce36ce1964201 (diff) | |
| parent | e8f1a8c55939f5d2eb239f6d8aa1f928d7e4797d (diff) | |
Merge "Restores a capture rate limit for long screenshots" into tm-dev
| -rw-r--r-- | core/java/com/android/internal/view/ScrollCaptureViewSupport.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/com/android/internal/view/ScrollCaptureViewSupport.java b/core/java/com/android/internal/view/ScrollCaptureViewSupport.java index 94a8ae5a8a67..f2c27a494fc9 100644 --- a/core/java/com/android/internal/view/ScrollCaptureViewSupport.java +++ b/core/java/com/android/internal/view/ScrollCaptureViewSupport.java @@ -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) { |