diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml index a464bd8..e23830a 100644 --- a/res/values/cherish_arrays.xml +++ b/res/values/cherish_arrays.xml @@ -270,11 +270,17 @@ @string/theme_type_light @string/theme_type_pitch_black @string/theme_type_solarized_dark + @string/theme_type_baked_green + @string/theme_type_choco_x + @string/theme_type_du_pitchblack 1 2 3 + 4 + 5 + 6 diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index a6f34ed..bf78da6 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -267,5 +267,8 @@ Light Google dark Solarized dark + Baked Green + Choco X + Pitch black diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index 3d66d93..e85adbb 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -27,7 +27,7 @@ android:key="theme_switch" android:icon="@drawable/ic_system_theme" android:title="@string/theme_type_title" - android:summary="@string/theme_type_summary" + android:summary="%s" android:dialogTitle="@string/theme_type_summary" android:entries="@array/theme_type_titles" android:entryValues="@array/theme_type_values" diff --git a/src/com/cherish/settings/fragments/ThemeSettings.java b/src/com/cherish/settings/fragments/ThemeSettings.java index 1609f02..5a06043 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -5,10 +5,13 @@ import com.android.internal.logging.nano.MetricsProto; import static android.os.UserHandle.USER_SYSTEM; import android.app.UiModeManager; import android.os.Bundle; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.UserHandle; +import android.content.om.IOverlayManager; +import android.os.RemoteException; import android.content.ContentResolver; import android.content.res.Resources; import androidx.preference.ListPreference; @@ -30,7 +33,7 @@ import java.util.ArrayList; import java.util.Objects; import com.android.internal.util.cherish.ThemesUtils; -import com.android.internal.util.cherish.Utils; +import com.android.internal.util.cherish.CherishUtils; public class ThemeSettings extends SettingsPreferenceFragment implements OnPreferenceChangeListener { @@ -38,7 +41,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private static final String PREF_THEME_SWITCH = "theme_switch"; private UiModeManager mUiModeManager; - + private IOverlayManager mOverlayService; private ListPreference mThemeSwitch; @Override @@ -61,12 +64,39 @@ public class ThemeSettings extends SettingsPreferenceFragment implements switch (theme_switch) { case "1": handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_NO, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_NO, ThemesUtils.BAKED_GREEN); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_NO, ThemesUtils.CHOCO_X); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_NO, ThemesUtils.PITCH_BLACK); break; case "2": handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.BAKED_GREEN); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.CHOCO_X); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK); break; case "3": handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.BAKED_GREEN); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.CHOCO_X); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK); + break; + case "4": + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.BAKED_GREEN); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.CHOCO_X); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK); + break; + case "5": + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.BAKED_GREEN); + handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.CHOCO_X); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK); + break; + case "6": + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.SOLARIZED_DARK); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.BAKED_GREEN); + handleBackgrounds(false, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.CHOCO_X); + handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK); break; } try { @@ -82,7 +112,13 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private void setupThemeSwitchPref() { mThemeSwitch = (ListPreference) findPreference(PREF_THEME_SWITCH); mThemeSwitch.setOnPreferenceChangeListener(this); - if (Utils.isThemeEnabled("com.android.theme.solarizeddark.system")) { + if (CherishUtils.isThemeEnabled("com.android.theme.pitchblack.system")) { + mThemeSwitch.setValue("6"); + } else if (CherishUtils.isThemeEnabled("com.android.theme.chocox.system")) { + mThemeSwitch.setValue("5"); + } else if (CherishUtils.isThemeEnabled("com.android.theme.bakedgreen.system")) { + mThemeSwitch.setValue("4"); + } else if (CherishUtils.isThemeEnabled("com.android.theme.solarizeddark.system")) { mThemeSwitch.setValue("3"); } else if (mUiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_YES) { mThemeSwitch.setValue("2"); @@ -111,4 +147,4 @@ public class ThemeSettings extends SettingsPreferenceFragment implements return MetricsProto.MetricsEvent.CHERISH_SETTINGS; } -} +} \ No newline at end of file