summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2017-10-24 21:37:34 +0100
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-10-27 03:08:44 +0000
commit30933d93641ac73d9e29b05ce9346cf3c797be1e (patch)
tree0a735d86e483a463ffdd97cf0b011ab3bc088a5c
parentaf31c741176975c05cd019d747ee21783f0586e1 (diff)
downloadbase-30933d93641ac73d9e29b05ce9346cf3c797be1e.tar.gz
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) (cherry picked from commit af5e11245decf4f999768ddda9ba6804c040b61d)
-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) {