From dee8f900dcc9e102702a8dd87fec448014f52b4c Mon Sep 17 00:00:00 2001 From: spkal01 Date: Wed, 14 Sep 2022 11:14:41 +0700 Subject: [PATCH] Cherish: Settings Customization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hưng Phan --- res/values/cherish_arrays.xml | 18 +++++++++- res/values/cherish_strings.xml | 16 +++++++++ res/xml/cherish_settings_theme.xml | 32 +++++++++++++++++ .../settings/fragments/ThemeSettings.java | 35 +++++++++++++++++-- 4 files changed, 98 insertions(+), 3 deletions(-) diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml index c927823..756fe43 100644 --- a/res/values/cherish_arrays.xml +++ b/res/values/cherish_arrays.xml @@ -232,5 +232,21 @@ 7 5 - + + + + @string/settings_dashboard_style_aosp + @string/settings_dashboard_style_oos11 + @string/settings_dashboard_style_oos12 + @string/settings_dashboard_style_cherish + @string/settings_dashboard_style_cherish_clean + + + + 0 + 1 + 2 + 3 + 4 + diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index f7eb6e2..6d20916 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -475,4 +475,20 @@ Toast app icon Display the app\'s icon corresponding with the toast + + + Settings layout + Aosp + OxygenOS 11 + OxygenOS 12 + Cherish + Cherish Clean + Settings UI interface + Settings Base layout + Use an alternative layout for setting menus + Settings Home layout + Use stock aosp layout for homepage + Settings UserCard + Toggle in order not to show the usercard on main settings page + diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index 69bb6b2..228ffed 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -17,6 +17,38 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/theme_title" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> + + + + + + + + + + + + diff --git a/src/com/cherish/settings/fragments/ThemeSettings.java b/src/com/cherish/settings/fragments/ThemeSettings.java index 44c8b73..f38f410 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -68,6 +68,11 @@ import net.margaritov.preference.colorpicker.ColorPickerPreference; @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) public class ThemeSettings extends DashboardFragment implements OnPreferenceChangeListener { + + private static final String ALT_SETTINGS_LAYOUT = "alt_settings_layout"; + private static final String SETTINGS_DASHBOARD_STYLE = "settings_dashboard_style"; + private static final String USE_STOCK_LAYOUT = "use_stock_layout"; + private static final String DISABLE_USERCARD = "disable_usercard"; public static final String TAG = "ThemeSettings"; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; @@ -76,6 +81,10 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan private IOverlayManager mOverlayService; private UiModeManager mUiModeManager; + private SystemSettingListPreference mSettingsDashBoardStyle; + private SystemSettingSwitchPreference mAltSettingsLayout; + private SystemSettingSwitchPreference mUseStockLayout; + private SystemSettingSwitchPreference mDisableUserCard; @Override protected String getLogTag() { @@ -105,8 +114,17 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan PreferenceScreen prefScreen = getPreferenceScreen(); ContentResolver resolver = getActivity().getContentResolver(); - final Resources res = getResources(); - mContext = getActivity(); + final Resources res = getResources(); + mContext = getActivity(); + + mSettingsDashBoardStyle = (SystemSettingListPreference) findPreference(SETTINGS_DASHBOARD_STYLE); + mSettingsDashBoardStyle.setOnPreferenceChangeListener(this); + mAltSettingsLayout = (SystemSettingSwitchPreference) findPreference(ALT_SETTINGS_LAYOUT); + mAltSettingsLayout.setOnPreferenceChangeListener(this); + mUseStockLayout = (SystemSettingSwitchPreference) findPreference(USE_STOCK_LAYOUT); + mUseStockLayout.setOnPreferenceChangeListener(this); + mDisableUserCard = (SystemSettingSwitchPreference) findPreference(DISABLE_USERCARD); + mDisableUserCard.setOnPreferenceChangeListener(this); } public boolean isAvailable() { @@ -116,6 +134,19 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan @Override public boolean onPreferenceChange(Preference preference, Object objValue) { ContentResolver resolver = getActivity().getContentResolver(); + if (preference == mSettingsDashBoardStyle) { + CherishUtils.showSettingsRestartDialog(getContext()); + return true; + } else if (preference == mAltSettingsLayout) { + CherishUtils.showSettingsRestartDialog(getContext()); + return true; + } else if (preference == mUseStockLayout) { + CherishUtils.showSettingsRestartDialog(getContext()); + return true; + } else if (preference == mDisableUserCard) { + CherishUtils.showSettingsRestartDialog(getContext()); + return true; + } return false; }