diff options
| author | 2024-07-10 00:42:10 +0000 | |
|---|---|---|
| committer | 2024-07-10 00:42:10 +0000 | |
| commit | 75587f35b1346b447c01e3e16e2b2b0eaf998a54 (patch) | |
| tree | c244befabc34f2566ca81f49f285b4fe3e19874b | |
| parent | b6e6aa6c79c131d17e009788cc76d357b0ac78f3 (diff) | |
| parent | db954501543ff815a03d070fe19422fa5e268094 (diff) | |
Merge "Add test for IAE on address-less bluetooth routes in InfoMediaManager" into 24D1-dev
| -rw-r--r-- | packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java index c159d5ee37f0..39ce5dab5306 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java @@ -85,6 +85,15 @@ public class InfoMediaManagerTest { private static final String TEST_DUPLICATED_ID_1 = "test_duplicated_id_1"; private static final String TEST_DUPLICATED_ID_2 = "test_duplicated_id_2"; private static final String TEST_DUPLICATED_ID_3 = "test_duplicated_id_3"; + private static final String TEST_BLUETOOTH_ROUTE_ID = "TEST_BT_ROUTE_ID"; + + private static final MediaRoute2Info TEST_BLUETOOTH_ROUTE = + new MediaRoute2Info.Builder(TEST_BLUETOOTH_ROUTE_ID, "BLUETOOTH_ROUTE") + .setSystemRoute(true) + .addFeature(MediaRoute2Info.FEATURE_LIVE_AUDIO) + .setType(TYPE_BLUETOOTH_A2DP) + .setAddress("00:00:00:00:00:00") + .build(); @Mock private MediaRouter2Manager mRouterManager; @@ -848,6 +857,23 @@ public class InfoMediaManagerTest { } @Test + public void addMediaDevice_withAddresslessBluetoothDevice_shouldIgnoreDeviceAndNotCrash() { + MediaRoute2Info bluetoothRoute = + new MediaRoute2Info.Builder(TEST_BLUETOOTH_ROUTE).setAddress(null).build(); + + final CachedBluetoothDeviceManager cachedBluetoothDeviceManager = + mock(CachedBluetoothDeviceManager.class); + when(mLocalBluetoothManager.getCachedDeviceManager()) + .thenReturn(cachedBluetoothDeviceManager); + when(cachedBluetoothDeviceManager.findDevice(any(BluetoothDevice.class))).thenReturn(null); + + mInfoMediaManager.mMediaDevices.clear(); + mInfoMediaManager.addMediaDevice(bluetoothRoute); + + assertThat(mInfoMediaManager.mMediaDevices.size()).isEqualTo(0); + } + + @Test public void addMediaDevice_deviceIncludedInSelectedDevices_shouldSetAsCurrentConnected() { final MediaRoute2Info route2Info = mock(MediaRoute2Info.class); final CachedBluetoothDeviceManager cachedBluetoothDeviceManager = |