DO NOT MERGE Show mute icon in sound settings page

- Show mute icon when ringer is muted
- Show vibrate icon when ringer is on vibrate
- Show ringer icon when ringer is on ring

Test: visual inspection
Change-Id: I662e0d4fd33ac2284378c2f558509c93c907fbe3
Bug: 78330194
diff --git a/src/com/android/settings/notification/RingVolumePreferenceController.java b/src/com/android/settings/notification/RingVolumePreferenceController.java
index e328cd2..53fd385 100644
--- a/src/com/android/settings/notification/RingVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingVolumePreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.NotificationManager;
-import android.arch.lifecycle.LifecycleObserver;
 import android.arch.lifecycle.OnLifecycleEvent;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -47,6 +46,8 @@
     private final RingReceiver mReceiver = new RingReceiver();
     private final H mHandler = new H();
 
+    private int mMuteIcon;
+
     public RingVolumePreferenceController(Context context) {
         this(context, KEY_RING_VOLUME);
     }
@@ -94,7 +95,7 @@
 
     @Override
     public int getMuteIcon() {
-        return R.drawable.ic_volume_ringer_vibrate;
+        return mMuteIcon;
     }
 
     private void updateRingerMode() {
@@ -104,11 +105,6 @@
         updatePreferenceIcon();
     }
 
-    private boolean wasRingerModeVibrate() {
-        return mVibrator != null && mRingerMode == AudioManager.RINGER_MODE_SILENT
-            && mHelper.getLastAudibleStreamVolume(getAudioStream()) == 0;
-    }
-
     private void updateEffectsSuppressor() {
         final ComponentName suppressor = NotificationManager.from(mContext).getEffectsSuppressor();
         if (Objects.equals(suppressor, mSuppressor)) return;
@@ -122,10 +118,15 @@
 
     private void updatePreferenceIcon() {
         if (mPreference != null) {
-            mPreference.showIcon(
-                    mRingerMode == AudioManager.RINGER_MODE_VIBRATE || wasRingerModeVibrate()
-                            ? com.android.internal.R.drawable.ic_audio_ring_notif_vibrate
-                            : com.android.internal.R.drawable.ic_audio_ring_notif);
+            if (mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
+                mMuteIcon = R.drawable.ic_volume_ringer_vibrate;
+                mPreference.showIcon(com.android.internal.R.drawable.ic_audio_ring_notif_vibrate);
+            } else if (mRingerMode == AudioManager.RINGER_MODE_SILENT) {
+                mMuteIcon = R.drawable.ic_volume_ringer_mute;
+                mPreference.showIcon(com.android.internal.R.drawable.ic_audio_ring_notif_mute);
+            } else {
+                mPreference.showIcon(com.android.internal.R.drawable.ic_audio_ring_notif);
+            }
         }
     }