hal: Fix VoIP ouput is closed if voice+voip concurrency is enabled

In APM, VoIP output would be closed even if Voice+VoIP concurrency
is enabled. This is due to FLAG_DIRECT is set for compress VoIP by
default. While direct output is forced to closed if Voice+Playback
concurrency is disabled.

Fix this by adding proper flag check to avoid VoIP output is
closed.

CRs-Fixed: 1087113
Change-Id: Idbfc1b499a1252f162300f4e1be4d27b44b7e95c
diff --git a/policy_hal/AudioPolicyManager.cpp b/policy_hal/AudioPolicyManager.cpp
index 3396054..c8414af 100644
--- a/policy_hal/AudioPolicyManager.cpp
+++ b/policy_hal/AudioPolicyManager.cpp
@@ -843,8 +843,14 @@
                     closeOutput(mOutputs.keyAt(i));
                 }
             } else if (AUDIO_OUTPUT_FLAG_DEEP_BUFFER == mFallBackflag) {
-                if ((outputDesc->mProfile->mFlags & AUDIO_OUTPUT_FLAG_DIRECT)
-                                &&  prop_playback_enabled) {
+                if (outputDesc->mProfile->mFlags & AUDIO_OUTPUT_FLAG_VOIP_RX) {
+                    if (prop_voip_enabled) {
+                        ALOGD("voice_conc:calling closeOutput on call mode for DIRECT  output");
+                        closeOutput(mOutputs.keyAt(i));
+                    }
+                }
+                else if (prop_playback_enabled
+                           && (outputDesc->mProfile->mFlags & AUDIO_OUTPUT_FLAG_DIRECT)) {
                     ALOGD("voice_conc:calling closeOutput on call mode for COMPRESS output");
                     closeOutput(mOutputs.keyAt(i));
                 }