Cherish: Settings Customization

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
spkal01
2022-05-28 12:19:53 +07:00
committed by Hưng Phan
parent 9dedf283bc
commit ec836d4606
4 changed files with 94 additions and 0 deletions

View File

@@ -633,5 +633,22 @@
<item>0</item> <item>0</item>
<item>1</item> <item>1</item>
</string-array> </string-array>
<!-- Settings dashboard styles-->
<string-array name="settings_dashboard_style_entries" translatable="false">
<item>@string/settings_dashboard_style_aosp</item>
<item>@string/settings_dashboard_style_oos11</item>
<item>@string/settings_dashboard_style_oos12</item>
<item>@string/settings_dashboard_style_cherish</item>
<item>@string/settings_dashboard_style_cherish_clean</item>
</string-array>
<string-array name="settings_dashboard_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources> </resources>

View File

@@ -808,4 +808,19 @@
<!-- Colorful battery icon --> <!-- Colorful battery icon -->
<string name="battery_level_colors_title">Toggle colorful battery icon</string> <string name="battery_level_colors_title">Toggle colorful battery icon</string>
<string name="battery_level_colors_summary">Each battery level drop is color coded</string> <string name="battery_level_colors_summary">Each battery level drop is color coded</string>
<!-- Custom settings dashboard style -->
<string name="settings_dashboard_style_title">Settings layout</string>
<string name="settings_dashboard_style_aosp">Aosp</string>
<string name="settings_dashboard_style_oos11">OxygenOS 11</string>
<string name="settings_dashboard_style_oos12">OxygenOS 12</string>
<string name="settings_dashboard_style_cherish">Cherish</string>
<string name="settings_dashboard_style_cherish_clean">Cherish Clean</string>
<string name="settings_layout_category_title">Settings UI interface</string>
<string name="settings_base_style_title">Settings Base layout</string>
<string name="settings_base_style_summary">Use an alternative layout for setting menus</string>
<string name="settings_home_style_title">Settings Home layout</string>
<string name="settings_home_style_summary">Use stock aosp layout for homepage</string>
<string name="disable_usercard_title">Settings UserCard</string>
<string name="disable_usercard_summary">Toggle in order not to show the usercard on main settings page</string>
</resources> </resources>

View File

@@ -17,6 +17,38 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/theme_title" android:title="@string/theme_title"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<PreferenceCategory
android:key="settings_layout_category"
android:title="@string/settings_layout_category_title">
<com.cherish.settings.preferences.SystemSettingListPreference
android:key="settings_dashboard_style"
android:title="@string/settings_dashboard_style_title"
android:entries="@array/settings_dashboard_style_entries"
android:entryValues="@array/settings_dashboard_style_values"
android:summary="%s"
android:defaultValue="0" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="alt_settings_layout"
android:title="@string/settings_base_style_title"
android:summary="@string/settings_base_style_summary"
android:defaultValue="false" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="use_stock_layout"
android:title="@string/settings_home_style_title"
android:summary="@string/settings_home_style_summary"
android:defaultValue="false" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="disable_usercard"
android:title="@string/disable_usercard_title"
android:summary="@string/disable_usercard_summary"
android:defaultValue="false" />
</PreferenceCategory>
<com.cherish.settings.preferences.SecureSettingSwitchPreference <com.cherish.settings.preferences.SecureSettingSwitchPreference
android:key="system_black_theme" android:key="system_black_theme"

View File

@@ -70,12 +70,20 @@ import net.margaritov.preference.colorpicker.ColorPickerPreference;
public class ThemeSettings extends DashboardFragment implements OnPreferenceChangeListener { public class ThemeSettings extends DashboardFragment implements OnPreferenceChangeListener {
public static final String TAG = "ThemeSettings"; public static final String TAG = "ThemeSettings";
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";
static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff;
static final int DEFAULT = 0xff1a73e8; static final int DEFAULT = 0xff1a73e8;
private Context mContext; private Context mContext;
private IOverlayManager mOverlayService; private IOverlayManager mOverlayService;
private UiModeManager mUiModeManager; private UiModeManager mUiModeManager;
private SystemSettingListPreference mSettingsDashBoardStyle;
private SystemSettingSwitchPreference mAltSettingsLayout;
private SystemSettingSwitchPreference mUseStockLayout;
private SystemSettingSwitchPreference mDisableUserCard;
@Override @Override
protected String getLogTag() { protected String getLogTag() {
@@ -107,6 +115,15 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
ContentResolver resolver = getActivity().getContentResolver(); ContentResolver resolver = getActivity().getContentResolver();
final Resources res = getResources(); final Resources res = getResources();
mContext = getActivity(); 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() { public boolean isAvailable() {
@@ -116,6 +133,19 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
@Override @Override
public boolean onPreferenceChange(Preference preference, Object objValue) { public boolean onPreferenceChange(Preference preference, Object objValue) {
ContentResolver resolver = getActivity().getContentResolver(); 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; return false;
} }