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(