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) {