hal: use consistent in call indication
Use voice_is_in_call() instead of mode == MODE_IN_CALL
as a valid indication that we are in call to choose sound
devices.
Change-Id: Iefa968ee463d4ade6c7d09626be667faab6eda98
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c
index e2c30f4..9b70e29 100644
--- a/hal/msm8960/platform.c
+++ b/hal/msm8960/platform.c
@@ -493,7 +493,8 @@
struct platform_data *my_data = (struct platform_data *)platform;
int ret = 0;
- if (my_data->csd_client != NULL) {
+ if (my_data->csd_client != NULL &&
+ voice_is_in_call(my_data->adev)) {
/* This must be called before disabling the mixer controls on APQ side */
if (my_data->csd_disable_device == NULL) {
ALOGE("%s: dlsym error for csd_disable_device", __func__);
@@ -644,7 +645,7 @@
goto exit;
}
- if (mode == AUDIO_MODE_IN_CALL) {
+ if (voice_is_in_call(adev)) {
if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE ||
devices & AUDIO_DEVICE_OUT_WIRED_HEADSET) {
if (adev->voice.tty_mode == TTY_MODE_FULL)
@@ -736,11 +737,7 @@
ALOGV("%s: enter: out_device(%#x) in_device(%#x)",
__func__, out_device, in_device);
- if (mode == AUDIO_MODE_IN_CALL) {
- if (out_device == AUDIO_DEVICE_NONE) {
- ALOGE("%s: No output device set for voice call", __func__);
- goto exit;
- }
+ if ((out_device != AUDIO_DEVICE_NONE) && voice_is_in_call(adev)) {
if (adev->voice.tty_mode != TTY_MODE_OFF) {
if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE ||
out_device & AUDIO_DEVICE_OUT_WIRED_HEADSET) {