Merge "Use vibrate icon in volume settings when appropriate." into ics-mr0
diff --git a/src/com/android/settings/RingerVolumePreference.java b/src/com/android/settings/RingerVolumePreference.java
index 22c05ca..59605c9 100644
--- a/src/com/android/settings/RingerVolumePreference.java
+++ b/src/com/android/settings/RingerVolumePreference.java
@@ -116,8 +116,14 @@
boolean muted = mAudioManager.isStreamMute(streamType);
if (mCheckBoxes[i] != null) {
- mCheckBoxes[i].setImageResource(
- muted ? SEEKBAR_MUTED_RES_ID[i] : SEEKBAR_UNMUTED_RES_ID[i]);
+ if (streamType == AudioManager.STREAM_RING && muted
+ && mAudioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER)) {
+ mCheckBoxes[i].setImageResource(
+ com.android.internal.R.drawable.ic_audio_ring_notif_vibrate);
+ } else {
+ mCheckBoxes[i].setImageResource(
+ muted ? SEEKBAR_MUTED_RES_ID[i] : SEEKBAR_UNMUTED_RES_ID[i]);
+ }
}
if (mSeekBars[i] != null) {
mSeekBars[i].setEnabled(!muted);
@@ -362,7 +368,11 @@
// Touching any of the mute buttons causes us to get the state from the system and toggle it
switch(mAudioManager.getRingerMode()) {
case AudioManager.RINGER_MODE_NORMAL:
- mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
+ mAudioManager.setRingerMode(
+ (Settings.System.getInt(getContext().getContentResolver(),
+ Settings.System.VIBRATE_IN_SILENT, 1) == 1)
+ ? AudioManager.RINGER_MODE_VIBRATE
+ : AudioManager.RINGER_MODE_SILENT);
break;
case AudioManager.RINGER_MODE_VIBRATE:
case AudioManager.RINGER_MODE_SILENT: