From 46034657832d17dcdfcbeb47a82e2b16139eae02 Mon Sep 17 00:00:00 2001 From: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com> Date: Fri, 20 Aug 2021 05:12:31 +0700 Subject: [PATCH] Hide reader progress indicator right away (#5750) The image will be drawn over it so the animation won't be visible anyway (cherry picked from commit 4eaccc966eba26a47ed3e6d645dcccf8a4edf8ea) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt --- .../reader/viewer/ReaderProgressIndicator.kt | 25 +++---------------- .../ui/reader/viewer/pager/PagerPageHolder.kt | 4 +-- .../viewer/webtoon/WebtoonPageHolder.kt | 2 +- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt index 2d17a4d95..bc9f796dc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt @@ -8,7 +8,6 @@ import android.view.animation.LinearInterpolator import android.view.animation.RotateAnimation import android.widget.FrameLayout import androidx.annotation.IntRange -import androidx.dynamicanimation.animation.DynamicAnimation import com.google.android.material.progressindicator.CircularProgressIndicator /** @@ -84,27 +83,9 @@ class ReaderProgressIndicator @JvmOverloads constructor( updateRotateAnimation() } - fun setCompleteProgressAndHide() { - val listener = object : DynamicAnimation.OnAnimationEndListener { - override fun onAnimationEnd( - animation: DynamicAnimation<*>?, - canceled: Boolean, - value: Float, - velocity: Float - ) { - hide() - indicator.progressDrawable?.removeSpringAnimationEndListener(this) - } - } - - indicator.progressDrawable?.addSpringAnimationEndListener(listener) - indicator.setProgressCompat(100, true) - updateRotateAnimation(forceRotate = true) - } - - private fun updateRotateAnimation(forceRotate: Boolean = false) { - if (forceRotate || (indicator.isShown && !indicator.isIndeterminate)) { - if (animation == null && isAttachedToWindow) { + private fun updateRotateAnimation() { + if (isAttachedToWindow && indicator.isShown && !indicator.isIndeterminate) { + if (animation == null) { startAnimation(rotateAnimation) } } else { 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 3afb45210..11148511f 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 @@ -339,7 +339,7 @@ class PagerPageHolder( */ private fun setImage() { if (extraPage == null) { - progressIndicator.setCompleteProgressAndHide() + progressIndicator.hide() } else { progressIndicator.setProgress(95) } @@ -480,7 +480,7 @@ class PagerPageHolder( return ImageUtil.mergeBitmaps(imageBitmap, imageBitmap2, isLTR, viewer.config.pageCanvasColor) { scope?.launchUI { if (it == 100) { - progressIndicator.setCompleteProgressAndHide() + progressIndicator.hide() } else { progressIndicator.setProgress(it) } 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 75a0a4938..27d72cd93 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 @@ -265,7 +265,7 @@ class WebtoonPageHolder( * Called when the page is ready. */ private fun setImage() { - progressIndicator.setCompleteProgressAndHide() + progressIndicator.hide() retryContainer?.isVisible = false removeDecodeErrorLayout()