|  | @@ -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 {
 |