audio: added support for dual mic capture

Added support for simultaneous capture of front and back mic.

Added device definitions for dual mic config for voice recognition use
case: no pre processing enabled.

stream->channels() reports actual channel mask instead of recontructing
it from channel count.

TODO: check if ACDB settings copied from single mic voice recognition
are correct.

Change-Id: I41282d0af5deb256ef68ec17ee34f5aae7807a6f
diff --git a/alsa_sound/AudioStreamInALSA.cpp b/alsa_sound/AudioStreamInALSA.cpp
index 3b66c24..4771d42 100644
--- a/alsa_sound/AudioStreamInALSA.cpp
+++ b/alsa_sound/AudioStreamInALSA.cpp
@@ -239,6 +239,9 @@
                     }
             }
         }
+        if (mHandle->channelMask == AUDIO_CHANNEL_IN_FRONT_BACK) {
+            mHandle->module->setFlags(mParent->mDevSettingsFlag | DMIC_FLAG);
+        }
         free(use_case);
         if((!strcmp(mHandle->useCase, SND_USE_CASE_VERB_IP_VOICECALL)) ||
             (!strcmp(mHandle->useCase, SND_USE_CASE_MOD_PLAY_VOIP))) {
@@ -596,6 +599,10 @@
     mParent->closeUsbRecordingIfNothingActive();
 #endif
 
+    if (mHandle->channelMask == AUDIO_CHANNEL_IN_FRONT_BACK) {
+        mHandle->module->setFlags(mParent->mDevSettingsFlag);
+    }
+
     return NO_ERROR;
 }