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

Commit d98600dd authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix takeScreenshot for visible background users." into main

parents 5ecbc5f7 14a7334f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ interface IUiAutomationConnection {
    void injectInputEventToInputFilter(in InputEvent event);
    void syncInputTransactions(boolean waitForAnimations);
    boolean setRotation(int rotation);
    boolean takeScreenshot(in Rect crop, in ScreenCaptureListener listener);
    boolean takeScreenshot(in Rect crop, in ScreenCaptureListener listener, int displayId);
    boolean takeSurfaceControlScreenshot(in SurfaceControl surfaceControl, in ScreenCaptureListener listener);
    boolean clearWindowContentFrameStats(int windowId);
    WindowContentFrameStats getWindowContentFrameStats(int windowId);
+1 −1
Original line number Diff line number Diff line
@@ -1274,7 +1274,7 @@ public final class UiAutomation {
                ScreenCapture.createSyncCaptureListener();
        try {
            if (!mUiAutomationConnection.takeScreenshot(
                    new Rect(0, 0, displaySize.x, displaySize.y), syncScreenCapture)) {
                    new Rect(0, 0, displaySize.x, displaySize.y), syncScreenCapture, mDisplayId)) {
                return null;
            }
        } catch (RemoteException re) {
+3 −4
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.app;

import static android.view.Display.DEFAULT_DISPLAY;

import android.accessibilityservice.AccessibilityServiceInfo;
import android.accessibilityservice.IAccessibilityServiceClient;
import android.annotation.NonNull;
@@ -228,7 +226,8 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub {
    }

    @Override
    public boolean takeScreenshot(Rect crop, ScreenCapture.ScreenCaptureListener listener) {
    public boolean takeScreenshot(Rect crop, ScreenCapture.ScreenCaptureListener listener,
            int displayId) {
        synchronized (mLock) {
            throwIfCalledByNotTrustedUidLocked();
            throwIfShutdownLocked();
@@ -240,7 +239,7 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub {
            final CaptureArgs captureArgs = new CaptureArgs.Builder<>()
                    .setSourceCrop(crop)
                    .build();
            mWindowManager.captureDisplay(DEFAULT_DISPLAY, captureArgs, listener);
            mWindowManager.captureDisplay(displayId, captureArgs, listener);
        } catch (RemoteException re) {
            re.rethrowAsRuntimeException();
        } finally {