Fix issue 2641884: Bluetooth volume is dependent on in call volume.

The problem is that the code in AudioPolicyManagerBase::checkAndSetVolume() that forces
voice volume to max when setting bluetooth SCO volume is not called if the bluetooth stream
volume did not actually change. So even if we re apply volumes when switching to bluetooth
device, the voice volume is not changed in audio HAL and remains what it was when routed to earpiece.
What makes things worse on Passion is that stream volumes are limited when connected to bluetooth
and their actual value does not change as soon as they exceed the limit threshold.

Change-Id: Ic6c54b4a7fd54983f445de9a9b5cd2ea0025155c
This commit is contained in:
Eric Laurent 2010-05-25 09:30:03 -07:00
parent eacdfdb897
commit 564c303237

View file

@ -270,7 +270,7 @@ protected:
nsecs_t mMusicStopTime; // time when last music stream was stopped nsecs_t mMusicStopTime; // time when last music stream was stopped
bool mLimitRingtoneVolume; // limit ringtone volume to music volume if headset connected bool mLimitRingtoneVolume; // limit ringtone volume to music volume if headset connected
uint32_t mDeviceForStrategy[NUM_STRATEGIES]; uint32_t mDeviceForStrategy[NUM_STRATEGIES];
float mLastVoiceVolume; // last voice volume value sent to audio HAL
#ifdef AUDIO_POLICY_TEST #ifdef AUDIO_POLICY_TEST
Mutex mLock; Mutex mLock;
Condition mWaitWorkCV; Condition mWaitWorkCV;