From 0dd9c5b784ce2bb8edcbe48f5ee625e0bf3dd8da Mon Sep 17 00:00:00 2001 From: SagarMakhar Date: Thu, 4 Nov 2021 14:28:05 +0000 Subject: [PATCH] Cherish: Allow changing monet settings from cherish settings[2/2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: SagarMakhar Signed-off-by: Hưng Phan --- res/values/cherish_strings.xml | 8 ++++ res/xml/cherish_settings_theme.xml | 45 +++++++++++++++++++ .../settings/fragments/ThemeSettings.java | 19 ++++++++ 3 files changed, 72 insertions(+) diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index cb80b37..1b72f56 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -590,4 +590,12 @@ Wi-Fi + + Use custom color + Use custom color for monet engine instead of wallpaper colors + Custom color + White luminance + Use accurate shades + Chroma factor + Use linear lightness diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index 74060dd..d647a2c 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -17,6 +17,51 @@ 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 000e0dc..0a2a156 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -70,12 +70,15 @@ import net.margaritov.preference.colorpicker.ColorPickerPreference; public class ThemeSettings extends DashboardFragment implements OnPreferenceChangeListener { public static final String TAG = "ThemeSettings"; + + private String MONET_ENGINE_COLOR_OVERRIDE = "monet_engine_color_override"; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; static final int DEFAULT = 0xff1a73e8; private Context mContext; private IOverlayManager mOverlayService; private UiModeManager mUiModeManager; + private ColorPickerPreference mMonetColor; @Override protected String getLogTag() { @@ -117,6 +120,13 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan ContentResolver resolver = getActivity().getContentResolver(); final Resources res = getResources(); mContext = getActivity(); + + mMonetColor = (ColorPickerPreference)findPreference(MONET_ENGINE_COLOR_OVERRIDE); + int intColor = Settings.Secure.getInt(resolver, MONET_ENGINE_COLOR_OVERRIDE, Color.WHITE); + String hexColor = String.format("#%08x", (0xffffff & intColor)); + mMonetColor.setNewPreviewColor(intColor); + mMonetColor.setSummary(hexColor); + mMonetColor.setOnPreferenceChangeListener(this); } public boolean isAvailable() { @@ -126,6 +136,15 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan @Override public boolean onPreferenceChange(Preference preference, Object objValue) { ContentResolver resolver = getActivity().getContentResolver(); + if (preference == mMonetColor) { + String hex = ColorPickerPreference.convertToARGB(Integer + .parseInt(String.valueOf(objValue))); + preference.setSummary(hex); + int intHex = ColorPickerPreference.convertToColorInt(hex); + Settings.Secure.putInt(resolver, + MONET_ENGINE_COLOR_OVERRIDE, intHex); + return true; + } return false; }