summaryrefslogtreecommitdiff
path: root/core/java/android/view/VolumePanel.java
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-11-08 10:31:21 -0800
committerMike Lockwood <lockwood@android.com>2011-11-08 10:31:21 -0800
commita2aa08e20cb4f1e302bb7ae05882cd1be8cfa0d2 (patch)
tree9bc69d1a14448b61c952354806408dff490b7db8 /core/java/android/view/VolumePanel.java
parent0711e784835ae51c76c924950c14abb3b95379c6 (diff)
AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.
This allows Music2 and other media apps to control master volume without changing their code Bug: 5567694 Change-Id: I48b6260b193b22c395be5a31cd1d270b2929a91e Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'core/java/android/view/VolumePanel.java')
-rw-r--r--core/java/android/view/VolumePanel.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java
index e7e189057364..c456ee4bef63 100644
--- a/core/java/android/view/VolumePanel.java
+++ b/core/java/android/view/VolumePanel.java
@@ -93,7 +93,7 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie
private static final int MSG_RINGER_MODE_CHANGED = 6;
// Pseudo stream type for master volume
- private static final int STREAM_MASTER = -1;
+ private static final int STREAM_MASTER = -100;
protected Context mContext;
private AudioManager mAudioManager;
@@ -303,34 +303,30 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie
}
private int getStreamMaxVolume(int streamType) {
- // master volume is 0.0f - 1.0f, but we will use 0 - 100 internally
if (streamType == STREAM_MASTER) {
- return 100;
+ return mAudioService.getMasterMaxVolume();
} else {
return mAudioService.getStreamMaxVolume(streamType);
}
}
private int getStreamVolume(int streamType) {
- // master volume is 0.0f - 1.0f, but we will use 0 - 100 internally
if (streamType == STREAM_MASTER) {
- return Math.round(mAudioService.getMasterVolume() * 100);
+ return mAudioService.getMasterVolume();
} else {
return mAudioService.getStreamVolume(streamType);
}
}
private void setStreamVolume(int streamType, int index, int flags) {
- // master volume is 0.0f - 1.0f, but we will use 0 - 100 internally
if (streamType == STREAM_MASTER) {
- mAudioService.setMasterVolume((float)index / 100.0f);
+ mAudioService.setMasterVolume(index, flags);
} else {
mAudioService.setStreamVolume(streamType, index, flags);
}
}
private int getLastAudibleStreamVolume(int streamType) {
- // master volume is 0.0f - 1.0f, but we will use 0 - 100 internally
if (streamType == STREAM_MASTER) {
// master volume mute not yet supported
return getStreamVolume(STREAM_MASTER);