diff options
author | Christine Franks <christyfranks@google.com> | 2017-10-30 16:22:37 -0700 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-11-02 04:47:19 +0000 |
commit | f0c423b634db370c4cdceacfb905750f476c8d85 (patch) | |
tree | a562ebb124ee3d82f611f8d87638ce033cbed5fa | |
parent | de00b62099ee500ad010aab3d35022e2fc96d02a (diff) | |
download | base-f0c423b634db370c4cdceacfb905750f476c8d85.tar.gz |
Respect legacy color mode settings
Bug: 68411440
Test: make -j100, verified starting with each of the three options.
Change-Id: I73e701a86733e0f8a5d017949052b16cdf58f398
(cherry picked from commit 17947177b38c0b583ce263b1f66454b84cb5959e)
(cherry picked from commit 8ab97c1e417620b99a2057b7dd6ad59ecc419853)
-rw-r--r-- | core/java/com/android/internal/app/NightDisplayController.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/NightDisplayController.java b/core/java/com/android/internal/app/NightDisplayController.java index d581777ba5bf..e0e15c818a02 100644 --- a/core/java/com/android/internal/app/NightDisplayController.java +++ b/core/java/com/android/internal/app/NightDisplayController.java @@ -25,6 +25,7 @@ import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.Looper; +import android.os.SystemProperties; import android.provider.Settings.Secure; import android.provider.Settings.System; import android.util.Slog; @@ -100,6 +101,12 @@ public final class NightDisplayController { */ public static final int COLOR_MODE_SATURATED = 2; + /** + * See com.android.server.display.DisplayTransformManager. + */ + private static final String PERSISTENT_PROPERTY_SATURATION = "persist.sys.sf.color_saturation"; + private static final String PERSISTENT_PROPERTY_NATIVE_MODE = "persist.sys.sf.native_mode"; + private final Context mContext; private final int mUserId; @@ -334,9 +341,15 @@ public final class NightDisplayController { */ public int getColorMode() { final int colorMode = System.getIntForUser(mContext.getContentResolver(), - System.DISPLAY_COLOR_MODE, COLOR_MODE_BOOSTED, mUserId); + System.DISPLAY_COLOR_MODE, -1, mUserId); if (colorMode < COLOR_MODE_NATURAL || colorMode > COLOR_MODE_SATURATED) { - return COLOR_MODE_BOOSTED; + // There still might be a legacy system property controlling color mode that we need to + // respect. + if ("1".equals(SystemProperties.get(PERSISTENT_PROPERTY_NATIVE_MODE))) { + return COLOR_MODE_SATURATED; + } + return "1.0".equals(SystemProperties.get(PERSISTENT_PROPERTY_SATURATION)) + ? COLOR_MODE_NATURAL : COLOR_MODE_BOOSTED; } return colorMode; } |