MusicRepository: ignore metadata updates for controllers other than the current

This commit is contained in:
MM20 2022-01-15 14:41:58 +01:00
parent 6ca440f553
commit 526f848f97
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -141,25 +141,26 @@ class MusicRepositoryImpl(
allowedCommands: SessionCommandGroup allowedCommands: SessionCommandGroup
) { ) {
super.onConnected(controller, allowedCommands) super.onConnected(controller, allowedCommands)
if (!controller.isConnected) return if (controller != mediaController) return
updateMetadata(controller.currentMediaItem, controller.connectedToken?.packageName) updateMetadata(controller.currentMediaItem, controller.connectedToken?.packageName)
updateState(controller.playerState) updateState(controller.playerState)
} }
override fun onCurrentMediaItemChanged(controller: MediaController, item: MediaItem?) { override fun onCurrentMediaItemChanged(controller: MediaController, item: MediaItem?) {
super.onCurrentMediaItemChanged(controller, item) super.onCurrentMediaItemChanged(controller, item)
if (!controller.isConnected) return if (controller != mediaController) return
updateMetadata(item, controller.connectedToken?.packageName) updateMetadata(item, controller.connectedToken?.packageName)
} }
override fun onPlayerStateChanged(controller: MediaController, state: Int) { override fun onPlayerStateChanged(controller: MediaController, state: Int) {
super.onPlayerStateChanged(controller, state) super.onPlayerStateChanged(controller, state)
if (!controller.isConnected) return if (controller != mediaController) return
updateState(state) updateState(state)
} }
override fun onDisconnected(controller: MediaController) { override fun onDisconnected(controller: MediaController) {
super.onDisconnected(controller) super.onDisconnected(controller)
if (controller != mediaController) return
mediaController = null mediaController = null
} }
} }