diff options
author | Steve Pfetsch <spfetsch@google.com> | 2016-01-13 17:07:35 -0800 |
---|---|---|
committer | Steve Pfetsch <spfetsch@google.com> | 2016-01-14 15:19:05 -0800 |
commit | ab5da2d2fe0b02a7cdf5f4d78d24583b2542d213 (patch) | |
tree | 908fa7f360f742e09329861ec0012206013c60b6 /src/com | |
parent | 0c38aca074d0e069eb214abc91eeb024b5121b73 (diff) | |
download | packages_apps_Settings-ab5da2d2fe0b02a7cdf5f4d78d24583b2542d213.zip packages_apps_Settings-ab5da2d2fe0b02a7cdf5f4d78d24583b2542d213.tar.gz packages_apps_Settings-ab5da2d2fe0b02a7cdf5f4d78d24583b2542d213.tar.bz2 |
Enable color temperature developer setting
Add a switch in Developer Settings to enable "cool" color temperature
mode.
Bug: 26110238
Change-Id: Id0ab3283c1ee3208287c8dca11298a4bc367b314
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 8bb99c53..4b86f98 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -116,6 +116,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power"; private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace"; private static final String TUNER_UI_KEY = "tuner_ui"; + private static final String COLOR_TEMPERATURE_PROPERTY = "persist.sys.debug.color_temp"; private static final String DEBUG_APP_KEY = "debug_app"; private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger"; @@ -157,6 +158,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String WIFI_LEGACY_DHCP_CLIENT_KEY = "legacy_dhcp_client"; private static final String MOBILE_DATA_ALWAYS_ON = "mobile_data_always_on"; private static final String KEY_COLOR_MODE = "color_mode"; + private static final String COLOR_TEMPERATURE_KEY = "color_temperature"; private static final String INACTIVE_APPS_KEY = "inactive_apps"; @@ -256,6 +258,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private ColorModePreference mColorModePreference; + private SwitchPreference mColorTemperaturePreference; + private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>(); private final ArrayList<SwitchPreference> mResetSwitchPrefs @@ -421,6 +425,15 @@ public class DevelopmentSettings extends SettingsPreferenceFragment removePreference(KEY_COLOR_MODE); mColorModePreference = null; } + + mColorTemperaturePreference = (SwitchPreference) findPreference(COLOR_TEMPERATURE_KEY); + if (getResources().getBoolean(R.bool.config_enableColorTemperature)) { + mAllPrefs.add(mColorTemperaturePreference); + mResetSwitchPrefs.add(mColorTemperaturePreference); + } else { + removePreference(COLOR_TEMPERATURE_KEY); + mColorTemperaturePreference = null; + } } private ListPreference addListPreference(String prefKey) { @@ -628,6 +641,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateMobileDataAlwaysOnOptions(); updateSimulateColorSpace(); updateUSBAudioOptions(); + if (mColorTemperaturePreference != null) { + updateColorTemperature(); + } } private void resetDangerousOptions() { @@ -1172,6 +1188,17 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } } + private void updateColorTemperature() { + updateSwitchPreference(mColorTemperaturePreference, + SystemProperties.getBoolean(COLOR_TEMPERATURE_PROPERTY, false)); + } + + private void writeColorTemperature() { + SystemProperties.set(COLOR_TEMPERATURE_PROPERTY, + mColorTemperaturePreference.isChecked() ? "1" : "0"); + pokeSystemProperties(); + } + private void updateUSBAudioOptions() { updateSwitchPreference(mUSBAudio, Settings.Secure.getInt(getContentResolver(), Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, 0) != 0); @@ -1705,6 +1732,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment writeLegacyDhcpClientOptions(); } else if (preference == mMobileDataAlwaysOn) { writeMobileDataAlwaysOnOptions(); + } else if (preference == mColorTemperaturePreference) { + writeColorTemperature(); } else if (preference == mUSBAudio) { writeUSBAudioOptions(); } else if (INACTIVE_APPS_KEY.equals(preference.getKey())) { |