From 25500da4865564d1046c83ccd7ef52a5ac7c6ebb Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Tue, 21 Feb 2023 03:09:44 +0800 Subject: [PATCH] Set page status to QUEUE if its image needs update Old image was recycled due to cache eviction --- .../java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt | 1 - .../java/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt b/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt index 2a40fbb3c..09ff0c073 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt +++ b/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt @@ -78,7 +78,6 @@ class ArchivePageLoader(context: Context, uri: Uri, passwdFlow: Flow) : private val mSemaphore = Semaphore(4) override fun onRequest(index: Int) { - notifyPageWait(index) synchronized(mJobMap) { val current = mJobMap[index] if (current?.isActive != true) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt index 793ade52e..8b81986f5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt @@ -36,10 +36,12 @@ abstract class PageLoader { fun request(page: ReaderPage) { val index = mPages.indexOf(page) val image = mImageCache[index] - if (image != null) + if (image != null) { notifyPageSucceed(index, image) - else + } else { + page.status.value = Page.State.QUEUE onRequest(index) + } // val pagesAbsent = (index until (mPreloads + index).coerceAtMost(size())).toMutableList().removeAll(mImageCache.snapshot().keys) // Should we refresh our LruCache ?