Banish Theme setting to developer options
Bug: 21320576
Change-Id: I7e3fd7437409ac2dd061a36803e082eada5b30b1
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index a9ca053..a24da21 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" />
+ <ListPreference
+ android:key="night_mode"
+ android:title="@string/night_mode_title"
+ android:summary="@string/night_mode_summary"
+ android:persistent="false"
+ android:entries="@array/night_mode_entries"
+ android:entryValues="@array/night_mode_values" />
+
<PreferenceCategory android:key="debug_debugging_category"
android:title="@string/debug_debugging_category">
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 304a77b..e04d818 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" />
+ <!-- Hide night mode for now
<ListPreference
android:key="night_mode"
android:title="@string/night_mode_title"
@@ -40,7 +41,7 @@
android:summary="@string/night_mode_summary"
android:persistent="false"
android:entries="@array/night_mode_entries"
- android:entryValues="@array/night_mode_values" />
+ android:entryValues="@array/night_mode_values" /> -->
<PreferenceScreen
android:key="wallpaper"
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 1ef1dd9..4e9089d 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -23,6 +23,7 @@
import android.app.AppOpsManager;
import android.app.AppOpsManager.PackageOps;
import android.app.Dialog;
+import android.app.UiModeManager;
import android.app.admin.DevicePolicyManager;
import android.app.backup.IBackupManager;
import android.bluetooth.BluetoothAdapter;
@@ -76,10 +77,8 @@
import com.android.settings.fuelgauge.InactiveApps;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
-import com.android.settings.users.UserDetailsSettings;
import com.android.settings.widget.SwitchBar;
-import java.lang.Process;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@@ -181,6 +180,8 @@
private static final String TERMINAL_APP_PACKAGE = "com.android.terminal";
+ private static final String KEY_NIGHT_MODE = "night_mode";
+
private static final int RESULT_DEBUG_APP = 1000;
private static final int RESULT_MOCK_LOCATION_APP = 1001;
@@ -264,6 +265,8 @@
private SwitchPreference mShowAllANRs;
+ private ListPreference mNightModePreference;
+
private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
private final ArrayList<SwitchPreference> mResetSwitchPrefs
@@ -423,6 +426,13 @@
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 @@
} 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 d9b6447..e0a3489 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -185,11 +185,13 @@
}
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) {