mirror of
https://github.com/mihonapp/mihon.git
synced 2024-12-24 18:08:24 +01:00
Clean up startDownloadNow function a bit
Fixes #9330, I think. If it was even still an issue.
This commit is contained in:
parent
6a48fed170
commit
3aead3a2a9
@ -68,7 +68,13 @@ class DownloadManager(
|
||||
* Tells the downloader to begin downloads.
|
||||
*/
|
||||
fun startDownloads() {
|
||||
DownloadJob.start(context)
|
||||
if (downloader.isRunning) return
|
||||
|
||||
if (DownloadJob.isRunning(context)) {
|
||||
downloader.start()
|
||||
} else {
|
||||
DownloadJob.start(context)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -97,22 +103,16 @@ class DownloadManager(
|
||||
return queueState.value.find { it.chapter.id == chapterId }
|
||||
}
|
||||
|
||||
fun startDownloadNow(chapterId: Long?) {
|
||||
if (chapterId == null) return
|
||||
val download = getQueuedDownloadOrNull(chapterId)
|
||||
fun startDownloadNow(chapterId: Long) {
|
||||
val existingDownload = getQueuedDownloadOrNull(chapterId)
|
||||
// If not in queue try to start a new download
|
||||
val toAdd = download ?: runBlocking { Download.fromChapterId(chapterId) } ?: return
|
||||
val queue = queueState.value.toMutableList()
|
||||
download?.let { queue.remove(it) }
|
||||
queue.add(0, toAdd)
|
||||
reorderQueue(queue)
|
||||
if (!downloader.isRunning) {
|
||||
if (DownloadJob.isRunning(context)) {
|
||||
downloader.start()
|
||||
} else {
|
||||
DownloadJob.start(context)
|
||||
}
|
||||
val toAdd = existingDownload ?: runBlocking { Download.fromChapterId(chapterId) } ?: return
|
||||
queueState.value.toMutableList().apply {
|
||||
existingDownload?.let { remove(it) }
|
||||
add(0, toAdd)
|
||||
reorderQueue(this)
|
||||
}
|
||||
startDownloads()
|
||||
}
|
||||
|
||||
/**
|
||||
@ -146,7 +146,7 @@ class DownloadManager(
|
||||
addAll(0, downloads)
|
||||
reorderQueue(this)
|
||||
}
|
||||
if (!DownloadJob.isRunning(context)) DownloadJob.start(context)
|
||||
if (!DownloadJob.isRunning(context)) startDownloads()
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user