Display disconnected bluetooth devices only when local output device is available.
-If media app does not support cast->phone transferring, local output
audio device is unavailable. Disconnected bluetooth devices should be
also unavilable.
-These types are local output audio devices defined in MediaRoute2Info:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI
-Update test case
Bug: 163095048
Test: make -j50 RunSettingsLibRoboTests
Change-Id: I0ceea496d677e514cce0e773a8731bb4eeff874d
(cherry picked from commit 254a0a2603)
This commit is contained in:
@@ -465,7 +465,16 @@ public class LocalMediaManager implements BluetoothCallback {
|
||||
synchronized (mMediaDevicesLock) {
|
||||
mMediaDevices.clear();
|
||||
mMediaDevices.addAll(devices);
|
||||
mMediaDevices.addAll(buildDisconnectedBluetoothDevice());
|
||||
// Add disconnected bluetooth devices only when phone output device is available.
|
||||
for (MediaDevice device : devices) {
|
||||
final int type = device.getDeviceType();
|
||||
if (type == MediaDevice.MediaDeviceType.TYPE_USB_C_AUDIO_DEVICE
|
||||
|| type == MediaDevice.MediaDeviceType.TYPE_3POINT5_MM_AUDIO_DEVICE
|
||||
|| type == MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE) {
|
||||
mMediaDevices.addAll(buildDisconnectedBluetoothDevice());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final MediaDevice infoMediaDevice = mInfoMediaManager.getCurrentConnectedDevice();
|
||||
|
||||
@@ -585,6 +585,7 @@ public class LocalMediaManagerTest {
|
||||
when(device1.getId()).thenReturn(TEST_DEVICE_ID_1);
|
||||
when(device2.getId()).thenReturn(TEST_DEVICE_ID_2);
|
||||
when(device3.getId()).thenReturn(TEST_DEVICE_ID_3);
|
||||
when(device1.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE);
|
||||
when(mLocalMediaManager.mPhoneDevice.getId()).thenReturn("test_phone_id");
|
||||
|
||||
assertThat(mLocalMediaManager.mMediaDevices).hasSize(2);
|
||||
@@ -683,6 +684,7 @@ public class LocalMediaManagerTest {
|
||||
when(device1.getId()).thenReturn(TEST_DEVICE_ID_1);
|
||||
when(device2.getId()).thenReturn(TEST_DEVICE_ID_2);
|
||||
when(device3.getId()).thenReturn(TEST_DEVICE_ID_3);
|
||||
when(device1.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE);
|
||||
when(mLocalMediaManager.mPhoneDevice.getId()).thenReturn("test_phone_id");
|
||||
|
||||
assertThat(mLocalMediaManager.mMediaDevices).hasSize(2);
|
||||
|
||||
Reference in New Issue
Block a user