diff options
author | 2021-03-29 13:33:57 +0000 | |
---|---|---|
committer | 2021-03-29 13:33:57 +0000 | |
commit | 2b5b144ed094ebfd3ee87667d2b6d86ff486d689 (patch) | |
tree | 85839ab646a5cfc86edae7616110c8df73804f31 | |
parent | f076e6843914aeca3c192811ee2226caeaa20b44 (diff) | |
parent | 7010f95cb2abb509a6a6e65b865ad5f4c2ac87c0 (diff) |
Merge "Hdr format settings [Backend]" into sc-dev
6 files changed, 49 insertions, 0 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt index a54bce718237..21771df3c6a3 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -1142,6 +1142,7 @@ package android.hardware.display { public final class DisplayManager { method public boolean areUserDisabledHdrTypesAllowed(); method @RequiresPermission(android.Manifest.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE) public int getRefreshRateSwitchingType(); + method @NonNull public int[] getUserDisabledHdrTypes(); method public boolean isMinimalPostProcessingRequested(int); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAreUserDisabledHdrTypesAllowed(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE) public void setRefreshRateSwitchingType(int); @@ -2597,6 +2598,7 @@ package android.view { } public final class Display { + method @NonNull public int[] getReportedHdrTypes(); method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut(); method public int getType(); method public boolean hasAccess(int); diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index 0dc612f0ea87..216e7b079f6b 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -749,6 +749,17 @@ public final class DisplayManager { } /** + * Returns the HDR formats disabled by the user. + * + * @hide + */ + @TestApi + public @NonNull int[] getUserDisabledHdrTypes() { + return mGlobal.getUserDisabledHdrTypes(); + } + + + /** * Creates a virtual display. * * @see #createVirtualDisplay(String, int, int, int, Surface, int, diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java index da3a76fa043b..cdc219a0c115 100644 --- a/core/java/android/hardware/display/DisplayManagerGlobal.java +++ b/core/java/android/hardware/display/DisplayManagerGlobal.java @@ -551,6 +551,18 @@ public final class DisplayManagerGlobal { } } + /** + * Returns the HDR formats disabled by the user. + * + */ + public int[] getUserDisabledHdrTypes() { + try { + return mDm.getUserDisabledHdrTypes(); + } catch (RemoteException ex) { + throw ex.rethrowFromSystemServer(); + } + } + public void requestColorMode(int displayId, int colorMode) { try { mDm.requestColorMode(displayId, colorMode); diff --git a/core/java/android/hardware/display/IDisplayManager.aidl b/core/java/android/hardware/display/IDisplayManager.aidl index 519b86ef2bcb..5ca4e0cc657c 100644 --- a/core/java/android/hardware/display/IDisplayManager.aidl +++ b/core/java/android/hardware/display/IDisplayManager.aidl @@ -77,6 +77,9 @@ interface IDisplayManager { // No permissions required. boolean areUserDisabledHdrTypesAllowed(); + // No permissions required. + int[] getUserDisabledHdrTypes(); + // Requires CONFIGURE_DISPLAY_COLOR_MODE void requestColorMode(int displayId, int colorMode); diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java index 1e2271abee90..bf152cb6ed22 100644 --- a/core/java/android/view/Display.java +++ b/core/java/android/view/Display.java @@ -1096,6 +1096,22 @@ public final class Display { } /** + * @hide + * Returns the display's HDR supported types. + * + * @see #isHdr() + * @see HdrCapabilities#getSupportedHdrTypes() + */ + @TestApi + @NonNull + public int[] getReportedHdrTypes() { + synchronized (mLock) { + updateDisplayInfoLocked(); + return mDisplayInfo.hdrCapabilities.getSupportedHdrTypes(); + } + } + + /** * Returns whether this display supports any HDR type. * * @see #getHdrCapabilities() diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 4b84ba09043d..9d02576cefb7 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -2478,6 +2478,11 @@ public final class DisplayManagerService extends SystemService { } @Override // Binder call + public int[] getUserDisabledHdrTypes() { + return mUserDisabledHdrTypes; + } + + @Override // Binder call public void requestColorMode(int displayId, int colorMode) { mContext.enforceCallingOrSelfPermission( Manifest.permission.CONFIGURE_DISPLAY_COLOR_MODE, |