From 1b5923e5e5899cac76260253faf81390190a9aa4 Mon Sep 17 00:00:00 2001 From: Zak Cohen Date: Wed, 3 Jun 2020 11:51:08 -0700 Subject: [PATCH] Screenshots - move to new api that uses image bundle. Bug: 157380566 Bug: 156757117 Test: local Change-Id: I5d688abc87a89ae93e2e2f9a0e13410c511cc15e --- .../com/android/quickstep/ImageActionsApi.java | 7 ++++--- .../android/quickstep/TaskOverlayFactory.java | 2 +- .../src/com/android/quickstep/SystemUiProxy.java | 16 ++++++++++++++++ .../android/quickstep/util/ImageActionUtils.java | 7 +++++-- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/ImageActionsApi.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/ImageActionsApi.java index fd17551892..e49c466e80 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/ImageActionsApi.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/ImageActionsApi.java @@ -33,6 +33,7 @@ import androidx.annotation.UiThread; import com.android.launcher3.BuildConfig; import com.android.quickstep.util.ImageActionUtils; +import com.android.systemui.shared.recents.model.Task; import java.util.function.Supplier; @@ -85,11 +86,11 @@ public class ImageActionsApi { * @param screenshotBounds the location of where the bitmap was laid out on the screen in * screen coordinates. * @param visibleInsets that are used to draw the screenshot within the bounds. - * @param taskId of the task that the screenshot was taken of. + * @param task of the task that the screenshot was taken of. */ public void saveScreenshot(Bitmap screenshot, Rect screenshotBounds, - Insets visibleInsets, int taskId) { + Insets visibleInsets, Task.TaskKey task) { ImageActionUtils.saveScreenshot(mSystemUiProxy, screenshot, screenshotBounds, visibleInsets, - taskId); + task); } } diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java index 042c542d87..3cfff7e958 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java @@ -126,7 +126,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride { public void onScreenshot() { if (isAllowedByPolicy) { imageApi.saveScreenshot(mThumbnailView.getThumbnail(), - getTaskSnapshotBounds(), getTaskSnapshotInsets(), task.key.id); + getTaskSnapshotBounds(), getTaskSnapshotInsets(), task.key); } else { showBlockedByPolicyMessage(); } diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 20d133c3c6..cdffb91649 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -344,4 +344,20 @@ public class SystemUiProxy implements ISystemUiProxy { } } } +<<<<<<< HEAD (e557ba Merging from ub-launcher3-rvc-dev @ build 6552182) +======= + + @Override + public void handleImageBundleAsScreenshot(Bundle screenImageBundle, Rect locationInScreen, + Insets visibleInsets, Task.TaskKey task) { + if (mSystemUiProxy != null) { + try { + mSystemUiProxy.handleImageBundleAsScreenshot(screenImageBundle, locationInScreen, + visibleInsets, task); + } catch (RemoteException e) { + Log.w(TAG, "Failed call handleImageBundleAsScreenshot"); + } + } + } +>>>>>>> CHANGE (03e456 Screenshots - move to new api that uses image bundle.) } diff --git a/quickstep/src/com/android/quickstep/util/ImageActionUtils.java b/quickstep/src/com/android/quickstep/util/ImageActionUtils.java index f5fbf281ac..0b48a8bda7 100644 --- a/quickstep/src/com/android/quickstep/util/ImageActionUtils.java +++ b/quickstep/src/com/android/quickstep/util/ImageActionUtils.java @@ -39,6 +39,8 @@ import androidx.core.content.FileProvider; import com.android.launcher3.BuildConfig; import com.android.quickstep.SystemUiProxy; +import com.android.systemui.shared.recents.model.Task; +import com.android.systemui.shared.recents.utilities.BitmapUtil; import java.io.File; import java.io.FileOutputStream; @@ -59,8 +61,9 @@ public class ImageActionUtils { */ public static void saveScreenshot(SystemUiProxy systemUiProxy, Bitmap screenshot, Rect screenshotBounds, - Insets visibleInsets, int taskId) { - systemUiProxy.handleImageAsScreenshot(screenshot, screenshotBounds, visibleInsets, taskId); + Insets visibleInsets, Task.TaskKey task) { + systemUiProxy.handleImageBundleAsScreenshot(BitmapUtil.hardwareBitmapToBundle(screenshot), + screenshotBounds, visibleInsets, task); } /**