package com.cherish.settings.fragments; import com.android.internal.logging.nano.MetricsProto; 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 androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.SwitchPreference; import com.cherish.settings.preferences.CustomSeekBarPreference; 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.cherish.settings.preferences.SystemSettingEditTextPreference; import java.util.List; import java.util.ArrayList; public class QuickSettings extends SettingsPreferenceFragment implements OnPreferenceChangeListener { private static final String QS_BLUR_ALPHA = "qs_blur_alpha"; private static final String QS_BLUR_INTENSITY = "qs_blur_intensity"; private static final String QUICK_PULLDOWN = "quick_pulldown"; private static final String FOOTER_TEXT_STRING = "footer_text_string"; private ListPreference mQuickPulldown; private CustomSeekBarPreference mQSBlurAlpha; private CustomSeekBarPreference mQSBlurIntensity; private SystemSettingEditTextPreference mFooterString; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.cherish_settings_quicksettings); PreferenceScreen prefScreen = getPreferenceScreen(); ContentResolver resolver = getActivity().getContentResolver(); mQSBlurAlpha = (CustomSeekBarPreference) findPreference(QS_BLUR_ALPHA); int qsBlurAlpha = Settings.System.getInt(getContentResolver(), Settings.System.QS_BLUR_ALPHA, 100); mQSBlurAlpha.setValue(qsBlurAlpha); mQSBlurAlpha.setOnPreferenceChangeListener(this); mQSBlurIntensity = (CustomSeekBarPreference) findPreference(QS_BLUR_INTENSITY); int qsBlurIntensity = Settings.System.getInt(getContentResolver(), Settings.System.QS_BLUR_INTENSITY, 30); mQSBlurIntensity.setValue(qsBlurIntensity); mQSBlurIntensity.setOnPreferenceChangeListener(this); 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); mFooterString = (SystemSettingEditTextPreference) findPreference(FOOTER_TEXT_STRING); mFooterString.setOnPreferenceChangeListener(this); String footerString = Settings.System.getString(getContentResolver(), FOOTER_TEXT_STRING); if (footerString != null && footerString != "") mFooterString.setText(footerString); else { mFooterString.setText("#KeepTheLove"); Settings.System.putString(getActivity().getContentResolver(), Settings.System.FOOTER_TEXT_STRING, "#KeepTheLove"); } } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { ContentResolver resolver = getActivity().getContentResolver(); if (preference == mQSBlurAlpha) { int value = (Integer) newValue; Settings.System.putInt(getContentResolver(), Settings.System.QS_BLUR_ALPHA, value); return true; } else if (preference == mQSBlurIntensity) { int value = (Integer) newValue; Settings.System.putInt(getContentResolver(), Settings.System.QS_BLUR_INTENSITY, value); return true; } else 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 == mFooterString) { String value = (String) newValue; if (value != "" && value != null) Settings.System.putString(getActivity().getContentResolver(), Settings.System.FOOTER_TEXT_STRING, value); else { mFooterString.setText("#KeepTheLove"); Settings.System.putString(getActivity().getContentResolver(), Settings.System.FOOTER_TEXT_STRING, "#KeepTheLove"); } 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)); } } @Override public int getMetricsCategory() { return MetricsProto.MetricsEvent.CHERISH_SETTINGS; } }