From fa1f780b47f83ef686ae33e0748f11a26d04cd61 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Wed, 31 Jul 2024 07:52:28 +0700 Subject: [PATCH] refactor(source/local): Invalidate before getting other manga details Reduce code duplication and also covers local manga without metadata file --- app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt index cfd9351cad..38d581100e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt @@ -196,6 +196,9 @@ class LocalSource(private val context: Context) : CatalogueSource, UnmeteredSour override suspend fun getLatestUpdates(page: Int) = getSearchManga(page, "", latestFilters) override suspend fun getMangaDetails(manga: SManga): SManga = withIOContext { + // Making sure that we have the latest cover file path, in case user use different file format + invalidateCover(manga) + try { val localMangaDir = getBaseDirectory()?.findFile(manga.url) ?: throw Exception("${manga.url} is not a valid directory") val localMangaFiles = localMangaDir.listFiles().orEmpty().filter { !it.isDirectory } @@ -205,14 +208,12 @@ class LocalSource(private val context: Context) : CatalogueSource, UnmeteredSour if (comicInfoFile != null) return@withIOContext manga.copy().apply { setMangaDetailsFromComicInfoFile(comicInfoFile.openInputStream(), this) - invalidateCover(this) } // TODO: Remove after awhile if (legacyJsonFile != null) { val rt = manga.copy().apply { setMangaDetailsFromLegacyJsonFile(legacyJsonFile.openInputStream(), this) - invalidateCover(this) } val comicInfo = rt.toComicInfo() localMangaDir.createFile(COMIC_INFO_FILE)