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;
}