summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorDavid Morgan <dmorgan81@gmail.com>2011-10-25 15:12:29 -0400
committerDavid Morgan <dmorgan81@gmail.com>2011-11-07 15:08:36 -0500
commitf14f66628bb573d6bd8481729e1751ea8489a69d (patch)
tree70cdb7dd5d82b4608913029608e9347944ee2a8b /packages
parent497e8031a48d0ed71835903b836a394ad017c2fc (diff)
downloadframeworks_base-f14f66628bb573d6bd8481729e1751ea8489a69d.zip
frameworks_base-f14f66628bb573d6bd8481729e1751ea8489a69d.tar.gz
frameworks_base-f14f66628bb573d6bd8481729e1751ea8489a69d.tar.bz2
Power widget defaults (brightness and sound)
Default behavior for the new brightness and sound power widgets should be to cycle through all options and treat all of them as selected when first configured. Change-Id: Ie1831a8b7361bcb2dc6e9cc3c6a7d8e69796e6eb
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java42
2 files changed, 33 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java
index 34c41d7..4968d6d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java
@@ -173,16 +173,15 @@ public class BrightnessButton extends PowerButton {
String[] modes = MultiSelectListPreference.parseStoredValue(Settings.System.getString(
resolver, Settings.System.EXPANDED_BRIGHTNESS_MODE));
- if (modes != null) {
+ if (modes == null || modes.length == 0) {
+ mBacklightValues = new int[] {
+ 0, 1, 2, 3, 4, 5
+ };
+ } else {
mBacklightValues = new int[modes.length];
for (int i = 0; i < modes.length; i++) {
mBacklightValues[i] = Integer.valueOf(modes[i]);
}
- } else {
- // If no modes configured default to just MAX_BACKLIGHT
- mBacklightValues = new int[] {
- 5
- };
}
mAutoBrightness = (Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java
index 9f9f7a9..ec69d4d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java
@@ -38,7 +38,7 @@ public class SoundButton extends PowerButton {
private final Ringer mSilentRinger = new Ringer(false, AudioManager.VIBRATE_SETTING_OFF,
AudioManager.RINGER_MODE_SILENT, false);
- private final Ringer mVibrateRinger = new Ringer(true, AudioManager.VIBRATE_SETTING_ON,
+ private final Ringer mVibrateRinger = new Ringer(true, AudioManager.VIBRATE_SETTING_ONLY_SILENT,
AudioManager.RINGER_MODE_VIBRATE, true);
private final Ringer mSoundRinger = new Ringer(true, AudioManager.VIBRATE_SETTING_ONLY_SILENT,
AudioManager.RINGER_MODE_NORMAL, false);
@@ -47,12 +47,12 @@ public class SoundButton extends PowerButton {
private final Ringer[] mRingers = new Ringer[] {
mSilentRinger, mVibrateRinger, mSoundRinger, mSoundVibrateRinger
};
- private int mRingersIndex = 0;
+ private int mRingersIndex = 2;
private int[] mRingerValues = new int[] {
0, 1, 2, 3
};
- private int mRingerValuesIndex = 0;
+ private int mRingerValuesIndex = 2;
private boolean mHapticFeedbackEnabled = false;
@@ -95,6 +95,12 @@ public class SoundButton extends PowerButton {
mState = STATE_ENABLED;
break;
}
+ for (int i = 0; i < mRingerValues.length; i++) {
+ if (mRingersIndex == mRingerValues[i]) {
+ mRingerValuesIndex = i;
+ break;
+ }
+ }
}
@Override
@@ -149,24 +155,18 @@ public class SoundButton extends PowerButton {
String[] modes = MultiSelectListPreference.parseStoredValue(Settings.System.getString(
resolver, Settings.System.EXPANDED_RING_MODE));
- if (modes != null) {
+ if (modes == null || modes.length == 0) {
+ mRingerValues = new int[] {
+ 0, 1, 2, 3
+ };
+ } else {
mRingerValues = new int[modes.length];
for (int i = 0; i < modes.length; i++) {
mRingerValues[i] = Integer.valueOf(modes[i]);
}
- } else {
- mRingerValues = new int[] {
- 2
- };
}
updateState();
- for (int i = 0; i < mRingerValues.length; i++) {
- if (mRingersIndex == mRingerValues[i]) {
- mRingerValuesIndex = i;
- break;
- }
- }
}
private void findCurrentState() {
@@ -175,6 +175,20 @@ public class SoundButton extends PowerButton {
Settings.System.VIBRATE_IN_SILENT, 0) == 1;
int vibrateSetting = mAudioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);
int ringerMode = mAudioManager.getRingerMode();
+ // Sometimes the setting don't quite match up to the states we've defined.
+ // In that case, override the reported settings to get us "close" to the
+ // defined settings. This bit is a little ugly but oh well.
+ if (!vibrateInSilent && ringerMode == AudioManager.RINGER_MODE_SILENT) {
+ vibrateSetting = AudioManager.VIBRATE_SETTING_OFF; // match Silent ringer
+ } else if (!vibrateInSilent && ringerMode == AudioManager.RINGER_MODE_NORMAL) {
+ vibrateInSilent = true; // match either Sound or SoundVibrate ringer
+ if (vibrateSetting == AudioManager.VIBRATE_SETTING_OFF) {
+ vibrateSetting = AudioManager.VIBRATE_SETTING_ONLY_SILENT; // match Sound ringer
+ }
+ } else if (vibrateInSilent && ringerMode == AudioManager.RINGER_MODE_VIBRATE) {
+ vibrateSetting = AudioManager.VIBRATE_SETTING_ONLY_SILENT; // match Vibrate ringer
+ }
+
Ringer ringer = new Ringer(vibrateInSilent, vibrateSetting, ringerMode, false);
for (int i = 0; i < mRingers.length; i++) {
if (mRingers[i].equals(ringer)) {