mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Clean up startDownloadNow function a bit
Fixes #9330, I think. If it was even still an issue.
This commit is contained in:
		| @@ -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() | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user