summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2012-05-14 16:30:47 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-14 16:30:47 -0700
commitdfae6db0228a2ba4e34deb48d54fb06a2637e6a2 (patch)
tree5429a27aae37c79eb437ab397fc12ac72927a8e5 /core/java
parent05dde913f97b29751572ed8169f6ba20374c7036 (diff)
parent8c78752f2bf786ca3e6f45b9dc6955d3b4bba59c (diff)
Merge "Implement new volume display policy." into jb-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/preference/VolumePreference.java4
-rw-r--r--core/java/android/view/VolumePanel.java49
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;
}