mirror of
https://github.com/KRTirtho/spotube.git
synced 2026-09-20 14:44:00 +00:00
fix: play next not working
This commit is contained in:
parent
f4eac7dbd9
commit
4ef256249e
@ -241,20 +241,10 @@ class AlbumViewModel(
|
||||
is TrackOptionsAction.StartRadio -> {}
|
||||
is TrackOptionsAction.PlayNext -> {
|
||||
val queue = audioPlayerQueue.getQueue()
|
||||
val queueIndex = queue.indexOfFirst { entry ->
|
||||
queue.find { entry ->
|
||||
(entry as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (queueIndex >= 0) {
|
||||
audioPlayerQueue.removeFromQueue(queue[queueIndex])
|
||||
}
|
||||
audioPlayerQueue.addToQueue(QueueEntry.StreamingTrack(track = track, url = ""))
|
||||
val newQueue = audioPlayerQueue.getQueue()
|
||||
val newIndex = newQueue.indexOfFirst { e ->
|
||||
(e as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (newIndex > 0) {
|
||||
audioPlayerQueue.move(newIndex, 0)
|
||||
}
|
||||
}?.let { audioPlayerQueue.removeFromQueue(it) }
|
||||
audioPlayerQueue.addAllAfterCurrent(listOf(QueueEntry.StreamingTrack(track = track, url = "")))
|
||||
}
|
||||
|
||||
is TrackOptionsAction.AddToQueue -> {
|
||||
|
||||
@ -329,22 +329,10 @@ class ArtistViewModel(
|
||||
is TrackOptionsAction.StartRadio -> {}
|
||||
is TrackOptionsAction.PlayNext -> {
|
||||
val queue = audioPlayerQueue.getQueue()
|
||||
val queueIndex = queue.indexOfFirst { entry ->
|
||||
queue.find { entry ->
|
||||
(entry as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (queueIndex >= 0) {
|
||||
val entry = queue[queueIndex]
|
||||
audioPlayerQueue.removeFromQueue(entry)
|
||||
}
|
||||
val entry = QueueEntry.StreamingTrack(track = track, url = "")
|
||||
audioPlayerQueue.addToQueue(entry)
|
||||
val newQueue = audioPlayerQueue.getQueue()
|
||||
val newIndex = newQueue.indexOfFirst { e ->
|
||||
(e as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (newIndex >= 0) {
|
||||
audioPlayerQueue.move(newIndex, 0)
|
||||
}
|
||||
}?.let { audioPlayerQueue.removeFromQueue(it) }
|
||||
audioPlayerQueue.addAllAfterCurrent(listOf(QueueEntry.StreamingTrack(track = track, url = "")))
|
||||
}
|
||||
is TrackOptionsAction.AddToQueue -> {
|
||||
audioPlayerQueue.addToQueue(QueueEntry.StreamingTrack(track = track, url = ""))
|
||||
|
||||
@ -274,20 +274,10 @@ class PlaylistViewModel(
|
||||
is TrackOptionsAction.StartRadio -> {}
|
||||
is TrackOptionsAction.PlayNext -> {
|
||||
val queue = audioPlayerQueue.getQueue()
|
||||
val queueIndex = queue.indexOfFirst { entry ->
|
||||
queue.find { entry ->
|
||||
(entry as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (queueIndex >= 0) {
|
||||
audioPlayerQueue.removeFromQueue(queue[queueIndex])
|
||||
}
|
||||
audioPlayerQueue.addToQueue(QueueEntry.StreamingTrack(track = track, url = ""))
|
||||
val newQueue = audioPlayerQueue.getQueue()
|
||||
val newIndex = newQueue.indexOfFirst { e ->
|
||||
(e as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (newIndex > 0) {
|
||||
audioPlayerQueue.move(newIndex, 0)
|
||||
}
|
||||
}?.let { audioPlayerQueue.removeFromQueue(it) }
|
||||
audioPlayerQueue.addAllAfterCurrent(listOf(QueueEntry.StreamingTrack(track = track, url = "")))
|
||||
}
|
||||
|
||||
is TrackOptionsAction.AddToQueue -> {
|
||||
|
||||
@ -224,20 +224,10 @@ class SavedTracksViewModel(
|
||||
is TrackOptionsAction.StartRadio -> {}
|
||||
is TrackOptionsAction.PlayNext -> {
|
||||
val queue = audioPlayerQueue.getQueue()
|
||||
val queueIndex = queue.indexOfFirst { entry ->
|
||||
queue.find { entry ->
|
||||
(entry as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (queueIndex >= 0) {
|
||||
audioPlayerQueue.removeFromQueue(queue[queueIndex])
|
||||
}
|
||||
audioPlayerQueue.addToQueue(QueueEntry.StreamingTrack(track = track, url = ""))
|
||||
val newQueue = audioPlayerQueue.getQueue()
|
||||
val newIndex = newQueue.indexOfFirst { e ->
|
||||
(e as? QueueEntry.StreamingTrack)?.track?.matchesTrack(track) == true
|
||||
}
|
||||
if (newIndex > 0) {
|
||||
audioPlayerQueue.move(newIndex, 0)
|
||||
}
|
||||
}?.let { audioPlayerQueue.removeFromQueue(it) }
|
||||
audioPlayerQueue.addAllAfterCurrent(listOf(QueueEntry.StreamingTrack(track = track, url = "")))
|
||||
}
|
||||
|
||||
is TrackOptionsAction.AddToQueue -> {
|
||||
|
||||
@ -171,20 +171,10 @@ fun SearchScreen(viewModel: SearchScreenViewModel = koinViewModel()) {
|
||||
is TrackOptionsAction.StartRadio -> {}
|
||||
is TrackOptionsAction.PlayNext -> {
|
||||
val queue = audioPlayerQueue.getQueue()
|
||||
val queueIndex = queue.indexOfFirst { entry ->
|
||||
queue.find { entry ->
|
||||
(entry as? QueueEntry.StreamingTrack)?.track?.id == track.id
|
||||
}
|
||||
if (queueIndex >= 0) {
|
||||
audioPlayerQueue.removeFromQueue(queue[queueIndex])
|
||||
}
|
||||
audioPlayerQueue.addToQueue(QueueEntry.StreamingTrack(track = track, url = ""))
|
||||
val newQueue = audioPlayerQueue.getQueue()
|
||||
val newIndex = newQueue.indexOfFirst { e ->
|
||||
(e as? QueueEntry.StreamingTrack)?.track?.id == track.id
|
||||
}
|
||||
if (newIndex > 0) {
|
||||
audioPlayerQueue.move(newIndex, 0)
|
||||
}
|
||||
}?.let { audioPlayerQueue.removeFromQueue(it) }
|
||||
audioPlayerQueue.addAllAfterCurrent(listOf(QueueEntry.StreamingTrack(track = track, url = "")))
|
||||
}
|
||||
|
||||
is TrackOptionsAction.AddToQueue -> {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user