playback: fix add to queue again

This commit is contained in:
Alexander Capehart 2024-02-28 23:08:09 -07:00
parent b43586c1ea
commit c42da2240c
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47

View file

@ -68,6 +68,9 @@ class BetterShuffleOrder(private val shuffled: IntArray) : ShuffleOrder {
return BetterShuffleOrder(insertionCount, -1)
}
// TODO: Fix this scuffed hacky logic
// TODO: Play next ordering needs to persist in unshuffle
val newShuffled = IntArray(shuffled.size + insertionCount)
val pivot: Int =
if (insertionIndex < shuffled.size) {
@ -87,9 +90,15 @@ class BetterShuffleOrder(private val shuffled: IntArray) : ShuffleOrder {
newShuffled[i + insertionCount] = currentIndex
}
}
if (insertionIndex < shuffled.size) {
for (i in 0 until insertionCount) {
newShuffled[pivot + i + 1] = insertionIndex + i + 1
}
} else {
for (i in 0 until insertionCount) {
newShuffled[pivot + i] = insertionIndex + i
}
}
return BetterShuffleOrder(newShuffled)
}