From 799448bee167c046ed715c7c4e3fe3486bf80d43 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Tue, 25 Sep 2012 14:33:56 -0700 Subject: AudioService: filter flags in volume methods Strip FIXED_VOLUME flag in setStreamVolume() and adjustStreamVolume() as this flag is reserved for framework use. Bug 4335692. Change-Id: I507582270f4c4cd631ee81fe50dca895bb6352b3 --- media/java/android/media/AudioService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'media/java') diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index fdb6818..d05c6de 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -733,7 +733,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { if (streamType == STREAM_REMOTE_MUSIC) { // don't play sounds for remote - flags &= ~AudioManager.FLAG_PLAY_SOUND; + flags &= ~(AudioManager.FLAG_PLAY_SOUND|AudioManager.FLAG_FIXED_VOLUME); //if (DEBUG_VOL) Log.i(TAG, "Need to adjust remote volume: calling adjustRemoteVolume()"); adjustRemoteVolume(AudioSystem.STREAM_MUSIC, direction, flags); } else { @@ -771,6 +771,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { int index; int oldIndex; + flags &= ~AudioManager.FLAG_FIXED_VOLUME; if ((streamTypeAlias == AudioSystem.STREAM_MUSIC) && ((device & mFixedVolumeDevices) != 0)) { flags |= AudioManager.FLAG_FIXED_VOLUME; @@ -855,6 +856,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { final int device = getDeviceForStream(streamType); int oldIndex; + flags &= ~AudioManager.FLAG_FIXED_VOLUME; if ((mStreamVolumeAlias[streamType] == AudioSystem.STREAM_MUSIC) && ((device & mFixedVolumeDevices) != 0)) { flags |= AudioManager.FLAG_FIXED_VOLUME; -- cgit v1.1