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;
}