diff options
| author | Eric Laurent <elaurent@google.com> | 2012-05-14 16:30:47 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-14 16:30:47 -0700 |
| commit | dfae6db0228a2ba4e34deb48d54fb06a2637e6a2 (patch) | |
| tree | 5429a27aae37c79eb437ab397fc12ac72927a8e5 /core/java | |
| parent | 05dde913f97b29751572ed8169f6ba20374c7036 (diff) | |
| parent | 8c78752f2bf786ca3e6f45b9dc6955d3b4bba59c (diff) | |
Merge "Implement new volume display policy." into jb-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/preference/VolumePreference.java | 4 | ||||
| -rw-r--r-- | core/java/android/view/VolumePanel.java | 49 |
2 files changed, 25 insertions, 28 deletions
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java index fe5e76ca4d96..caf55d70226e 100644 --- a/core/java/android/preference/VolumePreference.java +++ b/core/java/android/preference/VolumePreference.java @@ -239,9 +239,7 @@ public class VolumePreference extends SeekBarDialogPreference implements public void onChange(boolean selfChange) { super.onChange(selfChange); if (mSeekBar != null && mAudioManager != null) { - int volume = mAudioManager.isStreamMute(mStreamType) ? - mAudioManager.getLastAudibleStreamVolume(mStreamType) - : mAudioManager.getStreamVolume(mStreamType); + int volume = mAudioManager.getStreamVolume(mStreamType); mSeekBar.setProgress(volume); } } diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java index 110c239b45d1..78984e08ff58 100644 --- a/core/java/android/view/VolumePanel.java +++ b/core/java/android/view/VolumePanel.java @@ -296,41 +296,33 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie private boolean isMuted(int streamType) { if (streamType == STREAM_MASTER) { - return mAudioService.isMasterMute(); + return mAudioManager.isMasterMute(); } else { - return mAudioService.isStreamMute(streamType); + return mAudioManager.isStreamMute(streamType); } } private int getStreamMaxVolume(int streamType) { if (streamType == STREAM_MASTER) { - return mAudioService.getMasterMaxVolume(); + return mAudioManager.getMasterMaxVolume(); } else { - return mAudioService.getStreamMaxVolume(streamType); + return mAudioManager.getStreamMaxVolume(streamType); } } private int getStreamVolume(int streamType) { if (streamType == STREAM_MASTER) { - return mAudioService.getMasterVolume(); + return mAudioManager.getMasterVolume(); } else { - return mAudioService.getStreamVolume(streamType); + return mAudioManager.getStreamVolume(streamType); } } private void setStreamVolume(int streamType, int index, int flags) { if (streamType == STREAM_MASTER) { - mAudioService.setMasterVolume(index, flags); + mAudioManager.setMasterVolume(index, flags); } else { - mAudioService.setStreamVolume(streamType, index, flags); - } - } - - private int getLastAudibleStreamVolume(int streamType) { - if (streamType == STREAM_MASTER) { - return mAudioService.getLastAudibleMasterVolume(); - } else { - return mAudioService.getLastAudibleStreamVolume(streamType); + mAudioManager.setStreamVolume(streamType, index, flags); } } @@ -399,13 +391,18 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie /** Update the mute and progress state of a slider */ private void updateSlider(StreamControl sc) { - sc.seekbarView.setProgress(getLastAudibleStreamVolume(sc.streamType)); + sc.seekbarView.setProgress(getStreamVolume(sc.streamType)); final boolean muted = isMuted(sc.streamType); sc.icon.setImageResource(muted ? sc.iconMuteRes : sc.iconRes); - if (sc.streamType == AudioManager.STREAM_RING && muted - && mAudioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER)) { + if (sc.streamType == AudioManager.STREAM_RING && + mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) { sc.icon.setImageResource(R.drawable.ic_audio_ring_notif_vibrate); } + if (sc.streamType != mAudioManager.getMasterStreamType() && muted) { + sc.seekbarView.setEnabled(false); + } else { + sc.seekbarView.setEnabled(true); + } } private boolean isExpanded() { @@ -510,9 +507,7 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie } protected void onShowVolumeChanged(int streamType, int flags) { - int index = isMuted(streamType) ? - getLastAudibleStreamVolume(streamType) - : getStreamVolume(streamType); + int index = getStreamVolume(streamType); mRingIsSilent = false; @@ -592,6 +587,11 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie sc.seekbarView.setMax(max); } sc.seekbarView.setProgress(index); + if (streamType != mAudioManager.getMasterStreamType() && isMuted(streamType)) { + sc.seekbarView.setEnabled(false); + } else { + sc.seekbarView.setEnabled(true); + } } if (!mDialog.isShowing()) { @@ -607,8 +607,7 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie // Do a little vibrate if applicable (only when going into vibrate mode) if ((flags & AudioManager.FLAG_VIBRATE) != 0 && mAudioService.isStreamAffectedByRingerMode(streamType) && - mAudioService.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE && - mAudioService.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER)) { + mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) { sendMessageDelayed(obtainMessage(MSG_VIBRATE), VIBRATE_DELAY); } } @@ -646,7 +645,7 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie protected void onVibrate() { // Make sure we ended up in vibrate ringer mode - if (mAudioService.getRingerMode() != AudioManager.RINGER_MODE_VIBRATE) { + if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_VIBRATE) { return; } |
