From 65e00e5ac8114451aace4ca55bf4f739e75e686c Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Mon, 21 Jul 2014 17:45:26 -0700 Subject: [PATCH] Reset color space when development options are disabled BUG: 16306222 Change-Id: I4939a4fba8b0358333f6ff25ff8c405c5679579d --- .../android/settings/DevelopmentSettings.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 0e04298f6ec..c7d945dd85a 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -565,6 +565,10 @@ public class DevelopmentSettings extends SettingsPreferenceFragment writeAnimationScaleOption(0, mWindowAnimationScale, null); writeAnimationScaleOption(1, mTransitionAnimationScale, null); writeAnimationScaleOption(2, mAnimatorDurationScale, null); + // Only poke the color space setting if we control it. + if (usingDevelopmentColorSpace()) { + writeSimulateColorSpace(-1); + } writeOverlayDisplayDevicesOptions(null); writeAppProcessLimitOptions(null); mHaveDebugSettings = false; @@ -966,6 +970,27 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } } + /** + * @return true if the color space preference is currently + * controlled by development settings + */ + private boolean usingDevelopmentColorSpace() { + final ContentResolver cr = getContentResolver(); + final boolean enabled = Settings.Secure.getInt( + cr, Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, 0) != 0; + if (enabled) { + final String mode = Integer.toString(Settings.Secure.getInt( + cr, Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, + AccessibilityManager.DALTONIZER_DISABLED)); + final int index = mSimulateColorSpace.findIndexOfValue(mode); + if (index >= 0) { + // We're using a mode controlled by developer preferences. + return true; + } + } + return false; + } + private void writeSimulateColorSpace(Object value) { final ContentResolver cr = getContentResolver(); final int newMode = Integer.parseInt(value.toString());