From 7fb580ea4ddbf3d406610485fd7e5fbf25cdef21 Mon Sep 17 00:00:00 2001 From: Zhihai Xu Date: Fri, 10 Jan 2014 16:44:39 -0800 Subject: [PATCH] DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager. It cause maximize volume in Bluetooth speaker/device. The volume expected by Bluetooth Avrcp should be from 0 to 15. But the current volume parameter passed to Bluetooth Avrcp is from 0 to 150. It is scaled by 10 times than the correct volume. index = rescaleIndex(index * 10, streamType, streamTypeAlias); Should divide the volume by 10 before pass to Bluetooth Avrcp. bug:12495379 Change-Id: I4160588e92ee384e21a75d63036d8bd6ccb30621 --- media/java/android/media/AudioService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index b836f50b6b524..17c45950246b6 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -1019,7 +1019,7 @@ public class AudioService extends IAudioService.Stub { (flags & AudioManager.FLAG_BLUETOOTH_ABS_VOLUME) == 0) { synchronized (mA2dpAvrcpLock) { if (mA2dp != null && mAvrcpAbsVolSupported) { - mA2dp.setAvrcpAbsoluteVolume(index); + mA2dp.setAvrcpAbsoluteVolume(index / 10); } } }