From 3e4f62f3f6f60e56ed367cecbfd35a5e0ce7182e Mon Sep 17 00:00:00 2001 From: nonproto <2092019+nonproto@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:28:37 -0500 Subject: [PATCH] Fix downloads being "lost" when switching manga title to alt title --- .../tachiyomi/data/download/DownloadCache.kt | 2 +- .../tachiyomi/ui/manga/MangaDetailPresenter.kt | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt index ef51069e75..6dba08246c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt @@ -230,7 +230,7 @@ class DownloadCache( /** Searches a manga list and matches the given mangakey and source key */ private fun findManga(mangaList: List, mangaKey: String, sourceKey: Long): Manga? { return mangaList.find { - DiskUtil.buildValidFilename(it.title).lowercase(Locale.US) == + DiskUtil.buildValidFilename(it.originalTitle).lowercase(Locale.US) == mangaKey.lowercase(Locale.US) && it.source == sourceKey } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailPresenter.kt index 5b4527c4b9..68de958b31 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailPresenter.kt @@ -121,8 +121,6 @@ class MangaDetailPresenter( private val _currentManga = MutableStateFlow(null) val manga: StateFlow = _currentManga.asStateFlow() - val downloadsScope = presenterScope - private fun currentManga(): Manga { if (_currentManga.value == null) { val dbManga = db.getManga(mangaId).executeAsBlocking() @@ -168,12 +166,9 @@ class MangaDetailPresenter( _currentManga.value = dbManga val validMergeTypes = when (sourceManager.komga.hasCredentials()) { - true -> MergeType.values().toList().toPersistentList() + true -> MergeType.entries.toPersistentList() false -> - MergeType.values() - .toList() - .filterNot { it == MergeType.Komga } - .toPersistentList() + MergeType.entries.filterNot { it == MergeType.Komga }.toPersistentList() } _generalState.value = MangaConstants.MangaScreenGeneralState( @@ -1908,7 +1903,7 @@ class MangaDetailPresenter( } // This is already filtered before reaching here, so directly update the chapters - fun onUpdateManga(mangaId: Long?) { + private fun onUpdateManga(mangaId: Long?) { updateChapterFlows() } @@ -1959,7 +1954,7 @@ class MangaDetailPresenter( } // callback from Downloader - fun updateDownloadState(download: Download) { + private fun updateDownloadState(download: Download) { presenterScope.launchIO { val currentChapters = generalState.value.activeChapters val index = currentChapters.indexOfFirst { it.chapter.id == download.chapter.id } @@ -1980,10 +1975,6 @@ class MangaDetailPresenter( } } - /* override fun updateDownloads() { - presenterScope.launchIO { updateChapterFlows() } - }*/ - fun getChapterUrl(chapter: SimpleChapter): String { return chapter.getHttpSource(sourceManager).getChapterUrl(chapter) }