From 16c6b6b03e9bee27236e160c3467b78eb4f4d3c7 Mon Sep 17 00:00:00 2001 From: tzugen Date: Mon, 14 Jun 2021 21:17:29 +0200 Subject: [PATCH] Fix a potential exception in shuffle() If getCurrentPlayingIndex() returns -1, then remove() fails --- .../main/java/org/moire/ultrasonic/service/Downloader.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java index b47929d9..f768de46 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java @@ -1,7 +1,5 @@ package org.moire.ultrasonic.service; -import timber.log.Timber; - import org.moire.ultrasonic.domain.MusicDirectory; import org.moire.ultrasonic.util.LRUCache; import org.moire.ultrasonic.util.ShufflePlayBuffer; @@ -16,6 +14,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import kotlin.Lazy; +import timber.log.Timber; import static org.koin.java.KoinJavaComponent.inject; import static org.moire.ultrasonic.domain.PlayerState.DOWNLOADING; @@ -342,7 +341,7 @@ public class Downloader Collections.shuffle(downloadList); if (localMediaPlayer.currentPlaying != null) { - downloadList.remove(getCurrentPlayingIndex()); + downloadList.remove(localMediaPlayer.currentPlaying); downloadList.add(0, localMediaPlayer.currentPlaying); } revision++;