Skip the setPreferredDevice routing test for same type
setPreferredDevice can not differentiate devices with same type,
re-enable the routing tests once it's fixed.
Test: atest
CtsMediaTestCases:android.media.cts.RoutingTest#test_MediaPlayer_RoutingChangedCallback
Bug: 122478352
Bug: 119366272
Change-Id: I0385c7626cd698f2c8eb229a70b0591651a4822a
diff --git a/tests/tests/media/src/android/media/cts/RoutingTest.java b/tests/tests/media/src/android/media/cts/RoutingTest.java
index 69e3f5c..28d9564 100644
--- a/tests/tests/media/src/android/media/cts/RoutingTest.java
+++ b/tests/tests/media/src/android/media/cts/RoutingTest.java
@@ -668,8 +668,15 @@
// The available output device is less than 2, we can't switch output device.
return;
}
- for (int index = 0; index < deviceList.length; index++) {
- assertTrue(mediaPlayer.setPreferredDevice(deviceList[index]));
+ Set<Integer> testedDeviceTypes = new HashSet<>();
+ for (AudioDeviceInfo device : deviceList) {
+ final int deviceType = device.getType();
+ if (testedDeviceTypes.contains(deviceType)) {
+ // b/122478352 setPreferredDevice can not differentiate devices with same type.
+ continue;
+ }
+ testedDeviceTypes.add(deviceType);
+ assertTrue(mediaPlayer.setPreferredDevice(device));
boolean routingChanged = false;
for (int i = 0; i < MAX_WAITING_ROUTING_CHANGED_COUNT; i++) {
// Create a new CountDownLatch in case it is triggered by previous routing change.
@@ -682,12 +689,12 @@
if (routedDevice == null) {
continue;
}
- if (routedDevice.getId() == deviceList[index].getId()) {
+ if (routedDevice.getId() == device.getId()) {
routingChanged = true;
break;
}
}
- assertTrue("Switching to device" + deviceList[index].getType() + " failed",
+ assertTrue("Switching to device " + device.getType() + " failed",
routingChanged);
}