From f701e0ce201428318691c517de298ef4d71a8d88 Mon Sep 17 00:00:00 2001 From: Ricardo Cerqueira Date: Sat, 22 Dec 2012 00:06:36 +0000 Subject: audio_policy: Fix volumes for ICS blob compat Allow usage of the default audio_policy source, even if the primary audio HAL is an ICS binary blob Change-Id: I959a925f458e14380c2e5443b1378c4018d9f084 --- audio/AudioPolicyManagerBase.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp index b4f4778..cb9afa6 100644 --- a/audio/AudioPolicyManagerBase.cpp +++ b/audio/AudioPolicyManagerBase.cpp @@ -1008,7 +1008,10 @@ status_t AudioPolicyManagerBase::setStreamVolumeIndex(AudioSystem::stream_type s for (size_t i = 0; i < mOutputs.size(); i++) { audio_devices_t curDevice = getDeviceForVolume(mOutputs.valueAt(i)->device()); - if (device == curDevice) { +#ifndef ICS_AUDIO_BLOB + if (device == curDevice) +#endif + { status_t volStatus = checkAndSetVolume(stream, index, mOutputs.keyAt(i), curDevice); if (volStatus != NO_ERROR) { status = volStatus; @@ -1025,6 +1028,7 @@ status_t AudioPolicyManagerBase::getStreamVolumeIndex(AudioSystem::stream_type s if (index == NULL) { return BAD_VALUE; } +#ifndef ICS_AUDIO_BLOB if (!audio_is_output_device(device)) { return BAD_VALUE; } @@ -1036,6 +1040,9 @@ status_t AudioPolicyManagerBase::getStreamVolumeIndex(AudioSystem::stream_type s device = getDeviceForVolume(device); *index = mStreams[stream].getVolumeIndex(device); +#else + *index = mStreams[stream].mIndexCur.valueAt(0); +#endif ALOGV("getStreamVolumeIndex() stream %d device %08x index %d", stream, device, *index); return NO_ERROR; } -- cgit v1.1