exynos: audiohal_comv1: Also set proxy_call_status to true in communication mode
* This is used in proxy to notify sthal to stop for call, so communication
should count as a call mode too. Without this there's a chance APCall
mic doesn't work.
Change-Id: I07dabb80a98572505e7b3d7f055b1b19af1a808d
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
diff --git a/libaudio/audiohal_comv1/common_audiohal/audio_hw.c b/libaudio/audiohal_comv1/common_audiohal/audio_hw.c
index 167ca8d..d0676cb 100644
--- a/libaudio/audiohal_comv1/common_audiohal/audio_hw.c
+++ b/libaudio/audiohal_comv1/common_audiohal/audio_hw.c
@@ -3511,24 +3511,22 @@
update_call_stream(adev->primary_output, call_device, call_device);
pthread_mutex_lock(&adev->lock);
- /* Changing Call Status */
+ /* Changing Voice Call Status */
voice_set_call_mode(adev->voice, false);
-
- proxy_call_status(adev->proxy, false);
} else if (mode == AUDIO_MODE_IN_CALL) {
/* Change from Normal/Ringtone Mode to Voice Call Mode */
/* We cannot start Voice Call right now because we don't know which device will be used.
So, we need to delay Voice Call start when get the routing information for Voice Call */
- /* Changing Call Status */
+ /* Changing Voice Call Status */
voice_set_call_mode(adev->voice, true);
+ }
+ /* Updating Call Status to proxy */
+ if (mode == AUDIO_MODE_IN_CALL || mode == AUDIO_MODE_IN_COMMUNICATION)
proxy_call_status(adev->proxy, true);
- }
-
- if (mode == AUDIO_MODE_NORMAL || mode == AUDIO_MODE_IN_COMMUNICATION) {
+ else
proxy_call_status(adev->proxy, false);
- }
if(adev->previous_amode == AUDIO_MODE_IN_COMMUNICATION && mode == AUDIO_MODE_NORMAL){
if(adev->active_input && (adev->active_input->common.stream_status > STATUS_STANDBY) &&