From 87fd619a2abf6e3117eda511dd3084ed7e304730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C6=B0ng=20Phan?= Date: Sun, 25 Jul 2021 01:55:20 +0700 Subject: [PATCH] Cherish:Improve Themes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hưng Phan --- .../settings/fragments/ThemeSettings.java | 69 +++++++++++-------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/src/com/cherish/settings/fragments/ThemeSettings.java b/src/com/cherish/settings/fragments/ThemeSettings.java index 279cb39..4381132 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -43,7 +43,6 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settings.SettingsPreferenceFragment; -import com.android.settings.development.OverlayCategoryPreferenceController; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import java.util.Locale; @@ -56,12 +55,14 @@ import java.util.Objects; import com.android.internal.util.cherish.ThemesUtils; import com.android.internal.util.cherish.CherishUtils; +import com.android.settings.dashboard.DashboardFragment; import com.cherish.settings.preferences.SystemSettingListPreference; import net.margaritov.preference.colorpicker.ColorPickerPreference; @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) -public class ThemeSettings extends SettingsPreferenceFragment implements - OnPreferenceChangeListener { +public class ThemeSettings extends DashboardFragment implements OnPreferenceChangeListener { + + public static final String TAG = "ThemeSettings"; private static final String BRIGHTNESS_SLIDER_STYLE = "brightness_slider_style"; private static final String SYSTEM_SLIDER_STYLE = "system_slider_style"; private static final String UI_STYLE = "ui_style"; @@ -107,13 +108,46 @@ public class ThemeSettings extends SettingsPreferenceFragment implements } } }; + + @Override + protected String getLogTag() { + return TAG; + } + + @Override + protected int getPreferenceScreenResId() { + return R.xml.cherish_settings_theme; + } + + @Override + protected List createPreferenceControllers(Context context) { + return buildPreferenceControllers(context, getSettingsLifecycle(), this); + } + private static List buildPreferenceControllers( + Context context, Lifecycle lifecycle, Fragment fragment) { + + final List controllers = new ArrayList<>(); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.font")); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.adaptive_icon_shape")); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.icon_pack.android")); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.statusbar_height")); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.signal_icon")); + controllers.add(new OverlayCategoryPreferenceController(context, + "android.theme.customization.wifi_icon")); + controllers.add(mFontPickerPreference = new FontPickerPreferenceController(context, lifecycle)); + return controllers; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - addPreferencesFromResource(R.xml.cherish_settings_theme); - PreferenceScreen prefScreen = getPreferenceScreen(); ContentResolver resolver = getActivity().getContentResolver(); @@ -240,31 +274,6 @@ public class ThemeSettings extends SettingsPreferenceFragment implements return true; } - @Override - protected List createPreferenceControllers(Context context) { - return buildPreferenceControllers(context, getSettingsLifecycle(), this); - } - - private static List buildPreferenceControllers( - Context context, Lifecycle lifecycle, Fragment fragment) { - - final List controllers = new ArrayList<>(); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.font")); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.adaptive_icon_shape")); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.icon_pack.android")); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.statusbar_height")); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.signal_icon")); - controllers.add(new OverlayCategoryPreferenceController(context, - "android.theme.customization.wifi_icon")); - controllers.add(mFontPickerPreference = new FontPickerPreferenceController(context, lifecycle)); - return controllers; - } - @Override public boolean onPreferenceChange(Preference preference, Object objValue) { ContentResolver resolver = getActivity().getContentResolver();