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,8 +68,14 @@ class DownloadManager(
|
|||||||
* Tells the downloader to begin downloads.
|
* Tells the downloader to begin downloads.
|
||||||
*/
|
*/
|
||||||
fun startDownloads() {
|
fun startDownloads() {
|
||||||
|
if (downloader.isRunning) return
|
||||||
|
|
||||||
|
if (DownloadJob.isRunning(context)) {
|
||||||
|
downloader.start()
|
||||||
|
} else {
|
||||||
DownloadJob.start(context)
|
DownloadJob.start(context)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tells the downloader to pause downloads.
|
* Tells the downloader to pause downloads.
|
||||||
@ -97,22 +103,16 @@ class DownloadManager(
|
|||||||
return queueState.value.find { it.chapter.id == chapterId }
|
return queueState.value.find { it.chapter.id == chapterId }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun startDownloadNow(chapterId: Long?) {
|
fun startDownloadNow(chapterId: Long) {
|
||||||
if (chapterId == null) return
|
val existingDownload = getQueuedDownloadOrNull(chapterId)
|
||||||
val download = getQueuedDownloadOrNull(chapterId)
|
|
||||||
// If not in queue try to start a new download
|
// If not in queue try to start a new download
|
||||||
val toAdd = download ?: runBlocking { Download.fromChapterId(chapterId) } ?: return
|
val toAdd = existingDownload ?: runBlocking { Download.fromChapterId(chapterId) } ?: return
|
||||||
val queue = queueState.value.toMutableList()
|
queueState.value.toMutableList().apply {
|
||||||
download?.let { queue.remove(it) }
|
existingDownload?.let { remove(it) }
|
||||||
queue.add(0, toAdd)
|
add(0, toAdd)
|
||||||
reorderQueue(queue)
|
reorderQueue(this)
|
||||||
if (!downloader.isRunning) {
|
|
||||||
if (DownloadJob.isRunning(context)) {
|
|
||||||
downloader.start()
|
|
||||||
} else {
|
|
||||||
DownloadJob.start(context)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
startDownloads()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -146,7 +146,7 @@ class DownloadManager(
|
|||||||
addAll(0, downloads)
|
addAll(0, downloads)
|
||||||
reorderQueue(this)
|
reorderQueue(this)
|
||||||
}
|
}
|
||||||
if (!DownloadJob.isRunning(context)) DownloadJob.start(context)
|
if (!DownloadJob.isRunning(context)) startDownloads()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user