feat: M3 weighted shuffle v1 — real /api/radio with scoring #21
@@ -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,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user