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: