diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java index fe3ef5d0d46f..dbc3bf7b793e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java @@ -22,6 +22,7 @@ import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.ComponentName; import android.content.Context; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.AudioDeviceAttributes; import android.media.AudioManager; @@ -520,9 +521,13 @@ public class LocalMediaManager implements BluetoothCallback { if (type == MediaDevice.MediaDeviceType.TYPE_USB_C_AUDIO_DEVICE || type == MediaDevice.MediaDeviceType.TYPE_3POINT5_MM_AUDIO_DEVICE || type == MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE) { - MediaDevice mutingExpectedDevice = getMutingExpectedDevice(); - if (mutingExpectedDevice != null) { - mMediaDevices.add(mutingExpectedDevice); + if (isTv()) { + mMediaDevices.addAll(buildDisconnectedBluetoothDevice()); + } else { + MediaDevice mutingExpectedDevice = getMutingExpectedDevice(); + if (mutingExpectedDevice != null) { + mMediaDevices.add(mutingExpectedDevice); + } } break; } @@ -542,6 +547,12 @@ public class LocalMediaManager implements BluetoothCallback { } } + private boolean isTv() { + PackageManager pm = mContext.getPackageManager(); + return pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION) + || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK); + } + private MediaDevice getMutingExpectedDevice() { if (mBluetoothAdapter == null || mAudioManager.getMutingExpectedDevice() == null) { |