Hide reader progress indicator right away (#5750)

The image will be drawn over it so the animation won't be visible anyway
This commit is contained in:
Ivan Iskandar 2021-08-20 05:12:31 +07:00 committed by GitHub
parent 3670d649b8
commit 4eaccc966e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 24 deletions

View File

@ -8,7 +8,6 @@ import android.view.animation.LinearInterpolator
import android.view.animation.RotateAnimation import android.view.animation.RotateAnimation
import android.widget.FrameLayout import android.widget.FrameLayout
import androidx.annotation.IntRange import androidx.annotation.IntRange
import androidx.dynamicanimation.animation.DynamicAnimation
import com.google.android.material.progressindicator.CircularProgressIndicator import com.google.android.material.progressindicator.CircularProgressIndicator
/** /**
@ -84,27 +83,9 @@ class ReaderProgressIndicator @JvmOverloads constructor(
updateRotateAnimation() updateRotateAnimation()
} }
fun setCompleteProgressAndHide() { private fun updateRotateAnimation() {
val listener = object : DynamicAnimation.OnAnimationEndListener { if (isAttachedToWindow && indicator.isShown && !indicator.isIndeterminate) {
override fun onAnimationEnd( if (animation == null) {
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) {
startAnimation(rotateAnimation) startAnimation(rotateAnimation)
} }
} else { } else {

View File

@ -252,7 +252,7 @@ class PagerPageHolder(
* Called when the page is ready. * Called when the page is ready.
*/ */
private fun setImage() { private fun setImage() {
progressIndicator.setCompleteProgressAndHide() progressIndicator.hide()
retryButton?.isVisible = false retryButton?.isVisible = false
decodeErrorLayout?.isVisible = false decodeErrorLayout?.isVisible = false

View File

@ -265,7 +265,7 @@ class WebtoonPageHolder(
* Called when the page is ready. * Called when the page is ready.
*/ */
private fun setImage() { private fun setImage() {
progressIndicator.setCompleteProgressAndHide() progressIndicator.hide()
retryContainer?.isVisible = false retryContainer?.isVisible = false
removeDecodeErrorLayout() removeDecodeErrorLayout()