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);
+ }
}
}