Adds AUDIO_SOURCE_ECHO_REFERENCE in car emulator

Sample usage

```
final AudioAttributes attributes = new AudioAttributes.Builder()
        .setUsage(AudioAttributes.USAGE_MEDIA)
        .setInternalCapturePreset(MediaRecorder.AudioSource.ECHO_REFERENCE)
        .build();
final AudioRecord record = new AudioRecord.Builder()
        .setAudioAttributes(attributes)
        .build();
```

Bug: 129882605
Test: dumpsys media.audio_policy
Change-Id: I72a850aa787599a8f7579cf77899e9b8034f10f0
diff --git a/emulator/audio/audio_policy_configuration.xml b/emulator/audio/audio_policy_configuration.xml
index d399fee..9b81599 100644
--- a/emulator/audio/audio_policy_configuration.xml
+++ b/emulator/audio/audio_policy_configuration.xml
@@ -62,6 +62,7 @@
                 <item>bus100_rear_seat</item>
                 <item>Built-In Mic</item>
                 <item>Built-In Back Mic</item>
+                <item>Echo-Reference Mic</item>
                 <item>FM Tuner</item>
             </attachedDevices>
             <defaultOutputDevice>bus0_media_out</defaultOutputDevice>
@@ -223,6 +224,11 @@
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </devicePort>
+                <devicePort tagName="Echo-Reference Mic" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
+                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                            samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+                            channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                </devicePort>
                 <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source"
                         address="tuner0">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -244,7 +250,7 @@
                 <route type="mix" sink="bus6_notification_out" sources="mixport_bus6_notification_out"/>
                 <route type="mix" sink="bus7_system_sound_out" sources="mixport_bus7_system_sound_out"/>
                 <route type="mix" sink="bus100_rear_seat" sources="mixport_bus100_rear_seat"/>
-                <route type="mix" sink="primary input" sources="Built-In Mic,Built-In Back Mic"/>
+                <route type="mix" sink="primary input" sources="Built-In Mic,Built-In Back Mic,Echo-Reference Mic"/>
                 <route type="mix" sink="mixport_tuner0" sources="FM Tuner"/>
             </routes>
 
diff --git a/emulator/audio/driver/audio_hw.c b/emulator/audio/driver/audio_hw.c
index b1297cf..d992971 100644
--- a/emulator/audio/driver/audio_hw.c
+++ b/emulator/audio/driver/audio_hw.c
@@ -1145,7 +1145,8 @@
 static int adev_open_input_stream(struct audio_hw_device *dev,
         audio_io_handle_t handle, audio_devices_t devices, struct audio_config *config,
         struct audio_stream_in **stream_in, audio_input_flags_t flags __unused, const char *address,
-        audio_source_t source __unused) {
+        audio_source_t source) {
+    ALOGV("%s: audio_source_t: %d", __func__, source);
     struct generic_audio_device *adev = (struct generic_audio_device *)dev;
     struct generic_stream_in *in;
     int ret = 0;