Settings: Follow frameworks change to volume sliders.

Bug: 21267436
Change-Id: I72c6411346429ebf428662d1c6d6d8a7529c0d67
This commit is contained in:
John Spurlock
2015-06-10 17:46:58 -04:00
parent 8da8e52874
commit f82154de8c
2 changed files with 11 additions and 4 deletions

View File

@@ -198,11 +198,16 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
private void updateRingOrNotificationPreference() { private void updateRingOrNotificationPreference() {
mRingOrNotificationPreference.showIcon(mSuppressor != null mRingOrNotificationPreference.showIcon(mSuppressor != null
? com.android.internal.R.drawable.ic_audio_ring_notif_mute ? com.android.internal.R.drawable.ic_audio_ring_notif_mute
: mRingerMode == AudioManager.RINGER_MODE_VIBRATE : 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_vibrate
: com.android.internal.R.drawable.ic_audio_ring_notif); : com.android.internal.R.drawable.ic_audio_ring_notif);
} }
private boolean wasRingerModeVibrate() {
return mVibrator != null && mRingerMode == AudioManager.RINGER_MODE_SILENT
&& mAudioManager.getLastAudibleStreamVolume(AudioManager.STREAM_RING) == 0;
}
private void updateRingerMode() { private void updateRingerMode() {
final int ringerMode = mAudioManager.getRingerModeInternal(); final int ringerMode = mAudioManager.getRingerModeInternal();
if (mRingerMode == ringerMode) return; if (mRingerMode == ringerMode) return;

View File

@@ -48,6 +48,7 @@ public class VolumeSeekBarPreference extends SeekBarPreference
private TextView mSuppressionTextView; private TextView mSuppressionTextView;
private String mSuppressionText; private String mSuppressionText;
private boolean mMuted; private boolean mMuted;
private boolean mZenMuted;
private int mIconResId; private int mIconResId;
private int mMuteIconResId; private int mMuteIconResId;
private boolean mStopped; private boolean mStopped;
@@ -122,9 +123,10 @@ public class VolumeSeekBarPreference extends SeekBarPreference
} }
} }
@Override @Override
public void onMuted(boolean muted) { public void onMuted(boolean muted, boolean zenMuted) {
if (mMuted == muted) return; if (mMuted == muted && mZenMuted == zenMuted) return;
mMuted = muted; mMuted = muted;
mZenMuted = zenMuted;
updateIconView(); updateIconView();
} }
}; };
@@ -150,7 +152,7 @@ public class VolumeSeekBarPreference extends SeekBarPreference
if (mIconView == null) return; if (mIconView == null) return;
if (mIconResId != 0) { if (mIconResId != 0) {
mIconView.setImageResource(mIconResId); mIconView.setImageResource(mIconResId);
} else if (mMuteIconResId != 0 && mMuted) { } else if (mMuteIconResId != 0 && mMuted && !mZenMuted) {
mIconView.setImageResource(mMuteIconResId); mIconView.setImageResource(mMuteIconResId);
} else { } else {
mIconView.setImageDrawable(getIcon()); mIconView.setImageDrawable(getIcon());