feat(web+android): search play queues only the tapped song (radio fills the rest)
Playing a song from search results queued the whole result list. Now it plays only the clicked song; Radio mode, if on, fills the rest — closer to Spotify. Both platforms already trigger a radio top-up on the first track (web playQueue → fillRadioQueue; Android onMediaItemTransition → checkRadioRefill), so no extra wiring is needed. Album/playlist play still queues the full list. Bump SW cache to ns-v44. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
14fd5119f2
commit
1e242796fe
5 files changed
+9
-7
No files matched your search
@@ -343,7 +343,8 @@ private fun LibrarySearchContent(
|
||||
coverUrl = coverUrl(song.coverArt),
|
||||
isPlaying = playerState.currentSong?.id == song.id,
|
||||
starred = song.starred != null,
|
||||
onPlay = { onSongPlay(songs, idx) },
|
||||
// Play only the tapped song; Radio mode (if on) fills the rest.
|
||||
onPlay = { onSongPlay(listOf(song), 0) },
|
||||
onMore = onShowContextMenu?.let { cb -> { cb(song) } },
|
||||
)
|
||||
}
|
||||
|
||||
@@ -57,12 +57,12 @@ fun SearchScreen(
|
||||
if (r.song.isNotEmpty()) {
|
||||
item { ResultHeader("Songs") }
|
||||
items(r.song, key = { it.id }) { song ->
|
||||
val idx = r.song.indexOf(song)
|
||||
SongRow(
|
||||
song = song,
|
||||
coverUrl = coverUrl(song.coverArt),
|
||||
isPlaying = playerState.currentSong?.id == song.id,
|
||||
onPlay = { onSongPlay(r.song, idx) },
|
||||
// Play only the tapped song; Radio mode (if on) fills the rest.
|
||||
onPlay = { onSongPlay(listOf(song), 0) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user