summaryrefslogtreecommitdiffstats
path: root/hal/voice_extn
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-08-16 23:56:30 -0600
committerLinux Build Service Account <lnxbuild@localhost>2015-08-16 23:56:30 -0600
commitf24cb8f626d96006822c91ca596fa7c184fb6685 (patch)
tree493ee28679ebddbbcb3cb747e859dc1984e66852 /hal/voice_extn
parent4cda53519a4df0d96e3aceb828754b7c5a88bbbc (diff)
parent495740890441c1ec16623e745f83da06bea3e2c5 (diff)
downloadhardware_qcom_audio-f24cb8f626d96006822c91ca596fa7c184fb6685.tar.gz
hardware_qcom_audio-f24cb8f626d96006822c91ca596fa7c184fb6685.tar.bz2
hardware_qcom_audio-f24cb8f626d96006822c91ca596fa7c184fb6685.zip
Merge 495740890441c1ec16623e745f83da06bea3e2c5 on remote branch
Change-Id: Ie006885b5cd9774b13cfee8f0a510a36107b0d25
Diffstat (limited to 'hal/voice_extn')
-rw-r--r--hal/voice_extn/voice_extn.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/hal/voice_extn/voice_extn.c b/hal/voice_extn/voice_extn.c
index 960b46e6..3cf370df 100644
--- a/hal/voice_extn/voice_extn.c
+++ b/hal/voice_extn/voice_extn.c
@@ -42,6 +42,7 @@
#define AUDIO_PARAMETER_KEY_DEVICE_MUTE "device_mute"
#define AUDIO_PARAMETER_KEY_DIRECTION "direction"
#define AUDIO_PARAMETER_KEY_IN_CALL "in_call"
+#define AUDIO_PARAMETER_KEY_CALL_TYPE "call_type"
#define VOICE_EXTN_PARAMETER_VALUE_MAX_LEN 256
@@ -515,6 +516,20 @@ int voice_extn_set_parameters(struct audio_device *adev,
}
}
+ err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_CALL_TYPE, str_value,
+ sizeof(str_value));
+ if (err >= 0) {
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_CALL_TYPE);
+ ALOGD("%s: call type is %s",__func__,str_value);
+
+ /* Expected call types are CDMA/GSM/WCDMA/LTE/TDSDMA/WLAN/UNKNOWN */
+ if (!strncmp("GSM", str_value, sizeof("GSM"))) {
+ platform_set_gsm_mode(adev->platform, true);
+ } else {
+ platform_set_gsm_mode(adev->platform, false);
+ }
+ }
+
done:
ALOGV("%s: exit with code(%d)", __func__, ret);
free(kv_pairs);