Loading core/java/android/preference/MultiSelectListPreference.java +4 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,10 @@ public class MultiSelectListPreference extends ListPreference { } } } } else { for (int i = 0; i < entryValues.length; i++) { mClickedDialogEntryIndices[i] = true; } } } Loading packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java +5 −6 Original line number Diff line number Diff line Loading @@ -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, Loading packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java +28 −14 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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() { Loading @@ -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)) { Loading Loading
core/java/android/preference/MultiSelectListPreference.java +4 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,10 @@ public class MultiSelectListPreference extends ListPreference { } } } } else { for (int i = 0; i < entryValues.length; i++) { mClickedDialogEntryIndices[i] = true; } } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/BrightnessButton.java +5 −6 Original line number Diff line number Diff line Loading @@ -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, Loading
packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/SoundButton.java +28 −14 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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() { Loading @@ -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)) { Loading