Loading res/values/attrs.xml +5 −0 Original line number Diff line number Diff line Loading @@ -113,4 +113,9 @@ <!-- Confirm device credentials screen --> <attr name="confirmDeviceCredentialsSideMargin" format="dimension" /> <attr name="confirmDeviceCredentialsTopMargin" format="dimension" /> <declare-styleable name="DropDownPreference"> <attr name="android:entries" /> <attr name="android:entryValues" /> </declare-styleable> </resources> res/xml/development_prefs.xml +1 −2 Original line number Diff line number Diff line Loading @@ -65,11 +65,10 @@ android:persistent="false" android:title="@string/system_ui_settings" /> <ListPreference <com.android.settings.DropDownPreference 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" /> Loading src/com/android/settings/DevelopmentSettings.java +18 −14 Original line number Diff line number Diff line Loading @@ -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>(); Loading Loading @@ -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) { Loading Loading @@ -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; } Loading src/com/android/settings/DropDownPreference.java +12 −1 Original line number Diff line number Diff line Loading @@ -17,14 +17,15 @@ package com.android.settings; import android.content.Context; import android.content.res.TypedArray; import android.preference.Preference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; import java.util.ArrayList; Loading Loading @@ -69,6 +70,16 @@ public class DropDownPreference extends Preference { return true; } }); // Support XML specification like ListPreferences do. TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DropDownPreference); CharSequence[] entries = a.getTextArray(R.styleable.DropDownPreference_android_entries); CharSequence[] values = a.getTextArray(R.styleable.DropDownPreference_android_entryValues); if (entries != null && values != null) { for (int i= 0; i < entries.length; i++) { addItem(entries[i].toString(), values[i]); } } } public void setDropDownWidth(int dimenResId) { Loading Loading
res/values/attrs.xml +5 −0 Original line number Diff line number Diff line Loading @@ -113,4 +113,9 @@ <!-- Confirm device credentials screen --> <attr name="confirmDeviceCredentialsSideMargin" format="dimension" /> <attr name="confirmDeviceCredentialsTopMargin" format="dimension" /> <declare-styleable name="DropDownPreference"> <attr name="android:entries" /> <attr name="android:entryValues" /> </declare-styleable> </resources>
res/xml/development_prefs.xml +1 −2 Original line number Diff line number Diff line Loading @@ -65,11 +65,10 @@ android:persistent="false" android:title="@string/system_ui_settings" /> <ListPreference <com.android.settings.DropDownPreference 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" /> Loading
src/com/android/settings/DevelopmentSettings.java +18 −14 Original line number Diff line number Diff line Loading @@ -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>(); Loading Loading @@ -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) { Loading Loading @@ -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; } Loading
src/com/android/settings/DropDownPreference.java +12 −1 Original line number Diff line number Diff line Loading @@ -17,14 +17,15 @@ package com.android.settings; import android.content.Context; import android.content.res.TypedArray; import android.preference.Preference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; import java.util.ArrayList; Loading Loading @@ -69,6 +70,16 @@ public class DropDownPreference extends Preference { return true; } }); // Support XML specification like ListPreferences do. TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DropDownPreference); CharSequence[] entries = a.getTextArray(R.styleable.DropDownPreference_android_entries); CharSequence[] values = a.getTextArray(R.styleable.DropDownPreference_android_entryValues); if (entries != null && values != null) { for (int i= 0; i < entries.length; i++) { addItem(entries[i].toString(), values[i]); } } } public void setDropDownWidth(int dimenResId) { Loading