diff options
author | 2023-06-13 18:48:37 +0000 | |
---|---|---|
committer | 2023-06-13 18:48:37 +0000 | |
commit | 0c025b7292300fd246bcf6cef527eef3599d403d (patch) | |
tree | 750bf8a7a55894f19c1e91a7ce493d2afea603c2 /packages/Shell/src | |
parent | b5cfb08746e733f8db2a20da0efa4b509356c4dc (diff) | |
parent | 3a64e30fd075f130888ef5307c86e474b5fbb388 (diff) |
Merge "ScreenCaptureListenerWrapper - hold weak ref" into udc-dev am: f6a5990dd1 am: 3a64e30fd0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23590700
Change-Id: Ieb21483dfa57ef41f704d22b041b4278ad5fda58
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'packages/Shell/src')
-rw-r--r-- | packages/Shell/src/com/android/shell/Screenshooter.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/packages/Shell/src/com/android/shell/Screenshooter.java b/packages/Shell/src/com/android/shell/Screenshooter.java index baaddf53bcab..8a5b7daab7e0 100644 --- a/packages/Shell/src/com/android/shell/Screenshooter.java +++ b/packages/Shell/src/com/android/shell/Screenshooter.java @@ -21,12 +21,10 @@ import static android.view.Display.DEFAULT_DISPLAY; import android.graphics.Bitmap; import android.os.RemoteException; import android.util.Log; -import android.util.Pair; import android.view.WindowManagerGlobal; import android.window.ScreenCapture; -import android.window.ScreenCapture.ScreenCaptureListener; import android.window.ScreenCapture.ScreenshotHardwareBuffer; -import android.window.ScreenCapture.ScreenshotSync; +import android.window.ScreenCapture.SynchronousScreenCaptureListener; /** * Helper class used to take screenshots. @@ -46,15 +44,15 @@ final class Screenshooter { static Bitmap takeScreenshot() { Log.d(TAG, "Taking fullscreen screenshot"); // Take the screenshot - final Pair<ScreenCaptureListener, ScreenshotSync> syncScreenCapture = + final SynchronousScreenCaptureListener syncScreenCapture = ScreenCapture.createSyncCaptureListener(); try { WindowManagerGlobal.getWindowManagerService().captureDisplay(DEFAULT_DISPLAY, null, - syncScreenCapture.first); + syncScreenCapture); } catch (RemoteException e) { e.rethrowAsRuntimeException(); } - final ScreenshotHardwareBuffer screenshotBuffer = syncScreenCapture.second.get(); + final ScreenshotHardwareBuffer screenshotBuffer = syncScreenCapture.getBuffer(); final Bitmap screenShot = screenshotBuffer == null ? null : screenshotBuffer.asBitmap(); if (screenShot == null) { Log.e(TAG, "Failed to take fullscreen screenshot"); |