diff --git a/legacy/alsa_sound/ALSADevice.cpp b/legacy/alsa_sound/ALSADevice.cpp index 7917ad6b..02367e37 100644 --- a/legacy/alsa_sound/ALSADevice.cpp +++ b/legacy/alsa_sound/ALSADevice.cpp @@ -1905,6 +1905,16 @@ char* ALSADevice::getUCMDevice(uint32_t devices, int input, char *rxDevice) if (!strncmp(mMicType, "analog", 6)) { return strdup(SND_USE_CASE_DEV_HANDSET); /* HANDSET TX */ } else { +#ifdef SEPARATED_VOIP_SHORTCUT + if (mCallMode == AUDIO_MODE_IN_COMMUNICATION) { + if (!strncmp(rxDevice, SND_USE_CASE_DEV_VOIP_EARPIECE, + (strlen(SND_USE_CASE_DEV_VOIP_EARPIECE)+1))) { + return strdup(SND_USE_CASE_DEV_VOIP_HANDSET); + } else { + return strdup(SND_USE_CASE_DEV_VOIP_LINE); + } + } +#endif if ((mDevSettingsFlag & DMIC_FLAG) && (mInChannels == 1)) { #ifdef USES_FLUENCE_INCALL if (mCallMode == AUDIO_MODE_IN_CALL diff --git a/legacy/alsa_sound/Android.mk b/legacy/alsa_sound/Android.mk index f19599db..bba1d2f7 100644 --- a/legacy/alsa_sound/Android.mk +++ b/legacy/alsa_sound/Android.mk @@ -145,6 +145,10 @@ ifeq ($(BOARD_USES_MOTOROLA_EMU_AUDIO),true) common_cflags += -DMOTOROLA_EMU_AUDIO endif +ifeq ($(SEPARATED_VOIP_SHORTCUT),true) + common_cflags += -DSEPARATED_VOIP_SHORTCUT +endif + include $(CLEAR_VARS) LOCAL_ARM_MODE := arm