diff options
| author | Amith Yamasani <yamasani@google.com> | 2011-10-28 17:02:37 -0700 |
|---|---|---|
| committer | Amith Yamasani <yamasani@google.com> | 2011-10-28 18:40:43 -0700 |
| commit | c696a53d1fe4d61373c5dc64dd057d322da90c8f (patch) | |
| tree | 52999422370ca84ef1fedf1490bd6cfa14c7a96d /core/java/android/view/VolumePanel.java | |
| parent | fe9a2a5471616a3267b30013bce36b13a455c0cd (diff) | |
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.
Bug: 5530217
Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
Diffstat (limited to 'core/java/android/view/VolumePanel.java')
| -rw-r--r-- | core/java/android/view/VolumePanel.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java index 83df8a5b3522..b657204d02fa 100644 --- a/core/java/android/view/VolumePanel.java +++ b/core/java/android/view/VolumePanel.java @@ -352,6 +352,10 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie sc.seekbarView.setProgress(mAudioManager.getLastAudibleStreamVolume(sc.streamType)); final boolean muted = isMuted(sc.streamType); sc.icon.setImageResource(muted ? sc.iconMuteRes : sc.iconRes); + if (sc.streamType == AudioManager.STREAM_RING && muted + && mAudioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER)) { + sc.icon.setImageResource(R.drawable.ic_audio_ring_notif_vibrate); + } sc.seekbarView.setEnabled(!muted); } @@ -695,8 +699,14 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie expand(); } else if (v.getTag() instanceof StreamControl) { StreamControl sc = (StreamControl) v.getTag(); - mAudioManager.setRingerMode(mAudioManager.isSilentMode() - ? AudioManager.RINGER_MODE_NORMAL : AudioManager.RINGER_MODE_SILENT); + boolean vibeInSilent = Settings.System.getInt(mContext.getContentResolver(), + System.VIBRATE_IN_SILENT, 1) == 1; + int newMode = mAudioManager.isSilentMode() + ? AudioManager.RINGER_MODE_NORMAL + : (vibeInSilent + ? AudioManager.RINGER_MODE_VIBRATE + : AudioManager.RINGER_MODE_SILENT); + mAudioManager.setRingerMode(newMode); // Expand the dialog if it hasn't been expanded yet. if (mShowCombinedVolumes && !isExpanded()) expand(); } |
