package androidx.dynamicanimation.animation; import android.os.Looper; import android.util.AndroidRuntimeException; import androidx.dynamicanimation.animation.DynamicAnimation; import tech.rabbit.r1launcher.BuildConfig; /* loaded from: classes.dex */ public final class SpringAnimation extends DynamicAnimation { private static final float UNSET = Float.MAX_VALUE; private boolean mEndRequested; private float mPendingPosition; private SpringForce mSpring; public SpringForce getSpring() { return this.mSpring; } public SpringAnimation setSpring(SpringForce springForce) { this.mSpring = springForce; return this; } @Override // androidx.dynamicanimation.animation.DynamicAnimation void setValueThreshold(float f) { } public SpringAnimation(FloatValueHolder floatValueHolder) { super(floatValueHolder); this.mSpring = null; this.mPendingPosition = Float.MAX_VALUE; this.mEndRequested = false; } public SpringAnimation(K k, FloatPropertyCompat floatPropertyCompat) { super(k, floatPropertyCompat); this.mSpring = null; this.mPendingPosition = Float.MAX_VALUE; this.mEndRequested = false; } public SpringAnimation(K k, FloatPropertyCompat floatPropertyCompat, float f) { super(k, floatPropertyCompat); this.mSpring = null; this.mPendingPosition = Float.MAX_VALUE; this.mEndRequested = false; this.mSpring = new SpringForce(f); } @Override // androidx.dynamicanimation.animation.DynamicAnimation public void start() { sanityCheck(); this.mSpring.setValueThreshold(getValueThreshold()); super.start(); } public void animateToFinalPosition(float f) { if (isRunning()) { this.mPendingPosition = f; return; } if (this.mSpring == null) { this.mSpring = new SpringForce(f); } this.mSpring.setFinalPosition(f); start(); } public void skipToEnd() { if (!canSkipToEnd()) { throw new UnsupportedOperationException("Spring animations can only come to an end when there is damping"); } if (Looper.myLooper() != Looper.getMainLooper()) { throw new AndroidRuntimeException("Animations may only be started on the main thread"); } if (this.mRunning) { this.mEndRequested = true; } } public boolean canSkipToEnd() { return this.mSpring.mDampingRatio > BuildConfig.SENTRY_SAMPLE_RATE; } private void sanityCheck() { SpringForce springForce = this.mSpring; if (springForce == null) { throw new UnsupportedOperationException("Incomplete SpringAnimation: Either final position or a spring force needs to be set."); } double finalPosition = springForce.getFinalPosition(); if (finalPosition > this.mMaxValue) { throw new UnsupportedOperationException("Final position of the spring cannot be greater than the max value."); } if (finalPosition < this.mMinValue) { throw new UnsupportedOperationException("Final position of the spring cannot be less than the min value."); } } @Override // androidx.dynamicanimation.animation.DynamicAnimation boolean updateValueAndVelocity(long j) { if (this.mEndRequested) { float f = this.mPendingPosition; if (f != Float.MAX_VALUE) { this.mSpring.setFinalPosition(f); this.mPendingPosition = Float.MAX_VALUE; } this.mValue = this.mSpring.getFinalPosition(); this.mVelocity = 0.0f; this.mEndRequested = false; return true; } if (this.mPendingPosition != Float.MAX_VALUE) { this.mSpring.getFinalPosition(); long j2 = j / 2; DynamicAnimation.MassState updateValues = this.mSpring.updateValues(this.mValue, this.mVelocity, j2); this.mSpring.setFinalPosition(this.mPendingPosition); this.mPendingPosition = Float.MAX_VALUE; DynamicAnimation.MassState updateValues2 = this.mSpring.updateValues(updateValues.mValue, updateValues.mVelocity, j2); this.mValue = updateValues2.mValue; this.mVelocity = updateValues2.mVelocity; } else { DynamicAnimation.MassState updateValues3 = this.mSpring.updateValues(this.mValue, this.mVelocity, j); this.mValue = updateValues3.mValue; this.mVelocity = updateValues3.mVelocity; } this.mValue = Math.max(this.mValue, this.mMinValue); this.mValue = Math.min(this.mValue, this.mMaxValue); if (!isAtEquilibrium(this.mValue, this.mVelocity)) { return false; } this.mValue = this.mSpring.getFinalPosition(); this.mVelocity = 0.0f; return true; } @Override // androidx.dynamicanimation.animation.DynamicAnimation float getAcceleration(float f, float f2) { return this.mSpring.getAcceleration(f, f2); } @Override // androidx.dynamicanimation.animation.DynamicAnimation boolean isAtEquilibrium(float f, float f2) { return this.mSpring.isAtEquilibrium(f, f2); } }