audio policy: allow USB device for voice comm capture in speakerphone

When no built-in microphone is present, allow capture from USB accessory
(e.g web cam) for voice communication use cases even when speakerphone
mode is on. Even if the echo cancelling does not perform well, this is
better than a failure to capture.

Bug: 168662367
Test: basic audio regression tests
Change-Id: I59c6b3206c7eb6265044879ced0afb4ac7281ecd
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
index def2e30..159ca08 100644
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
@@ -487,7 +487,8 @@
             break;
         case AUDIO_DEVICE_OUT_SPEAKER:
             device = availableDevices.getFirstExistingDevice({
-                    AUDIO_DEVICE_IN_BACK_MIC, AUDIO_DEVICE_IN_BUILTIN_MIC});
+                    AUDIO_DEVICE_IN_BACK_MIC, AUDIO_DEVICE_IN_BUILTIN_MIC,
+                    AUDIO_DEVICE_IN_USB_DEVICE, AUDIO_DEVICE_IN_USB_HEADSET});
             break;
         default:    // FORCE_NONE
             device = availableDevices.getFirstExistingDevice({