diff options
| author | Mike Lockwood <lockwood@android.com> | 2011-11-08 10:31:21 -0800 |
|---|---|---|
| committer | Mike Lockwood <lockwood@google.com> | 2012-02-10 14:44:04 -0800 |
| commit | 4767690f09ea3447b8c5c32fb28d27650aa18e00 (patch) | |
| tree | 9526c14d288fdaa044c9b03824d015e2324b1c24 /core/java/android/view/VolumePanel.java | |
| parent | 79824179b8ceb77d4ddb392a7c104e873d61ccc8 (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
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 0d60d3f03f0a..193460a44dfa 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); |
