fix(android auto): tapping a song (e.g. in Favoriten) did nothing — re-attach stream URI
Android Auto strips a MediaItem's URI (localConfiguration) when a browse-tree item crosses the process boundary, so onAddMediaItems received the tapped song without a playable URI and the else branch passed it through unchanged → no playback. Rebuild the item with the stream URI resolved from its mediaId. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
1d98b273e7
commit
d35fb01306
1 file changed
+7
-1
@@ -385,7 +385,13 @@ class MusicService : MediaLibraryService() {
|
||||
val pl = repo.getPlaylist(item.mediaId.removePrefix(ITEM_PREFIX_PL))
|
||||
pl.entry.map { song -> song.toMediaItem(repo) }
|
||||
}
|
||||
else -> listOf(item)
|
||||
// A tapped song (e.g. in Favoriten): Android Auto strips the URI
|
||||
// (localConfiguration) when the browse item crosses the process boundary,
|
||||
// so it comes back unplayable → nothing happens. Re-attach the stream URI.
|
||||
else -> {
|
||||
val uri = repo.streamUrl(item.mediaId)?.let { android.net.Uri.parse(it) }
|
||||
listOf(item.buildUpon().setUri(uri).build())
|
||||
}
|
||||
}
|
||||
}
|
||||
settable.set(resolved.toMutableList())
|
||||
|
||||
Reference in new issue
Block a user