sort-of-fix progress resetting during shuffle

This commit is contained in:
austinried 2021-08-05 15:10:16 +09:00
parent 9dc1ac451c
commit f3341355e1

View File

@ -118,12 +118,15 @@ export const useToggleShuffle = () => {
const setQueue = useStore(selectTrackPlayer.setQueue) const setQueue = useStore(selectTrackPlayer.setQueue)
const setShuffleOrder = useStore(selectTrackPlayer.setShuffleOrder) const setShuffleOrder = useStore(selectTrackPlayer.setShuffleOrder)
const getShuffleOrder = useCallback(() => useStore.getState().shuffleOrder, []) const getShuffleOrder = useCallback(() => useStore.getState().shuffleOrder, [])
const setProgress = useStore(selectTrackPlayer.setProgress)
const getProgress = useCallback(() => useStore.getState().progress, [])
return async () => { return async () => {
return trackPlayerCommands.enqueue(async () => { return trackPlayerCommands.enqueue(async () => {
const queue = await getQueue() const queue = await getQueue()
const current = await getCurrentTrack() const current = await getCurrentTrack()
const queueShuffleOrder = getShuffleOrder() const queueShuffleOrder = getShuffleOrder()
const progress = getProgress()
await TrackPlayer.remove(queue.map((_t, i) => i).filter(i => i !== current)) await TrackPlayer.remove(queue.map((_t, i) => i).filter(i => i !== current))
@ -153,6 +156,7 @@ export const useToggleShuffle = () => {
} }
setQueue(await getQueue()) setQueue(await getQueue())
setProgress(progress)
}) })
} }
} }