Use android.media.audio.common.AudioDeviceAddress

Make sure that pairs of 'AudioDeviceDescription' (aka type) and
the device address are always represented in AIDL as AudioDevice.

Move all the AIDL<->legacy conversions into AidlConversion
so it is possible to switch to structured device address
representations in a subsequent CL.

Bug: 198812639
Test: m
Change-Id: If4300e411d76c90d42939f07298535ebdb4185f4
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index afc65d7..2557482 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -56,6 +56,7 @@
 using media::audio::common::AudioConfig;
 using media::audio::common::AudioConfigBase;
 using media::audio::common::AudioDevice;
+using media::audio::common::AudioDeviceAddress;
 using media::audio::common::AudioDeviceDescription;
 using media::audio::common::AudioFormatDescription;
 using media::audio::common::AudioOffloadInfo;
@@ -855,10 +856,8 @@
         name = device_name;
     }
 
-    AudioDevice deviceAidl;
-    deviceAidl.type = VALUE_OR_RETURN_STATUS(
-            legacy2aidl_audio_devices_t_AudioDeviceDescription(device));
-    deviceAidl.address = address;
+    AudioDevice deviceAidl = VALUE_OR_RETURN_STATUS(
+            legacy2aidl_audio_device_AudioDevice(device, address));
 
     return statusTFromBinderStatus(
             aps->setDeviceConnectionState(
@@ -876,10 +875,8 @@
     if (aps == 0) return AUDIO_POLICY_DEVICE_STATE_UNAVAILABLE;
 
     auto result = [&]() -> ConversionResult<audio_policy_dev_state_t> {
-        AudioDevice deviceAidl;
-        deviceAidl.type = VALUE_OR_RETURN(
-                legacy2aidl_audio_devices_t_AudioDeviceDescription(device));
-        deviceAidl.address = device_address;
+        AudioDevice deviceAidl = VALUE_OR_RETURN(
+                legacy2aidl_audio_device_AudioDevice(device, device_address));
 
         media::AudioPolicyDeviceState result;
         RETURN_IF_ERROR(statusTFromBinderStatus(
@@ -907,10 +904,8 @@
         name = device_name;
     }
 
-    AudioDevice deviceAidl;
-    deviceAidl.type = VALUE_OR_RETURN_STATUS(
-            legacy2aidl_audio_devices_t_AudioDeviceDescription(device));
-    deviceAidl.address = address;
+    AudioDevice deviceAidl = VALUE_OR_RETURN_STATUS(
+            legacy2aidl_audio_device_AudioDevice(device, address));
 
     return statusTFromBinderStatus(
             aps->handleDeviceConfigChange(deviceAidl, name, VALUE_OR_RETURN_STATUS(