Add null check when build MediaDevice
- We may not found CachedBluetoothDevice through CachedBluetoothDeviceManager. This CL add null check before we build the MediaDevice. - Add test case Bug: 154152005 Test: make -j42 RunSettingsLibRoboTests Change-Id: I042912317e1924d8b9bdababf0b7dcb69836f9e2
This commit is contained in:
@@ -397,8 +397,10 @@ public class InfoMediaManager extends MediaManager {
|
||||
BluetoothAdapter.getDefaultAdapter().getRemoteDevice(route.getOriginalId());
|
||||
final CachedBluetoothDevice cachedDevice =
|
||||
mBluetoothManager.getCachedDeviceManager().findDevice(device);
|
||||
mediaDevice = new BluetoothMediaDevice(mContext, cachedDevice, mRouterManager,
|
||||
route, mPackageName);
|
||||
if (cachedDevice != null) {
|
||||
mediaDevice = new BluetoothMediaDevice(mContext, cachedDevice, mRouterManager,
|
||||
route, mPackageName);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
Log.w(TAG, "addMediaDevice() unknown device type : " + deviceType);
|
||||
|
||||
@@ -647,4 +647,23 @@ public class InfoMediaManagerTest {
|
||||
mInfoMediaManager.addMediaDevice(route2Info);
|
||||
assertThat(mInfoMediaManager.mMediaDevices.get(0) instanceof PhoneMediaDevice).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addMediaDevice_cachedBluetoothDeviceIsNull_shouldNotAdded() {
|
||||
final MediaRoute2Info route2Info = mock(MediaRoute2Info.class);
|
||||
final CachedBluetoothDeviceManager cachedBluetoothDeviceManager =
|
||||
mock(CachedBluetoothDeviceManager.class);
|
||||
|
||||
when(route2Info.getType()).thenReturn(TYPE_BLUETOOTH_A2DP);
|
||||
when(route2Info.getOriginalId()).thenReturn("00:00:00:00:00:00");
|
||||
when(mLocalBluetoothManager.getCachedDeviceManager())
|
||||
.thenReturn(cachedBluetoothDeviceManager);
|
||||
when(cachedBluetoothDeviceManager.findDevice(any(BluetoothDevice.class)))
|
||||
.thenReturn(null);
|
||||
|
||||
mInfoMediaManager.mMediaDevices.clear();
|
||||
mInfoMediaManager.addMediaDevice(route2Info);
|
||||
|
||||
assertThat(mInfoMediaManager.mMediaDevices.size()).isEqualTo(0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user