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;