summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kriti Dang <kritidang@google.com> 2021-03-29 13:33:57 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-03-29 13:33:57 +0000
commit2b5b144ed094ebfd3ee87667d2b6d86ff486d689 (patch)
tree85839ab646a5cfc86edae7616110c8df73804f31
parentf076e6843914aeca3c192811ee2226caeaa20b44 (diff)
parent7010f95cb2abb509a6a6e65b865ad5f4c2ac87c0 (diff)
Merge "Hdr format settings [Backend]" into sc-dev
-rw-r--r--core/api/test-current.txt2
-rw-r--r--core/java/android/hardware/display/DisplayManager.java11
-rw-r--r--core/java/android/hardware/display/DisplayManagerGlobal.java12
-rw-r--r--core/java/android/hardware/display/IDisplayManager.aidl3
-rw-r--r--core/java/android/view/Display.java16
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java5
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,