diff options
| author | 2022-05-24 18:38:58 +0000 | |
|---|---|---|
| committer | 2022-05-24 18:38:58 +0000 | |
| commit | a275233fc58d4a1d3a66d2b51d7c39bd7e2ca563 (patch) | |
| tree | 8dc703bd3f85a9e90703b5d1709aa7c17bb1a3da | |
| parent | 431816112a03a9d8a7a2d6f4ecd389df98e57bff (diff) | |
| parent | be0adabd7a775be7071f862816139360688506a3 (diff) | |
Merge "Add a unique ID to MediaDeviceData" into tm-dev
| -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)          }      }  } |