diff --git a/CHANGELOG.md b/CHANGELOG.md index 9027f7d47f..02c5fc7c36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,15 +9,12 @@ ## Other ?? Technical stuff, what happened behind the scene --> -## Additions -- Add button to local source's entry info editor to invalidate cover, - in case Android messing it up (especially on heavily modified ROMs) - ## Changes - Add more info to WorkerInfo page - Added "next scheduled run" - Added attempt count - `english` tag no longer cause reading mode to switch to LTR (mangkoran) +- Local source manga's cover now being invalidated on refresh ## Fixes - Fixed auto backup, auto extension update, and app update checker stop working 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 94965ec334..743cc704f1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt @@ -226,11 +226,17 @@ class LocalSource(private val context: Context) : CatalogueSource, UnmeteredSour val legacyJsonFile = localMangaFiles.firstOrNull { it.extension.orEmpty().equals("json", true) } if (comicInfoFile != null) - return@withIOContext manga.copy().apply { setMangaDetailsFromComicInfoFile(comicInfoFile.openInputStream(), this) } + return@withIOContext manga.copy().apply { + setMangaDetailsFromComicInfoFile(comicInfoFile.openInputStream(), this) + invalidateCover(manga) + } // TODO: Remove after awhile if (legacyJsonFile != null) { - val rt = manga.copy().apply { setMangaDetailsFromLegacyJsonFile(legacyJsonFile.openInputStream(), this) } + val rt = manga.copy().apply { + setMangaDetailsFromLegacyJsonFile(legacyJsonFile.openInputStream(), this) + invalidateCover(manga) + } val comicInfo = rt.toComicInfo() localMangaDir.createFile(COMIC_INFO_FILE) ?.writeText(xml.encodeToString(ComicInfo.serializer(), comicInfo)) { legacyJsonFile.delete() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt index 3daffb4552..5db32e3a2f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt @@ -216,22 +216,14 @@ class EditMangaDialog : DialogController { true } - binding.resetCover.text = context.getString( - if (isLocal) { - MR.strings.invalidate_cover - } else { - MR.strings.reset_cover - } - ) + binding.resetCover.isVisible = !isLocal binding.resetCover.setOnClickListener { - if (!isLocal) { - binding.mangaCover.load( - manga, - ) { - extras[MangaCoverFetcher.USE_CUSTOM_COVER_KEY] = false - } - customCoverUri = null + binding.mangaCover.load( + manga, + ) { + extras[MangaCoverFetcher.USE_CUSTOM_COVER_KEY] = false } + customCoverUri = null willResetCover = true } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt index 1bdadb54ff..0d73501253 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt @@ -12,6 +12,10 @@ import coil3.request.SuccessResult import com.hippo.unifile.UniFile import dev.icerock.moko.resources.StringResource import eu.kanade.tachiyomi.BuildConfig +import eu.kanade.tachiyomi.R +import yokai.i18n.MR +import yokai.util.lang.getString +import dev.icerock.moko.resources.compose.stringResource import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Category @@ -77,8 +81,6 @@ import yokai.domain.library.custom.model.CustomMangaInfo import yokai.domain.manga.interactor.UpdateManga import yokai.domain.manga.models.MangaUpdate import yokai.domain.storage.StorageManager -import yokai.i18n.MR -import yokai.util.lang.getString import java.io.File import java.io.FileOutputStream import java.io.OutputStream @@ -852,11 +854,7 @@ class MangaDetailsPresenter( if (uri != null) { editCoverWithStream(uri) } else if (resetCover) { - if (!manga.isLocal()) { - coverCache.deleteCustomCover(manga) - } else { - LocalSource.invalidateCover(manga) - } + coverCache.deleteCustomCover(manga) view?.setPaletteColor() } view?.updateHeader() diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index 21bf6a8c23..6aae802289 100644 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -553,7 +553,6 @@ Add tag Clear tags Reset tags - Invalidate cover Reset cover Failed to update cover Series must be in your library to edit