diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml index 25e71c1..23693f2 100644 --- a/res/values/cherish_arrays.xml +++ b/res/values/cherish_arrays.xml @@ -12,4 +12,19 @@ limitations under the License. --> + + + + @string/quick_pulldown_none + @string/quick_pulldown_right + @string/quick_pulldown_left + @string/quick_pulldown_always + + + + 0 + 1 + 2 + 3 + diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 643d0c8..3d2008d 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -157,5 +157,11 @@ Medium battery Almost full battery Full (100) battery + + Quick QS pulldown + Disabled + Pulldown status bar from right side + Pulldown status bar from left side + Always show quick settings on status bar pull down diff --git a/res/xml/cherish_settings_quicksettings.xml b/res/xml/cherish_settings_quicksettings.xml index d7b9207..64312a9 100644 --- a/res/xml/cherish_settings_quicksettings.xml +++ b/res/xml/cherish_settings_quicksettings.xml @@ -20,6 +20,13 @@ + + diff --git a/src/com/cherish/settings/fragments/QuickSettings.java b/src/com/cherish/settings/fragments/QuickSettings.java index 2d842d1..1818618 100644 --- a/src/com/cherish/settings/fragments/QuickSettings.java +++ b/src/com/cherish/settings/fragments/QuickSettings.java @@ -36,22 +36,44 @@ import java.util.ArrayList; @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) public class QuickSettings extends SettingsPreferenceFragment implements OnPreferenceChangeListener { + + private ListPreference mQuickPulldown; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.cherish_settings_quicksettings); - PreferenceScreen prefScreen = getPreferenceScreen(); - ContentResolver resolver = getActivity().getContentResolver(); + final Context mContext = getActivity().getApplicationContext(); + final ContentResolver resolver = mContext.getContentResolver(); + final PreferenceScreen prefSet = getPreferenceScreen(); + + int qpmode = Settings.System.getIntForUser(getContentResolver(), + Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, 0, UserHandle.USER_CURRENT); + mQuickPulldown = (ListPreference) findPreference("status_bar_quick_qs_pulldown"); + mQuickPulldown.setValue(String.valueOf(qpmode)); + mQuickPulldown.setSummary(mQuickPulldown.getEntry()); + mQuickPulldown.setOnPreferenceChangeListener(this); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { ContentResolver resolver = getActivity().getContentResolver(); + if (preference == mQuickPulldown) { + int value = Integer.parseInt((String) newValue); + Settings.System.putIntForUser(resolver, + Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, value, + UserHandle.USER_CURRENT); + int index = mQuickPulldown.findIndexOfValue((String) newValue); + mQuickPulldown.setSummary( + mQuickPulldown.getEntries()[index]); + return true; + } return false; } + @Override public int getMetricsCategory() { return MetricsProto.MetricsEvent.CHERISH_SETTINGS;