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 09ff0c073..75ee0620a 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt +++ b/app/src/main/java/com/hippo/ehviewer/gallery/ArchivePageLoader.kt @@ -117,6 +117,9 @@ class ArchivePageLoader(context: Context, uri: Uri, passwdFlow: Flow) : return size != 0 } + override val isReady: Boolean + get() = size != 0 + override fun onCancelRequest(index: Int) { mJobMap[index]?.cancel() } diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.kt b/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.kt index 90d6013f6..0da19f632 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.kt +++ b/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.kt @@ -100,6 +100,9 @@ class EhPageLoader(private val mGalleryInfo: GalleryInfo) : PageLoader2(), OnSpi return mSpiderQueen.awaitReady() } + override val isReady: Boolean + get() = mSpiderQueen.isReady + override fun onCancelRequest(index: Int) { mSpiderQueen.cancelRequest(index) } diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.kt b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.kt index 65768722c..2350c426e 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.kt +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.kt @@ -166,7 +166,7 @@ class SpiderQueen private constructor(val galleryInfo: GalleryInfo) : CoroutineS } private var downloadMode = false - private val isReady + val isReady get() = this::mSpiderInfo.isInitialized && this::mPageStateArray.isInitialized @Synchronized diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 5af843ad5..a6dff9f12 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -320,6 +320,7 @@ class ReaderActivity : EhActivity() { } fun setGallery() { + if (mGalleryProvider?.isReady != true) return // TODO: Not well place to call it dialog.dismiss() 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 8b81986f5..fbf7141d6 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 @@ -19,6 +19,7 @@ abstract class PageLoader { private val mPreloads = MathUtils.clamp(com.hippo.ehviewer.Settings.getPreloadImage(), 0, 100) abstract suspend fun awaitReady(): Boolean + abstract val isReady: Boolean abstract fun start()