Merge "Add a unique ID to MediaDeviceData" into tm-dev am: a275233fc5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18565545

Change-Id: I72e77d11d1199f887bb3f96e33bfd856712d2b45
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Justin Weir
2022-05-24 19:00:59 +00:00
committed by Automerger Merge Worker
2 changed files with 7 additions and 3 deletions

View File

@@ -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
)

View File

@@ -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)
}
}
}