Display "pair new" only when local output device is available.

-If media app does not support cast->phone transferring, local output
audio device is unavailable. "pair new" is for Bluetooth which should be
also unavilable.
-These types are local output audio devices:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI

Bug: 163095048
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451
(cherry picked from commit 113ac8102a)
This commit is contained in:
timhypeng
2020-08-11 10:52:57 +08:00
committed by tim peng
parent 2237c26d0a
commit 44cc57cd9d

View File

@@ -106,10 +106,15 @@ public class MediaOutputSlice implements CustomSliceable {
final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice();
if (devices.size() == 1) {
// Zero state
for (MediaDevice device : devices) {
final MediaDevice device = devices.iterator().next();
addRow(device, device, listBuilder);
}
// Add "pair new" only when local output device exists
final int type = device.getDeviceType();
if (type == MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE
|| type == MediaDevice.MediaDeviceType.TYPE_3POINT5_MM_AUDIO_DEVICE
|| type == MediaDevice.MediaDeviceType.TYPE_USB_C_AUDIO_DEVICE) {
listBuilder.addRow(getPairNewRow());
}
} else {
final boolean isTouched = worker.getIsTouched();
// Fix the last top device when user press device to transfer.