From 2aa4e12145326c8759f485ce4cc7e9b4bb566331 Mon Sep 17 00:00:00 2001 From: Beverly Date: Mon, 14 May 2018 17:37:25 -0400 Subject: [PATCH] Show mute icon in sound settings page Cherry-picked from pi-dev ag/4057627 - 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 Fixes: 78330194 --- .../RingVolumePreferenceController.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/notification/RingVolumePreferenceController.java b/src/com/android/settings/notification/RingVolumePreferenceController.java index 703e7e3b32c..e7c5f4551a2 100644 --- a/src/com/android/settings/notification/RingVolumePreferenceController.java +++ b/src/com/android/settings/notification/RingVolumePreferenceController.java @@ -47,6 +47,8 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr 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 +96,7 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr @Override public int getMuteIcon() { - return R.drawable.ic_volume_ringer_vibrate; + return mMuteIcon; } private void updateRingerMode() { @@ -104,11 +106,6 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr 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 +119,15 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr 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); + } } }