diff options
| author | Mike Lockwood <lockwood@android.com> | 2011-11-08 10:31:21 -0800 |
|---|---|---|
| committer | Mike Lockwood <lockwood@android.com> | 2011-11-08 10:31:21 -0800 |
| commit | a2aa08e20cb4f1e302bb7ae05882cd1be8cfa0d2 (patch) | |
| tree | 9bc69d1a14448b61c952354806408dff490b7db8 /core/java/android/view/VolumePanel.java | |
| parent | 0711e784835ae51c76c924950c14abb3b95379c6 (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.java | 12 |
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); |
