diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml
index fe93a21..fe43791 100644
--- a/res/values/cherish_strings.xml
+++ b/res/values/cherish_strings.xml
@@ -708,6 +708,8 @@
Audio graphic equalizer on the navigation bar area, also if bar is hidden
Lockscreen Pulse
Audio graphic equalizer on the lockscreen
+ Ambient Pulse
+ Audio graphic equalizer on the ambient screen
Advanced
Fading blocks mode settings
Sanity level
diff --git a/src/com/cherish/settings/fragments/PulseSettings.java b/src/com/cherish/settings/fragments/PulseSettings.java
index 316a407..11c572a 100644
--- a/src/com/cherish/settings/fragments/PulseSettings.java
+++ b/src/com/cherish/settings/fragments/PulseSettings.java
@@ -50,6 +50,7 @@ public class PulseSettings extends SettingsPreferenceFragment implements
private static final String TAG = PulseSettings.class.getSimpleName();
private static final String NAVBAR_PULSE_ENABLED_KEY = "navbar_pulse_enabled";
private static final String LOCKSCREEN_PULSE_ENABLED_KEY = "lockscreen_pulse_enabled";
+ private static final String AMBIENT_PULSE_ENABLED_KEY = "ambient_pulse_enabled";
private static final String PULSE_SMOOTHING_KEY = "pulse_smoothing_enabled";
private static final String PULSE_COLOR_MODE_KEY = "pulse_color_mode";
private static final String PULSE_COLOR_MODE_CHOOSER_KEY = "pulse_color_user";
@@ -66,6 +67,7 @@ public class PulseSettings extends SettingsPreferenceFragment implements
private SwitchPreference mNavbarPulse;
private SwitchPreference mLockscreenPulse;
+ private SwitchPreference mAmbientPulse;
private SwitchPreference mPulseSmoothing;
private Preference mRenderMode;
private ListPreference mColorModePref;
@@ -97,6 +99,12 @@ public class PulseSettings extends SettingsPreferenceFragment implements
mLockscreenPulse.setChecked(lockscreenPulse);
mLockscreenPulse.setOnPreferenceChangeListener(this);
+ mAmbientPulse = (SwitchPreference) findPreference(AMBIENT_PULSE_ENABLED_KEY);
+ boolean ambientPulse = Settings.Secure.getIntForUser(resolver,
+ Settings.Secure.AMBIENT_PULSE_ENABLED, 1, UserHandle.USER_CURRENT) != 0;
+ mAmbientPulse.setChecked(ambientPulse);
+ mAmbientPulse.setOnPreferenceChangeListener(this);
+
mColorModePref = (ListPreference) findPreference(PULSE_COLOR_MODE_KEY);
mColorPickerPref = (ColorPickerPreference) findPreference(PULSE_COLOR_MODE_CHOOSER_KEY);
mLavaSpeedPref = findPreference(PULSE_COLOR_MODE_LAVA_SPEED_KEY);
@@ -136,6 +144,12 @@ public class PulseSettings extends SettingsPreferenceFragment implements
Settings.Secure.LOCKSCREEN_PULSE_ENABLED, val ? 1 : 0, UserHandle.USER_CURRENT);
updateAllPrefs();
return true;
+ } else if (preference == mAmbientPulse) {
+ boolean val = (Boolean) newValue;
+ Settings.Secure.putIntForUser(resolver,
+ Settings.Secure.AMBIENT_PULSE_ENABLED, val ? 1 : 0, UserHandle.USER_CURRENT);
+ updateAllPrefs();
+ return true;
} else if (preference == mColorModePref) {
updateColorPrefs(Integer.valueOf(String.valueOf(newValue)));
return true;
@@ -153,10 +167,12 @@ public class PulseSettings extends SettingsPreferenceFragment implements
Settings.Secure.NAVBAR_PULSE_ENABLED, 0, UserHandle.USER_CURRENT) != 0;
boolean lockscreenPulse = Settings.Secure.getIntForUser(resolver,
Settings.Secure.LOCKSCREEN_PULSE_ENABLED, 0, UserHandle.USER_CURRENT) != 0;
+ boolean ambientPulse = Settings.Secure.getIntForUser(resolver,
+ Settings.Secure.AMBIENT_PULSE_ENABLED, 0, UserHandle.USER_CURRENT) != 0;
- mPulseSmoothing.setEnabled(navbarPulse || lockscreenPulse);
+ mPulseSmoothing.setEnabled(navbarPulse || lockscreenPulse || ambientPulse);
- mColorModePref.setEnabled(navbarPulse || lockscreenPulse);
+ mColorModePref.setEnabled(navbarPulse || lockscreenPulse || ambientPulse);
if (navbarPulse || lockscreenPulse) {
int colorMode = Settings.Secure.getIntForUser(resolver,
Settings.Secure.PULSE_COLOR_MODE, COLOR_TYPE_ACCENT, UserHandle.USER_CURRENT);
@@ -166,8 +182,8 @@ public class PulseSettings extends SettingsPreferenceFragment implements
mLavaSpeedPref.setEnabled(false);
}
- mRenderMode.setEnabled(navbarPulse || lockscreenPulse);
- if (navbarPulse || lockscreenPulse) {
+ mRenderMode.setEnabled(navbarPulse || lockscreenPulse || ambientPulse);
+ if (navbarPulse || lockscreenPulse || ambientPulse) {
int renderMode = Settings.Secure.getIntForUser(resolver,
Settings.Secure.PULSE_RENDER_STYLE, RENDER_STYLE_SOLID_LINES, UserHandle.USER_CURRENT);
updateRenderCategories(renderMode);