package com.nitrogen.settings.fragments; import com.android.internal.logging.MetricsProto.MetricsEvent; import android.os.Bundle; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.UserHandle; import android.content.ContentResolver; import android.content.res.Resources; import android.support.v7.preference.ListPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v14.preference.SwitchPreference; import android.provider.Settings; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import java.util.Locale; import android.text.TextUtils; import android.view.View; import com.nitrogen.settings.preferences.CustomSeekBarPreference; import java.util.List; import java.util.ArrayList; public class QuickSettings extends SettingsPreferenceFragment implements OnPreferenceChangeListener { private static final String QUICK_PULLDOWN = "quick_pulldown"; private static final String PREF_SMART_PULLDOWN = "smart_pulldown"; private static final String KEY_SYSUI_QQS_COUNT = "sysui_qqs_count_key"; private ListPreference mQuickPulldown; private ListPreference mSmartPulldown; private CustomSeekBarPreference mSysuiQqsCount; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.nitrogen_settings_quicksettings); PreferenceScreen prefScreen = getPreferenceScreen(); ContentResolver resolver = getActivity().getContentResolver(); mQuickPulldown = (ListPreference) findPreference(QUICK_PULLDOWN); mQuickPulldown.setOnPreferenceChangeListener(this); int quickPulldownValue = Settings.System.getIntForUser(resolver, Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, 0, UserHandle.USER_CURRENT); mQuickPulldown.setValue(String.valueOf(quickPulldownValue)); updatePulldownSummary(quickPulldownValue); mSmartPulldown = (ListPreference) findPreference(PREF_SMART_PULLDOWN); mSmartPulldown.setOnPreferenceChangeListener(this); int smartPulldown = Settings.System.getInt(resolver, Settings.System.QS_SMART_PULLDOWN, 0); mSmartPulldown.setValue(String.valueOf(smartPulldown)); updateSmartPulldownSummary(smartPulldown); mSysuiQqsCount = (CustomSeekBarPreference) findPreference(KEY_SYSUI_QQS_COUNT); int SysuiQqsCount = Settings.Secure.getInt(getContentResolver(), Settings.Secure.QQS_COUNT, 6); mSysuiQqsCount.setValue(SysuiQqsCount / 1); mSysuiQqsCount.setOnPreferenceChangeListener(this); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { ContentResolver resolver = getActivity().getContentResolver(); if (preference == mQuickPulldown) { int quickPulldownValue = Integer.valueOf((String) newValue); Settings.System.putIntForUser(resolver, Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, quickPulldownValue, UserHandle.USER_CURRENT); updatePulldownSummary(quickPulldownValue); return true; } else if (preference == mSmartPulldown) { int smartPulldown = Integer.valueOf((String) newValue); Settings.System.putInt(resolver, Settings.System.QS_SMART_PULLDOWN, smartPulldown); updateSmartPulldownSummary(smartPulldown); return true; } else if (preference == mSysuiQqsCount) { int SysuiQqsCount = (Integer) newValue; Settings.Secure.putInt(getActivity().getContentResolver(), Settings.Secure.QQS_COUNT, SysuiQqsCount * 1); return true; } return false; } private void updatePulldownSummary(int value) { Resources res = getResources(); if (value == 0) { // quick pulldown deactivated mQuickPulldown.setSummary(res.getString(R.string.quick_pulldown_off)); } else if (value == 3) { // quick pulldown always mQuickPulldown.setSummary(res.getString(R.string.quick_pulldown_summary_always)); } else { String direction = res.getString(value == 2 ? R.string.quick_pulldown_left : R.string.quick_pulldown_right); mQuickPulldown.setSummary(res.getString(R.string.quick_pulldown_summary, direction)); } } private void updateSmartPulldownSummary(int value) { Resources res = getResources(); if (value == 0) { // Smart pulldown deactivated mSmartPulldown.setSummary(res.getString(R.string.smart_pulldown_off)); } else if (value == 3) { mSmartPulldown.setSummary(res.getString(R.string.smart_pulldown_none_summary)); } else { String type = res.getString(value == 1 ? R.string.smart_pulldown_dismissable : R.string.smart_pulldown_ongoing); mSmartPulldown.setSummary(res.getString(R.string.smart_pulldown_summary, type)); } } @Override protected int getMetricsCategory() { return MetricsEvent.NITROGEN_SETTINGS; } }