Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4ad2ce1 authored by Zak Cohen's avatar Zak Cohen
Browse files

Screenshots - move to new api that uses image bundle.

Bug: 157380566
Bug: 156757117
Test: local
Change-Id: I5d688abc87a89ae93e2e2f9a0e13410c511cc15e
parent fb4fa0c4
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -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();
                    }
+14 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.view.MotionEvent;
import com.android.launcher3.util.MainThreadInitializedObject;
import com.android.systemui.shared.recents.IPinnedStackAnimationListener;
import com.android.systemui.shared.recents.ISystemUiProxy;
import com.android.systemui.shared.recents.model.Task;

/**
 * Holds the reference to SystemUI.
@@ -344,4 +345,17 @@ public class SystemUiProxy implements ISystemUiProxy {
            }
        }
    }

    @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");
            }
        }
    }
}
+5 −2
Original line number Diff line number Diff line
@@ -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);
    }

    /**