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

Commit a42581f5 authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Android (Google) Code Review
Browse files

Merge "Make overrideHdrTypes per display"

parents 8ffc7346 85a1ebf6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1223,6 +1223,7 @@ package android.hardware.display {
    method @Nullable public android.view.Display.Mode getGlobalUserPreferredDisplayMode();
    method @NonNull public int[] getUserDisabledHdrTypes();
    method public boolean isMinimalPostProcessingRequested(int);
    method @RequiresPermission(android.Manifest.permission.ACCESS_SURFACE_FLINGER) public void overrideHdrTypes(int, @NonNull int[]);
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAreUserDisabledHdrTypesAllowed(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE) public void setGlobalUserPreferredDisplayMode(@NonNull android.view.Display.Mode);
    method @RequiresPermission(android.Manifest.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE) public void setRefreshRateSwitchingType(int);
@@ -2885,7 +2886,6 @@ package android.view {
    ctor public SurfaceControl(@NonNull android.view.SurfaceControl, @NonNull String);
    method @NonNull public static android.os.IBinder getInternalDisplayToken();
    method public boolean isSameSurface(@NonNull android.view.SurfaceControl);
    method public static void overrideHdrTypes(@NonNull android.os.IBinder, @NonNull int[]);
  }

  public class SurfaceControlViewHost {
+10 −0
Original line number Diff line number Diff line
@@ -855,6 +855,16 @@ public final class DisplayManager {
        return mGlobal.getUserDisabledHdrTypes();
    }

    /**
     * Overrides HDR modes for a display device.
     *
     * @hide
     */
    @RequiresPermission(Manifest.permission.ACCESS_SURFACE_FLINGER)
    @TestApi
    public void overrideHdrTypes(int displayId, @NonNull int[] modes) {
        mGlobal.overrideHdrTypes(displayId, modes);
    }

    /**
     * Creates a virtual display.
+16 −0
Original line number Diff line number Diff line
@@ -20,9 +20,11 @@ package android.hardware.display;
import static android.hardware.display.DisplayManager.EventsMask;
import static android.view.Display.HdrCapabilities.HdrType;

import android.Manifest;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.app.PropertyInvalidatedCache;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -577,6 +579,20 @@ public final class DisplayManagerGlobal {
        }
    }

    /**
     * Overrides HDR modes for a display device.
     *
     */
    @RequiresPermission(Manifest.permission.ACCESS_SURFACE_FLINGER)
    public void overrideHdrTypes(int displayId, int[] modes) {
        try {
            mDm.overrideHdrTypes(displayId, modes);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }


    public void requestColorMode(int displayId, int colorMode) {
        try {
            mDm.requestColorMode(displayId, colorMode);
+3 −0
Original line number Diff line number Diff line
@@ -83,6 +83,9 @@ interface IDisplayManager {
    // No permissions required.
    int[] getUserDisabledHdrTypes();

    // Requires ACCESS_SURFACE_FLINGER permission.
    void overrideHdrTypes(int displayId, in int[] modes);

    // Requires CONFIGURE_DISPLAY_COLOR_MODE
    void requestColorMode(int displayId, int colorMode);

+0 −14
Original line number Diff line number Diff line
@@ -225,8 +225,6 @@ public final class SurfaceControl implements Parcelable {
    private static native void nativeSetDimmingEnabled(long transactionObj, long nativeObject,
            boolean dimmingEnabled);

    private static native void nativeOverrideHdrTypes(IBinder displayToken, int[] modes);

    private static native void nativeSetInputWindowInfo(long transactionObj, long nativeObject,
            InputWindowHandle handle);

@@ -2037,18 +2035,6 @@ public final class SurfaceControl implements Parcelable {
                IVirtualDisplayCallback.Stub.asInterface(displayToken));
    }

    /**
     * Overrides HDR modes for a display device.
     *
     * If the caller does not have ACCESS_SURFACE_FLINGER permission, this will throw a Security
     * Exception.
     * @hide
     */
    @TestApi
    public static void overrideHdrTypes(@NonNull IBinder displayToken, @NonNull int[] modes) {
        nativeOverrideHdrTypes(displayToken, modes);
    }

    /**
     * @hide
     */
Loading