summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2017-10-24 21:37:34 +0100
committer Chia-I Wu <olv@google.com> 2017-10-26 10:46:40 -0700
commitaf5e11245decf4f999768ddda9ba6804c040b61d (patch)
treed0fdc015b86dfd38eb7a90f54a29ba672bfca7ea
parent25c008d9b16bb705e47c3b7371ef3ef3695e50d2 (diff)
Add color mode setting
The new setting appears on devices that support color management and wide color gamut rendering. The setting allows the user to choose between natural (sRGB), boosted (sRGB + 10% saturation) and saturated (unmanaged colors; colors are remapped to the device's native gamut). This change adds a metric constant for analytics in Settings and uses a persistent system property to know when to suppress color management. Bug: 68159303 Test: manual Merged-In: I83cc972fc3a2290ff106eae0e76a3ee799503813 Change-Id: I83cc972fc3a2290ff106eae0e76a3ee799503813 (cherry picked from commit 62e8c175257d25c64ed19e5ccccd4e3cd987b8ad)
-rw-r--r--proto/src/metrics_constants.proto5
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java3
2 files changed, 7 insertions, 1 deletions
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
index a4849fcd1ca0..c9acdc1b4cc5 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants.proto
@@ -4219,6 +4219,11 @@ message MetricsEvent {
// OS: O DR
TRAMPOLINE_SETTINGS_EVENT = 1033;
+ // OPEN: Settings > Display > Colors
+ // CATEGORY: SETTINGS
+ // OS: O MR (backported for O DR)
+ COLOR_MODE_SETTINGS = 1143;
+
// ---- End O-DR1 Constants, all O-DR1 constants go above this line ----
// Add new aosp constants above this line.
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 765dc23b48a0..3e1c201d13d9 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -7670,7 +7670,8 @@ public class WindowManagerService extends IWindowManager.Stub
}
boolean hasWideColorGamutSupport() {
- return mHasWideColorGamutSupport;
+ return mHasWideColorGamutSupport &&
+ !SystemProperties.getBoolean("persist.sys.sf.native_mode", false);
}
void updateNonSystemOverlayWindowsVisibilityIfNeeded(WindowState win, boolean surfaceShown) {