Merge "Add a unique ID to MediaDeviceData" into tm-dev
This commit is contained in:
@@ -212,5 +212,8 @@ data class MediaDeviceData
|
|||||||
val name: CharSequence?,
|
val name: CharSequence?,
|
||||||
|
|
||||||
/** Optional intent to override the default output switcher for this control */
|
/** 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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -155,7 +155,8 @@ class MediaDeviceManager @Inject constructor(
|
|||||||
private var playbackType = PLAYBACK_TYPE_UNKNOWN
|
private var playbackType = PLAYBACK_TYPE_UNKNOWN
|
||||||
private var current: MediaDeviceData? = null
|
private var current: MediaDeviceData? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
if (!started || value != field) {
|
val hasSameId = value?.id != null && value.id == field?.id
|
||||||
|
if (!started || (!hasSameId && value != field)) {
|
||||||
field = value
|
field = value
|
||||||
fgExecutor.execute {
|
fgExecutor.execute {
|
||||||
processDevice(key, oldKey, value)
|
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
|
// 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 enabled = device != null && (controller == null || route != null)
|
||||||
val name = route?.name?.toString() ?: device?.name
|
val name = route?.name?.toString() ?: device?.name
|
||||||
current = MediaDeviceData(enabled, device?.iconWithoutBackground, name)
|
current = MediaDeviceData(enabled, device?.iconWithoutBackground, name, id = device?.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user