Merge branch 'develop' into modern-notification-2

This commit is contained in:
tzugen 2021-04-27 08:18:49 +02:00 committed by GitHub
commit 3e8cf63603
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions

View File

@ -194,6 +194,12 @@ public class Downloader
revision++; revision++;
i--; i--;
} }
else if (downloadFile.isFailed() && !downloadFile.shouldRetry()) {
// Don't continue to attempt to download forever
backgroundDownloadList.remove(i);
revision++;
i--;
}
else else
{ {
currentDownloading = downloadFile; currentDownloading = downloadFile;

View File

@ -45,6 +45,7 @@ class DownloadFile(
private val mediaStoreService: MediaStoreService private val mediaStoreService: MediaStoreService
private var downloadTask: CancellableTask? = null private var downloadTask: CancellableTask? = null
var isFailed = false var isFailed = false
private var retryCount = 5
private val desiredBitRate: Int = Util.getMaxBitRate(context) private val desiredBitRate: Int = Util.getMaxBitRate(context)
@ -127,6 +128,10 @@ class DownloadFile(
return save return save
} }
fun shouldRetry(): Boolean {
return (retryCount > 0)
}
fun delete() { fun delete() {
cancelDownload() cancelDownload()
Util.delete(partialFile) Util.delete(partialFile)
@ -288,6 +293,9 @@ class DownloadFile(
Util.delete(saveFile) Util.delete(saveFile)
if (!isCancelled) { if (!isCancelled) {
isFailed = true isFailed = true
if (retryCount > 0) {
--retryCount
}
Timber.w(x, "Failed to download '%s'.", song) Timber.w(x, "Failed to download '%s'.", song)
} }
} finally { } finally {