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