From 84daba377150e3ea7c29bdfe72f103f3f29ddeb4 Mon Sep 17 00:00:00 2001 From: tzugen Date: Thu, 10 Nov 2022 11:44:08 +0100 Subject: [PATCH] Fix one crash --- .../kotlin/org/moire/ultrasonic/service/DownloadService.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/DownloadService.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/DownloadService.kt index d714720f..8899f382 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/DownloadService.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/DownloadService.kt @@ -136,7 +136,9 @@ class DownloadService : Service(), KoinComponent { // Fill up active List with waiting tasks while (activelyDownloading.size < Settings.parallelDownloads && downloadQueue.size > 0) { - val track = downloadQueue.remove() + // Use poll() instead of remove() which throws an Exception if there is no element. + val track: DownloadableTrack = downloadQueue.poll() ?: continue + val downloadTask = DownloadTask(track, scope!!, ::downloadStateChangedCallback) activelyDownloading[track] = downloadTask FileUtil.createDirectoryForParent(track.pinnedFile)