summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src
diff options
context:
space:
mode:
authortimhypeng <timhypeng@google.com>2020-08-12 13:03:39 +0800
committertim peng <timhypeng@google.com>2020-09-16 00:29:15 +0000
commit8c35d00752120ef91dad1ffd2d3cb8d0f5d4434f (patch)
tree5a7f8b7619d38b9f262bd08de369e1bbb7cc1999 /packages/SettingsLib/src
parent204479a075bb51cc34425c0bd5187470f7e85b60 (diff)
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 254a0a2603a539c4b4fd2eec12bbec874553ee37)
Diffstat (limited to 'packages/SettingsLib/src')
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
index 9d06c8467e41..72a6074ff89c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
@@ -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();