From 5f7d56b6d2e9b83408d6d134b8043c13060ceb32 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 28 Oct 2023 17:18:42 -0400 Subject: [PATCH] Try to ensure that reader page error message is removed if image is loaded Maybe fixes #5687 (cherry picked from commit 4868dd2d03214d0b1307cb42abd3e0a4cb5e85c6) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt --- .../presentation/reader/BrightnessOverlay.kt | 3 ++- .../tachiyomi/ui/reader/ReaderViewModel.kt | 3 ++- .../ui/reader/viewer/pager/PagerPageHolder.kt | 16 ++++++++++++---- .../reader/viewer/webtoon/WebtoonPageHolder.kt | 3 ++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/reader/BrightnessOverlay.kt b/app/src/main/java/eu/kanade/presentation/reader/BrightnessOverlay.kt index 144b8ea27..b945906a4 100644 --- a/app/src/main/java/eu/kanade/presentation/reader/BrightnessOverlay.kt +++ b/app/src/main/java/eu/kanade/presentation/reader/BrightnessOverlay.kt @@ -1,5 +1,6 @@ package eu.kanade.presentation.reader +import androidx.annotation.IntRange import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable @@ -10,7 +11,7 @@ import kotlin.math.abs @Composable fun BrightnessOverlay( - value: Int, + @IntRange(from = -100, to = 100) value: Int, ) { if (value >= 0) return diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt index 895a48e61..fd512dcc5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt @@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.reader import android.app.Application import android.net.Uri import androidx.annotation.ColorInt +import androidx.annotation.IntRange import androidx.compose.runtime.Immutable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel @@ -1250,7 +1251,7 @@ class ReaderViewModel @JvmOverloads constructor( val viewer: Viewer? = null, val dialog: Dialog? = null, val menuVisible: Boolean = false, - val brightnessOverlayValue: Int = 0, + @IntRange(from = -100, to = 100) val brightnessOverlayValue: Int = 0, // SY --> val currentPageText: String = "", diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt index 4ac632d8d..87cd851a8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt @@ -126,7 +126,7 @@ class PagerPageHolder( */ private fun setQueued() { progressIndicator.show() - errorLayout?.root?.isVisible = false + removeErrorLayout() } /** @@ -134,7 +134,7 @@ class PagerPageHolder( */ private fun setLoading() { progressIndicator.show() - errorLayout?.root?.isVisible = false + removeErrorLayout() } /** @@ -142,7 +142,7 @@ class PagerPageHolder( */ private fun setDownloading() { progressIndicator.show() - errorLayout?.root?.isVisible = false + removeErrorLayout() } /** @@ -154,7 +154,6 @@ class PagerPageHolder( } else { progressIndicator.setProgress(95) } - errorLayout?.root?.isVisible = false val streamFn = page.stream ?: return val streamFn2 = extraPage?.stream @@ -207,6 +206,7 @@ class PagerPageHolder( pageBackground = background } } + removeErrorLayout() } } @@ -456,4 +456,12 @@ class PagerPageHolder( errorLayout?.root?.isVisible = true return errorLayout!! } + + /** + * Removes the decode error layout from the holder, if found. + */ + private fun removeErrorLayout() { + errorLayout?.root?.isVisible = false + errorLayout = null + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt index db1a3d934..5c58ade0e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt @@ -181,7 +181,6 @@ class WebtoonPageHolder( */ private suspend fun setImage() { progressIndicator.setProgress(0) - removeErrorLayout() val streamFn = page?.stream ?: return @@ -202,6 +201,7 @@ class WebtoonPageHolder( cropBorders = (viewer.config.imageCropBorders && viewer.isContinuous) || (viewer.config.continuousCropBorders && !viewer.isContinuous), ), ) + removeErrorLayout() } // Suspend the coroutine to close the input stream only when the WebtoonPageHolder is recycled suspendCancellableCoroutine { continuation -> @@ -240,6 +240,7 @@ class WebtoonPageHolder( */ private fun onImageDecoded() { progressContainer.isVisible = false + removeErrorLayout() } /**