diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml index 7280386..736c8b7 100644 --- a/res/values/cherish_arrays.xml +++ b/res/values/cherish_arrays.xml @@ -1049,4 +1049,40 @@ 2 3 + + + + @string/brightness_slider_style_default + @string/brightness_slider_style_daniel + @string/brightness_slider_style_mememini + @string/brightness_slider_style_memeround + @string/brightness_slider_style_memeroundstroke + @string/brightness_slider_style_memestroke + + + + 0 + 1 + 2 + 3 + 4 + 5 + + + + + @string/ui_style_default + @string/ui_style_no_corner_radius + @string/ui_style_rectangle + @string/ui_style_round_large + @string/ui_style_round_medium + + + + 0 + 1 + 2 + 3 + 4 + diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 867ba8c..693662b 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -993,4 +993,21 @@ Carrier label color Carrier label size Carrier Label Font + + + Brightness slider style + Default + Daniel + Meme mini + Meme round + Meme round stroke + Meme stroke + + + UI Style + Default + No Corner Radius + Rectangle + Round Large + Round Medium diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index a9d27b9..5840927 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -47,6 +47,22 @@ android:entries="@array/theme_type_titles" android:entryValues="@array/theme_type_values" android:defaultValue="1"/> + + + + 0) { + handleOverlays(ThemesUtils.UI_THEMES[valueIndex], + true, mOverlayService); + } + return true; + } + return false; + } + }); + + mBrightnessSliderStyle = (ListPreference) findPreference(BRIGHTNESS_SLIDER_STYLE); + int BrightnessSliderStyle = Settings.System.getInt(getActivity().getContentResolver(), + Settings.System.BRIGHTNESS_SLIDER_STYLE, 0); + int BrightnessSliderStyleValue = getOverlayPosition(ThemesUtils.BRIGHTNESS_SLIDER_THEMES); + if (BrightnessSliderStyleValue != 0) { + mBrightnessSliderStyle.setValue(String.valueOf(BrightnessSliderStyle)); + } + mBrightnessSliderStyle.setSummary(mBrightnessSliderStyle.getEntry()); + mBrightnessSliderStyle.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + if (preference == mBrightnessSliderStyle) { + String value = (String) newValue; + Settings.System.putInt(getActivity().getContentResolver(), Settings.System.BRIGHTNESS_SLIDER_STYLE, Integer.valueOf(value)); + int valueIndex = mBrightnessSliderStyle.findIndexOfValue(value); + mBrightnessSliderStyle.setSummary(mBrightnessSliderStyle.getEntries()[valueIndex]); + String overlayName = getOverlayName(ThemesUtils.BRIGHTNESS_SLIDER_THEMES); + if (overlayName != null) { + handleOverlays(overlayName, false, mOverlayService); + } + if (valueIndex > 0) { + handleOverlays(ThemesUtils.BRIGHTNESS_SLIDER_THEMES[valueIndex], + true, mOverlayService); + } + return true; + } + return false; + } + }); + mUiModeManager = getContext().getSystemService(UiModeManager.class); mOverlayService = IOverlayManager.Stub @@ -264,6 +328,28 @@ public class ThemeSettings extends SettingsPreferenceFragment implements } } + private String getOverlayName(String[] overlays) { + String overlayName = null; + for (int i = 0; i < overlays.length; i++) { + String overlay = overlays[i]; + if (CherishUtils.isThemeEnabled(overlay)) { + overlayName = overlay; + } + } + return overlayName; + } + +private int getOverlayPosition(String[] overlays) { + int position = -1; + for (int i = 0; i < overlays.length; i++) { + String overlay = overlays[i]; + if (CherishUtils.isThemeEnabled(overlay)) { + position = i; + } + } + return position; + } + @Override public int getMetricsCategory() { return MetricsProto.MetricsEvent.CHERISH_SETTINGS;