diff options
author | Jason Monk <jmonk@google.com> | 2015-06-01 15:12:22 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-06-01 15:49:17 -0400 |
commit | 3d95908e0292c4121d1e127968a2ed2efb484d4a (patch) | |
tree | 53123e960da7e19ccad8694268d407d7401ee2c8 /src/com/android/settings/DevelopmentSettings.java | |
parent | b777c6e20541a01f4219e1020445d091fbfe3217 (diff) | |
download | packages_apps_Settings-3d95908e0292c4121d1e127968a2ed2efb484d4a.zip packages_apps_Settings-3d95908e0292c4121d1e127968a2ed2efb484d4a.tar.gz packages_apps_Settings-3d95908e0292c4121d1e127968a2ed2efb484d4a.tar.bz2 |
Make Theme a DropDownPreference
Also make DropDownPreference support xml lists defined the same
way as ListPreferences.
Bug: 21300431
Change-Id: I1698e8ddcd6134034c3367a6afe36f9740e9efec
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 4e9089d..0c527fa 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -265,7 +265,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private SwitchPreference mShowAllANRs; - private ListPreference mNightModePreference; + private DropDownPreference mNightModePreference; private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>(); @@ -427,12 +427,26 @@ public class DevelopmentSettings extends SettingsPreferenceFragment removePreferenceForProduction(hdcpChecking); } - mNightModePreference = (ListPreference) findPreference(KEY_NIGHT_MODE); + mNightModePreference = (DropDownPreference) 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); + mNightModePreference.setSelectedValue(String.valueOf(currentNightMode)); + mNightModePreference.setCallback(new DropDownPreference.Callback() { + @Override + public boolean onItemSelected(int pos, Object newValue) { + try { + final int value = Integer.parseInt((String) newValue); + final UiModeManager uiManager = (UiModeManager) getSystemService( + Context.UI_MODE_SERVICE); + uiManager.setNightMode(value); + return true; + } catch (NumberFormatException e) { + Log.e(TAG, "could not persist night mode setting", e); + return false; + } + } + }); } private ListPreference addListPreference(String prefKey) { @@ -1808,16 +1822,6 @@ 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; } |