diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index a9ca0534e0a..a24da212234 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -65,6 +65,14 @@ android:persistent="false" android:title="@string/system_ui_settings" /> + + diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml index 304a77ba89d..e04d8189895 100644 --- a/res/xml/display_settings.xml +++ b/res/xml/display_settings.xml @@ -33,6 +33,7 @@ android:summary="@string/auto_brightness_summary" android:persistent="false" /> + mAllPrefs = new ArrayList(); private final ArrayList mResetSwitchPrefs @@ -423,6 +426,13 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mAllPrefs.add(hdcpChecking); removePreferenceForProduction(hdcpChecking); } + + mNightModePreference = (ListPreference) findPreference(KEY_NIGHT_MODE); + final UiModeManager uiManager = (UiModeManager) getSystemService( + Context.UI_MODE_SERVICE); + final int currentNightMode = uiManager.getNightMode(); + mNightModePreference.setValue(String.valueOf(currentNightMode)); + mNightModePreference.setOnPreferenceChangeListener(this); } private ListPreference addListPreference(String prefKey) { @@ -1798,6 +1808,16 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } else if (preference == mTunerUiPref) { writeTweakUi(newValue); return true; + } else if (preference == mNightModePreference) { + try { + final int value = Integer.parseInt((String) newValue); + final UiModeManager uiManager = (UiModeManager) getSystemService( + Context.UI_MODE_SERVICE); + uiManager.setNightMode(value); + } catch (NumberFormatException e) { + Log.e(TAG, "could not persist night mode setting", e); + } + return true; } return false; } diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index d9b6447a0bc..e0a34897c0e 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -185,11 +185,13 @@ public class DisplaySettings extends SettingsPreferenceFragment implements } mNightModePreference = (ListPreference) findPreference(KEY_NIGHT_MODE); - final UiModeManager uiManager = (UiModeManager) getSystemService( - Context.UI_MODE_SERVICE); - final int currentNightMode = uiManager.getNightMode(); - mNightModePreference.setValue(String.valueOf(currentNightMode)); - mNightModePreference.setOnPreferenceChangeListener(this); + if (mNightModePreference != null) { + final UiModeManager uiManager = (UiModeManager) getSystemService( + Context.UI_MODE_SERVICE); + final int currentNightMode = uiManager.getNightMode(); + mNightModePreference.setValue(String.valueOf(currentNightMode)); + mNightModePreference.setOnPreferenceChangeListener(this); + } } private static boolean allowAllRotations(Context context) {