feat: also collect track position in ms, allows pause handling

This commit is contained in:
2026-05-24 07:29:26 +02:00
parent 698605d7a9
commit b5bc01fac2
4 changed files with 58 additions and 18 deletions

View File

@@ -232,13 +232,17 @@ fun NowPlayingRoute(
LaunchedEffect(collectRunData, playback) {
if (!collectRunData) {
collector.setAcceptSamples(false)
collector.setCollectingEnabled(false)
return@LaunchedEffect
}
val service = playback ?: return@LaunchedEffect
val service = playback ?: run {
collector.setCollectingEnabled(false)
return@LaunchedEffect
}
collector.setPlaybackPositionMsProvider { service.getPlaybackPositionMs() }
collector.setCollectingEnabled(true)
var lastTrackId: String? = null
service.uiState.collect { state ->
collector.setAcceptSamples(state.isPlaying)
val trackId = state.currentTrackId
if (trackId != null && trackId != lastTrackId) {
collector.markSongStart()