mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-25 16:42:30 -06:00
119 lines
5.4 KiB
Java
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() {
|
|
}
|
|
}
|