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

Commit 5a73d7d2 authored by Patrick Williams's avatar Patrick Williams
Browse files

Update ScreenCapture API in response to API council feedback.

Bug: 428924821
Bug: 370855681
Flag: com.android.graphics.surfaceflinger.flags.readback_screenshot
Test: atest CtsWindowManagerDeviceOther:android.server.wm.other.ScreenCaptureTest
Change-Id: I64febff90d2bef8a119d2702527a3fb1d9db2a00
parent 9643b85a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19989,7 +19989,7 @@ package android.window {
  }
  @FlaggedApi("com.android.graphics.surfaceflinger.flags.readback_screenshot") public static final class ScreenCapture.ScreenCaptureParams.Builder {
    ctor public ScreenCapture.ScreenCaptureParams.Builder(@NonNull android.view.Display);
    ctor public ScreenCapture.ScreenCaptureParams.Builder(int);
    method @NonNull public android.window.ScreenCapture.ScreenCaptureParams build();
    method @NonNull public android.window.ScreenCapture.ScreenCaptureParams.Builder setCaptureMode(int);
    method @NonNull public android.window.ScreenCapture.ScreenCaptureParams.Builder setPixelFormat(int);
+8 −3
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.view.Display;
import android.view.IWindowManager;
import android.view.WindowManagerGlobal;

@@ -321,8 +320,8 @@ public class ScreenCapture {
            private boolean mPreserveDisplayColors = false;

            /** Builder constructor. */
            public Builder(@NonNull Display display) {
                mDisplayId = display.getDisplayId();
            public Builder(int displayId) {
                mDisplayId = displayId;
            }

            /**
@@ -568,6 +567,12 @@ public class ScreenCapture {
        }
    }

    /**
     * Returns true if optimized screen capture is enabled on the device.
     *
     * <p>If false, then capture requests with
     * {@link ScreenCaptureParams#CAPTURE_MODE_REQUIRE_OPTIMIZED} will always fail.
     */
    public static boolean isScreenCaptureOptimizationEnabled() {
        return SystemProperties.getBoolean("debug.sf.productionize_readback_screenshot", false);
    }