diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java index ed7ab6cf9f371..7b110a0ec01ff 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java @@ -107,7 +107,8 @@ public class PhoneStatusBarPolicy private final String mSlotBluetooth; private final String mSlotTty; private final String mSlotZen; - private final String mSlotVolume; + private final String mSlotMute; + private final String mSlotVibrate; private final String mSlotAlarmClock; private final String mSlotManagedProfile; private final String mSlotRotate; @@ -149,7 +150,8 @@ public class PhoneStatusBarPolicy private final PrivacyLogger mPrivacyLogger; private boolean mZenVisible; - private boolean mVolumeVisible; + private boolean mVibrateVisible; + private boolean mMuteVisible; private boolean mCurrentUserSetup; private boolean mManagedProfileIconVisible = false; @@ -207,7 +209,8 @@ public class PhoneStatusBarPolicy mSlotBluetooth = resources.getString(com.android.internal.R.string.status_bar_bluetooth); mSlotTty = resources.getString(com.android.internal.R.string.status_bar_tty); mSlotZen = resources.getString(com.android.internal.R.string.status_bar_zen); - mSlotVolume = resources.getString(com.android.internal.R.string.status_bar_volume); + mSlotMute = resources.getString(com.android.internal.R.string.status_bar_mute); + mSlotVibrate = resources.getString(com.android.internal.R.string.status_bar_volume); mSlotAlarmClock = resources.getString(com.android.internal.R.string.status_bar_alarm_clock); mSlotManagedProfile = resources.getString( com.android.internal.R.string.status_bar_managed_profile); @@ -264,9 +267,14 @@ public class PhoneStatusBarPolicy mIconController.setIcon(mSlotZen, R.drawable.stat_sys_dnd, null); mIconController.setIconVisibility(mSlotZen, false); - // volume - mIconController.setIcon(mSlotVolume, R.drawable.stat_sys_ringer_vibrate, null); - mIconController.setIconVisibility(mSlotVolume, false); + // vibrate + mIconController.setIcon(mSlotVibrate, R.drawable.stat_sys_ringer_vibrate, + mResources.getString(R.string.accessibility_ringer_vibrate)); + mIconController.setIconVisibility(mSlotVibrate, false); + // mute + mIconController.setIcon(mSlotMute, R.drawable.stat_sys_ringer_silent, + mResources.getString(R.string.accessibility_ringer_silent)); + mIconController.setIconVisibility(mSlotMute, false); updateVolumeZen(); // cast @@ -372,9 +380,8 @@ public class PhoneStatusBarPolicy int zenIconId = 0; String zenDescription = null; - boolean volumeVisible = false; - int volumeIconId = 0; - String volumeDescription = null; + boolean vibrateVisible = false; + boolean muteVisible = false; int zen = mZenController.getZen(); if (DndTile.isVisible(mSharedPreferences) || DndTile.isCombinedIcon(mSharedPreferences)) { @@ -396,13 +403,9 @@ public class PhoneStatusBarPolicy mRingerModeTracker.getRingerModeInternal().getValue(); if (ringerModeInternal != null) { if (ringerModeInternal == AudioManager.RINGER_MODE_VIBRATE) { - volumeVisible = true; - volumeIconId = R.drawable.stat_sys_ringer_vibrate; - volumeDescription = mResources.getString(R.string.accessibility_ringer_vibrate); + vibrateVisible = true; } else if (ringerModeInternal == AudioManager.RINGER_MODE_SILENT) { - volumeVisible = true; - volumeIconId = R.drawable.stat_sys_ringer_silent; - volumeDescription = mResources.getString(R.string.accessibility_ringer_silent); + muteVisible = true; } } } @@ -415,13 +418,16 @@ public class PhoneStatusBarPolicy mZenVisible = zenVisible; } - if (volumeVisible) { - mIconController.setIcon(mSlotVolume, volumeIconId, volumeDescription); + if (vibrateVisible != mVibrateVisible) { + mIconController.setIconVisibility(mSlotVibrate, vibrateVisible); + mVibrateVisible = vibrateVisible; } - if (volumeVisible != mVolumeVisible) { - mIconController.setIconVisibility(mSlotVolume, volumeVisible); - mVolumeVisible = volumeVisible; + + if (muteVisible != mMuteVisible) { + mIconController.setIconVisibility(mSlotMute, muteVisible); + mMuteVisible = muteVisible; } + updateAlarm(); }