Rabbit-R1/android (non root)/java/sources/androidx/transition/TranslationAnimationCreator.java
2024-05-21 17:08:36 -04:00

119 lines
5.4 KiB
Java

package androidx.transition;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.animation.TimeInterpolator;
import android.util.Property;
import android.view.View;
import androidx.transition.Transition;
/* loaded from: classes2.dex */
class TranslationAnimationCreator {
/* JADX INFO: Access modifiers changed from: package-private */
public static Animator createAnimation(View view, TransitionValues transitionValues, int i, int i2, float f, float f2, float f3, float f4, TimeInterpolator timeInterpolator, Transition transition) {
float f5;
float f6;
float translationX = view.getTranslationX();
float translationY = view.getTranslationY();
if (((int[]) transitionValues.view.getTag(R.id.transition_position)) != null) {
f5 = (r4[0] - i) + translationX;
f6 = (r4[1] - i2) + translationY;
} else {
f5 = f;
f6 = f2;
}
int round = i + Math.round(f5 - translationX);
int round2 = i2 + Math.round(f6 - translationY);
view.setTranslationX(f5);
view.setTranslationY(f6);
if (f5 == f3 && f6 == f4) {
return null;
}
ObjectAnimator ofPropertyValuesHolder = ObjectAnimator.ofPropertyValuesHolder(view, PropertyValuesHolder.ofFloat((Property<?, Float>) View.TRANSLATION_X, f5, f3), PropertyValuesHolder.ofFloat((Property<?, Float>) View.TRANSLATION_Y, f6, f4));
TransitionPositionListener transitionPositionListener = new TransitionPositionListener(view, transitionValues.view, round, round2, translationX, translationY);
transition.addListener(transitionPositionListener);
ofPropertyValuesHolder.addListener(transitionPositionListener);
AnimatorUtils.addPauseListener(ofPropertyValuesHolder, transitionPositionListener);
ofPropertyValuesHolder.setInterpolator(timeInterpolator);
return ofPropertyValuesHolder;
}
/* loaded from: classes2.dex */
private static class TransitionPositionListener extends AnimatorListenerAdapter implements Transition.TransitionListener {
private final View mMovingView;
private float mPausedX;
private float mPausedY;
private final int mStartX;
private final int mStartY;
private final float mTerminalX;
private final float mTerminalY;
private int[] mTransitionPosition;
private final View mViewInHierarchy;
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionCancel(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionPause(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionResume(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionStart(Transition transition) {
}
TransitionPositionListener(View view, View view2, int i, int i2, float f, float f2) {
this.mMovingView = view;
this.mViewInHierarchy = view2;
this.mStartX = i - Math.round(view.getTranslationX());
this.mStartY = i2 - Math.round(view.getTranslationY());
this.mTerminalX = f;
this.mTerminalY = f2;
int[] iArr = (int[]) view2.getTag(R.id.transition_position);
this.mTransitionPosition = iArr;
if (iArr != null) {
view2.setTag(R.id.transition_position, null);
}
}
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
public void onAnimationCancel(Animator animator) {
if (this.mTransitionPosition == null) {
this.mTransitionPosition = new int[2];
}
this.mTransitionPosition[0] = Math.round(this.mStartX + this.mMovingView.getTranslationX());
this.mTransitionPosition[1] = Math.round(this.mStartY + this.mMovingView.getTranslationY());
this.mViewInHierarchy.setTag(R.id.transition_position, this.mTransitionPosition);
}
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorPauseListener
public void onAnimationPause(Animator animator) {
this.mPausedX = this.mMovingView.getTranslationX();
this.mPausedY = this.mMovingView.getTranslationY();
this.mMovingView.setTranslationX(this.mTerminalX);
this.mMovingView.setTranslationY(this.mTerminalY);
}
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorPauseListener
public void onAnimationResume(Animator animator) {
this.mMovingView.setTranslationX(this.mPausedX);
this.mMovingView.setTranslationY(this.mPausedY);
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionEnd(Transition transition) {
this.mMovingView.setTranslationX(this.mTerminalX);
this.mMovingView.setTranslationY(this.mTerminalY);
transition.removeListener(this);
}
}
private TranslationAnimationCreator() {
}
}