OSDN Git Service

Banish Theme setting to developer options
authorJason Monk <jmonk@google.com>
Thu, 21 May 2015 20:46:24 +0000 (16:46 -0400)
committerJason Monk <jmonk@google.com>
Thu, 21 May 2015 20:46:24 +0000 (16:46 -0400)
Bug: 21320576
Change-Id: I7e3fd7437409ac2dd061a36803e082eada5b30b1

res/xml/development_prefs.xml
res/xml/display_settings.xml
src/com/android/settings/DevelopmentSettings.java
src/com/android/settings/DisplaySettings.java

index a9ca053..a24da21 100644 (file)
         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">
 
index 304a77b..e04d818 100644 (file)
@@ -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"
index 1ef1dd9..4e9089d 100644 (file)
@@ -23,6 +23,7 @@ import android.app.AlertDialog;
 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.internal.logging.MetricsLogger;
 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 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
 
     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 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
 
     private SwitchPreference mShowAllANRs;
 
+    private ListPreference mNightModePreference;
+
     private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
 
     private final ArrayList<SwitchPreference> 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;
     }
index d9b6447..e0a3489 100644 (file)
@@ -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) {