From 59c98f03d56f7557f138d615d1e19865bfae4e3e Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Fri, 30 Apr 2021 23:09:35 -0400 Subject: [PATCH] Fix manga covers from browse or extension intents sometimes not showing --- .../tachiyomi/data/image/coil/MangaFetcher.kt | 30 ++++++++++--------- .../tachiyomi/ui/manga/MangaHeaderHolder.kt | 8 ++--- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/image/coil/MangaFetcher.kt b/app/src/main/java/eu/kanade/tachiyomi/data/image/coil/MangaFetcher.kt index 0c18ecf427..a1ade28011 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/image/coil/MangaFetcher.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/image/coil/MangaFetcher.kt @@ -85,22 +85,24 @@ class MangaFetcher : Fetcher { shouldFetchRemotely ) - val tmpFile = File(coverFile.absolutePath + "_tmp") - body.source().use { input -> - tmpFile.sink().buffer().use { output -> - output.writeAll(input) - } - } - - if (response.isSuccessful || !coverFile.exists()) { - if (coverFile.exists()) { - coverFile.delete() + if (options.diskCachePolicy.writeEnabled) { + val tmpFile = File(coverFile.absolutePath + "_tmp") + body.source().use { input -> + tmpFile.sink().buffer().use { output -> + output.writeAll(input) + } } - tmpFile.renameTo(coverFile) - } - if (manga.favorite) { - coverCache.deleteCachedCovers() + if (response.isSuccessful || !coverFile.exists()) { + if (coverFile.exists()) { + coverFile.delete() + } + + tmpFile.renameTo(coverFile) + } + if (manga.favorite) { + coverCache.deleteCachedCovers() + } } return fileLoader(coverFile) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt index 5ca32aeb82..ea3b8262f0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt @@ -12,11 +12,9 @@ import androidx.core.view.isInvisible import androidx.core.view.isVisible import coil.loadAny import coil.request.CachePolicy -import coil.request.Parameters import com.google.android.material.button.MaterialButton import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Manga -import eu.kanade.tachiyomi.data.image.coil.MangaFetcher import eu.kanade.tachiyomi.databinding.MangaHeaderItemBinding import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.model.SManga @@ -329,7 +327,8 @@ class MangaHeaderHolder( builder = { placeholder(drawable) error(drawable) - if (manga.favorite) networkCachePolicy(CachePolicy.DISABLED) + if (manga.favorite) networkCachePolicy(CachePolicy.READ_ONLY) + diskCachePolicy(CachePolicy.READ_ONLY) } ) binding.backdrop.loadAny( @@ -337,7 +336,8 @@ class MangaHeaderHolder( builder = { placeholder(drawable) error(drawable) - if (manga.favorite) networkCachePolicy(CachePolicy.DISABLED) + if (manga.favorite) networkCachePolicy(CachePolicy.READ_ONLY) + diskCachePolicy(CachePolicy.READ_ONLY) } ) }