hal: fix incorrect VOIP input device selection

When VoIP starts, enable_aec flag has been set to
true for input stream. But VoIP tx device still
selects normal input device instead of AEC input
device.

Fix this by adding MODE_IN_COMM condition to ensure
proper device is selected..

CRs-Fixed: 2213163
Change-Id: Ib01b0f418e518f32d414deaacc5ae2df289b76c4
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index d726a9f..45cf3ef 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -5423,7 +5423,8 @@
 
     lock_input_stream(in);
     pthread_mutex_lock(&in->dev->lock);
-    if ((in->source == AUDIO_SOURCE_VOICE_COMMUNICATION) &&
+    if ((in->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
+         in->dev->mode == AUDIO_MODE_IN_COMMUNICATION) &&
             in->enable_aec != enable &&
             (memcmp(&desc.type, FX_IID_AEC, sizeof(effect_uuid_t)) == 0)) {
         in->enable_aec = enable;
@@ -5437,7 +5438,8 @@
             (memcmp(&desc.type, FX_IID_NS, sizeof(effect_uuid_t)) == 0)) {
         in->enable_ns = enable;
         if (!in->standby) {
-            if (in->source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
+            if (in->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
+                in->dev->mode == AUDIO_MODE_IN_COMMUNICATION) {
                 if (enable_disable_effect(in->dev, EFFECT_NS, enable) == ENOSYS)
                     select_devices(in->dev, in->usecase);
             } else
@@ -6696,7 +6698,8 @@
     bool valid_ch = audio_channel_count_from_in_mask(in->channel_mask) == 1;
 
 #ifndef COMPRESS_VOIP_ENABLED
-    if (valid_rate && valid_ch) {
+    if (valid_rate && valid_ch &&
+        in->dev->mode == AUDIO_MODE_IN_COMMUNICATION) {
         in->usecase = USECASE_AUDIO_RECORD_VOIP;
         in->config = default_pcm_config_voip_copp;
         in->config.period_size = VOIP_IO_BUF_SIZE(in->sample_rate,