hal: fix voip usecase selection for voice_tx path

Earlier commit was not handled completely proper.Hence addit new one.

Some VoIP clients may choose to open the input streams as soon as the phone
state is set to MODE_RINGTONE to allow lower start latency when the call
is connected. In such situation dev mode will not be still set to
MODE_IN_COMMUNICATION, hence adding check for audio source as well.

Change-Id: If69aac5087f8a51fd2a0936a043f8359d1302496
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 3db4af1..771aa52 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -7242,7 +7242,8 @@
 
 #ifndef COMPRESS_VOIP_ENABLED
     if (valid_rate && valid_ch &&
-        in->dev->mode == AUDIO_MODE_IN_COMMUNICATION) {
+        (in->dev->mode == AUDIO_MODE_IN_COMMUNICATION ||
+         in->source == AUDIO_SOURCE_VOICE_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,
@@ -7258,8 +7259,9 @@
 #else
     //XXX needed for voice_extn_compress_voip_open_input_stream
     in->config.rate = config->sample_rate;
-    if ((in->dev->mode == AUDIO_MODE_IN_COMMUNICATION ||
-         voice_extn_compress_voip_is_active(in->dev)) &&
+    if((in->dev->mode == AUDIO_MODE_IN_COMMUNICATION ||
+        in->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
+        voice_extn_compress_voip_is_active(in->dev)) &&
         (voice_extn_compress_voip_is_format_supported(in->format)) &&
         valid_rate && valid_ch) {
         voice_extn_compress_voip_open_input_stream(in);