From 5e444363611322c64c169e7ada8ed53b78002f9b Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Thu, 2 Mar 2023 14:15:04 -0500 Subject: [PATCH] Fix download status not updating in recents --- .../data/database/models/MangaChapterHistory.kt | 2 -- .../kanade/tachiyomi/ui/recents/RecentMangaAdapter.kt | 2 +- .../eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt | 10 ++++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaChapterHistory.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaChapterHistory.kt index 2969d05802..b022e08415 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaChapterHistory.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaChapterHistory.kt @@ -9,8 +9,6 @@ package eu.kanade.tachiyomi.data.database.models */ data class MangaChapterHistory(val manga: Manga, val chapter: Chapter, val history: History, var extraChapters: List = emptyList()) { - val allChapters: List - get() = listOf(chapter) + extraChapters companion object { fun createBlank() = MangaChapterHistory(MangaImpl(), ChapterImpl(), HistoryImpl()) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaAdapter.kt index dcc3077e5b..44f70e25db 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaAdapter.kt @@ -62,7 +62,7 @@ class RecentMangaAdapter(val delegate: RecentsInterface) : fun getItemByChapterId(id: Long): RecentMangaItem? { return currentItems.find { val item = (it as? RecentMangaItem) ?: return@find false - return@find id in item.mch.allChapters.map { ch -> ch.id } + return@find id == item.chapter.id || id in item.mch.extraChapters.map { ch -> ch.id } } as? RecentMangaItem } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt index 17984dc0f0..2a06087646 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt @@ -447,7 +447,10 @@ class RecentsPresenter( } override fun updateDownload(download: Download) { - recentItems.find { download.chapter.id in it.mch.allChapters.map { ch -> ch.id } }?.apply { + recentItems.find { + download.chapter.id == it.chapter.id || + download.chapter.id in it.mch.extraChapters.map { ch -> ch.id } + }?.apply { if (chapter.id != download.chapter.id) { val downloadInfo = downloadInfo.find { it.chapterId == download.chapter.id } ?: return@apply @@ -501,7 +504,10 @@ class RecentsPresenter( downloadManager.deleteChapters(listOf(chapter), manga, source, true) } if (update) { - val item = recentItems.find { chapter.id in it.mch.allChapters.map { ch -> ch.id } } ?: return + val item = recentItems.find { + chapter.id == it.chapter.id || + chapter.id in it.mch.extraChapters.map { ch -> ch.id } + } ?: return item.apply { if (chapter.id != item.chapter.id) { val extraChapter = mch.extraChapters.find { it.id == chapter.id } ?: return@apply