Add test for device type helper functons.

The added tests cover:
1. audio_is_remoute_submix_device
2. audio_is_digital_in/out_device
3. audio_idevice_is_digital

Test: atest systemaudio_tests
Bug: 135621476
Change-Id: Idf8a9db97db6035ecc832a6a9bba6f64f8fc7479
Merged-In: Idf8a9db97db6035ecc832a6a9bba6f64f8fc7479
diff --git a/services/audiopolicy/tests/systemaudio_tests.cpp b/services/audiopolicy/tests/systemaudio_tests.cpp
index fcee58d..1e4d07f 100644
--- a/services/audiopolicy/tests/systemaudio_tests.cpp
+++ b/services/audiopolicy/tests/systemaudio_tests.cpp
@@ -144,18 +144,20 @@
             std::end(AUDIO_DEVICE_IN_ALL_ARRAY));
 
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_OUT_ALL_ARRAY,
-            AUDIO_DEVICE_OUT_CNT, "output", audio_is_output_device);
+            std::size(AUDIO_DEVICE_OUT_ALL_ARRAY), "output", audio_is_output_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_IN_ALL_ARRAY,
-            AUDIO_DEVICE_IN_CNT, "input", audio_is_input_device);
+            std::size(AUDIO_DEVICE_IN_ALL_ARRAY), "input", audio_is_input_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_OUT_ALL_A2DP_ARRAY,
-            AUDIO_DEVICE_OUT_A2DP_CNT, "a2dp out", audio_is_a2dp_out_device);
+            std::size(AUDIO_DEVICE_OUT_ALL_A2DP_ARRAY), "a2dp out", audio_is_a2dp_out_device);
     const audio_devices_t bluetoothInA2dpDevices[] = { AUDIO_DEVICE_IN_BLUETOOTH_A2DP };
     runAudioDeviceTypeHelperFunction(allDeviceTypes, bluetoothInA2dpDevices,
-            1 /*targetDeviceCount*/, "a2dp in", audio_is_a2dp_in_device);
+            std::size(bluetoothInA2dpDevices), "a2dp in", audio_is_a2dp_in_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_OUT_ALL_SCO_ARRAY,
-            AUDIO_DEVICE_OUT_SCO_CNT, "bluetooth out sco", audio_is_bluetooth_out_sco_device);
+            std::size(AUDIO_DEVICE_OUT_ALL_SCO_ARRAY), "bluetooth out sco",
+            audio_is_bluetooth_out_sco_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_IN_ALL_SCO_ARRAY,
-            AUDIO_DEVICE_IN_SCO_CNT, "bluetooth in sco", audio_is_bluetooth_in_sco_device);
+            std::size(AUDIO_DEVICE_IN_ALL_SCO_ARRAY), "bluetooth in sco",
+            audio_is_bluetooth_in_sco_device);
     const unsigned int scoDeviceCount = AUDIO_DEVICE_OUT_SCO_CNT + AUDIO_DEVICE_IN_SCO_CNT;
     audio_devices_t scoDevices[scoDeviceCount];
     std::copy(std::begin(AUDIO_DEVICE_OUT_ALL_SCO_ARRAY), std::end(AUDIO_DEVICE_OUT_ALL_SCO_ARRAY),
@@ -163,12 +165,33 @@
     std::copy(std::begin(AUDIO_DEVICE_IN_ALL_SCO_ARRAY), std::end(AUDIO_DEVICE_IN_ALL_SCO_ARRAY),
               std::begin(scoDevices) + AUDIO_DEVICE_OUT_SCO_CNT);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, scoDevices,
-            scoDeviceCount, "bluetooth sco", audio_is_bluetooth_sco_device);
+            std::size(scoDevices), "bluetooth sco", audio_is_bluetooth_sco_device);
     const audio_devices_t hearingAidOutDevices[] = { AUDIO_DEVICE_OUT_HEARING_AID };
     runAudioDeviceTypeHelperFunction(allDeviceTypes, hearingAidOutDevices,
-            1 /*targetDeviceCount*/, "hearing aid out", audio_is_hearing_aid_out_device);
+            std::size(hearingAidOutDevices), "hearing aid out", audio_is_hearing_aid_out_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_OUT_ALL_USB_ARRAY,
-            AUDIO_DEVICE_OUT_USB_CNT, "usb out", audio_is_usb_out_device);
+            std::size(AUDIO_DEVICE_OUT_ALL_USB_ARRAY), "usb out", audio_is_usb_out_device);
     runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_IN_ALL_USB_ARRAY,
-            AUDIO_DEVICE_IN_USB_CNT, "usb in", audio_is_usb_in_device);
+            std::size(AUDIO_DEVICE_IN_ALL_USB_ARRAY), "usb in", audio_is_usb_in_device);
+    const audio_devices_t remoteSubmixDevices[] = {
+            AUDIO_DEVICE_IN_REMOTE_SUBMIX, AUDIO_DEVICE_OUT_REMOTE_SUBMIX };
+    runAudioDeviceTypeHelperFunction(allDeviceTypes, remoteSubmixDevices,
+            std::size(remoteSubmixDevices), "remote submix", audio_is_remote_submix_device);
+    runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_OUT_ALL_DIGITAL_ARRAY,
+            std::size(AUDIO_DEVICE_OUT_ALL_DIGITAL_ARRAY), "digital out",
+            audio_is_digital_out_device);
+    runAudioDeviceTypeHelperFunction(allDeviceTypes, AUDIO_DEVICE_IN_ALL_DIGITAL_ARRAY,
+            std::size(AUDIO_DEVICE_IN_ALL_DIGITAL_ARRAY), "digital in",
+            audio_is_digital_in_device);
+    const unsigned int digitalDeviceCount
+            = AUDIO_DEVICE_OUT_DIGITAL_CNT + AUDIO_DEVICE_IN_DIGITAL_CNT;
+    audio_devices_t digitalDevices[digitalDeviceCount];
+    std::copy(std::begin(AUDIO_DEVICE_OUT_ALL_DIGITAL_ARRAY),
+              std::end(AUDIO_DEVICE_OUT_ALL_DIGITAL_ARRAY),
+              std::begin(digitalDevices));
+    std::copy(std::begin(AUDIO_DEVICE_IN_ALL_DIGITAL_ARRAY),
+              std::end(AUDIO_DEVICE_IN_ALL_DIGITAL_ARRAY),
+              std::begin(digitalDevices) + AUDIO_DEVICE_OUT_DIGITAL_CNT);
+    runAudioDeviceTypeHelperFunction(allDeviceTypes, digitalDevices,
+              std::size(digitalDevices), "digital", audio_device_is_digital);
 }