Fix low volume on Nemo devices after accepting incoming HFP call.
Bug: 23495386
Change-Id: I98c60188dd5d4aaf4bc5a7f212219918e1374989
diff --git a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
index 7ff8fcf..6702214 100644
--- a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
+++ b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
@@ -2069,6 +2069,11 @@
+ currMode + " to " + newAudioMode);
mAudioManager.setMode(newAudioMode);
}
+
+ // We need to set the volume after switching into HFP mode as some Audio HALs
+ // reset the volume to a known-default on mode switch.
+ final int volume =
+ mAudioManager.getStreamVolume(AudioManager.STREAM_BLUETOOTH_SCO);
Log.d(TAG,"hfp_enable=true");
Log.d(TAG,"mAudioWbs is " + mAudioWbs);
if (mAudioWbs) {
@@ -2080,6 +2085,7 @@
mAudioManager.setParameters("hfp_set_sampling_rate=8000");
}
mAudioManager.setParameters("hfp_enable=true");
+ mAudioManager.setParameters("hfp_volume=" + volume);
broadcastAudioState(device, BluetoothHeadsetClient.STATE_AUDIO_CONNECTED,
BluetoothHeadsetClient.STATE_AUDIO_CONNECTING);
transitionTo(mAudioOn);