feat: M3 weighted shuffle v1 — real /api/radio with scoring #21

Merged
bvandeusen merged 262 commits from dev into main 2026-04-27 11:00:29 -04:00
2 changed files with 6 additions and 0 deletions
Showing only changes of commit c396b673ac - Show all commits
@@ -156,6 +156,10 @@ class PlayerController @Inject constructor(
override fun onEvents(player: Player, events: Player.Events) {
val idx = player.currentMediaItemIndex
val current = queueRefs.getOrNull(idx)
val source = player.currentMediaItem
?.mediaMetadata
?.extras
?.getString(MINSTREL_SOURCE_KEY)
uiStateInternal.value =
PlayerUiState(
currentTrack = current,
@@ -167,6 +171,7 @@ class PlayerController @Inject constructor(
durationMs = player.duration.coerceAtLeast(0),
bufferedPositionMs = player.bufferedPosition.coerceAtLeast(0),
playbackError = player.playerError?.message,
currentSource = source,
)
}
},
@@ -18,4 +18,5 @@ data class PlayerUiState(
val durationMs: Long = 0,
val bufferedPositionMs: Long = 0,
val playbackError: String? = null,
val currentSource: String? = null,
)