diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaData.kt | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt | 5 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt index d04ec40c9f28..360f86548e13 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt @@ -212,5 +212,8 @@ data class MediaDeviceData      val name: CharSequence?,      /** Optional intent to override the default output switcher for this control */ -    val intent: PendingIntent? = null +    val intent: PendingIntent? = null, + +    /** Unique id for this device */ +    val id: String? = null  ) diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt index 11ee6578e27d..8558859638d5 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt @@ -155,7 +155,8 @@ class MediaDeviceManager @Inject constructor(          private var playbackType = PLAYBACK_TYPE_UNKNOWN          private var current: MediaDeviceData? = null              set(value) { -                if (!started || value != field) { +                val hasSameId = value?.id != null && value.id == field?.id +                if (!started || (!hasSameId && value != field)) {                      field = value                      fgExecutor.execute {                          processDevice(key, oldKey, value) @@ -263,7 +264,7 @@ class MediaDeviceManager @Inject constructor(              // If we have a controller but get a null route, then don't trust the device              val enabled = device != null && (controller == null || route != null)              val name = route?.name?.toString() ?: device?.name -            current = MediaDeviceData(enabled, device?.iconWithoutBackground, name) +            current = MediaDeviceData(enabled, device?.iconWithoutBackground, name, id = device?.id)          }      }  } |