mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-25 00:22:50 -06:00
189 lines
8 KiB
Java
189 lines
8 KiB
Java
package androidx.transition;
|
|
|
|
import android.animation.Animator;
|
|
import android.animation.TimeInterpolator;
|
|
import android.content.Context;
|
|
import android.content.res.TypedArray;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.animation.AccelerateInterpolator;
|
|
import android.view.animation.DecelerateInterpolator;
|
|
import androidx.core.content.res.TypedArrayUtils;
|
|
import androidx.core.view.ViewCompat;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class Slide extends Visibility {
|
|
private static final String PROPNAME_SCREEN_POSITION = "android:slide:screenPosition";
|
|
private CalculateSlide mSlideCalculator;
|
|
private int mSlideEdge;
|
|
private static final TimeInterpolator sDecelerate = new DecelerateInterpolator();
|
|
private static final TimeInterpolator sAccelerate = new AccelerateInterpolator();
|
|
private static final CalculateSlide sCalculateLeft = new CalculateSlideHorizontal() { // from class: androidx.transition.Slide.1
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneX(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationX() - viewGroup.getWidth();
|
|
}
|
|
};
|
|
private static final CalculateSlide sCalculateStart = new CalculateSlideHorizontal() { // from class: androidx.transition.Slide.2
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneX(ViewGroup viewGroup, View view) {
|
|
if (ViewCompat.getLayoutDirection(viewGroup) == 1) {
|
|
return view.getTranslationX() + viewGroup.getWidth();
|
|
}
|
|
return view.getTranslationX() - viewGroup.getWidth();
|
|
}
|
|
};
|
|
private static final CalculateSlide sCalculateTop = new CalculateSlideVertical() { // from class: androidx.transition.Slide.3
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneY(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationY() - viewGroup.getHeight();
|
|
}
|
|
};
|
|
private static final CalculateSlide sCalculateRight = new CalculateSlideHorizontal() { // from class: androidx.transition.Slide.4
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneX(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationX() + viewGroup.getWidth();
|
|
}
|
|
};
|
|
private static final CalculateSlide sCalculateEnd = new CalculateSlideHorizontal() { // from class: androidx.transition.Slide.5
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneX(ViewGroup viewGroup, View view) {
|
|
if (ViewCompat.getLayoutDirection(viewGroup) == 1) {
|
|
return view.getTranslationX() - viewGroup.getWidth();
|
|
}
|
|
return view.getTranslationX() + viewGroup.getWidth();
|
|
}
|
|
};
|
|
private static final CalculateSlide sCalculateBottom = new CalculateSlideVertical() { // from class: androidx.transition.Slide.6
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneY(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationY() + viewGroup.getHeight();
|
|
}
|
|
};
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
/* loaded from: classes2.dex */
|
|
public interface CalculateSlide {
|
|
float getGoneX(ViewGroup viewGroup, View view);
|
|
|
|
float getGoneY(ViewGroup viewGroup, View view);
|
|
}
|
|
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
/* loaded from: classes2.dex */
|
|
public @interface GravityFlag {
|
|
}
|
|
|
|
public int getSlideEdge() {
|
|
return this.mSlideEdge;
|
|
}
|
|
|
|
/* loaded from: classes2.dex */
|
|
private static abstract class CalculateSlideHorizontal implements CalculateSlide {
|
|
private CalculateSlideHorizontal() {
|
|
}
|
|
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneY(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationY();
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes2.dex */
|
|
private static abstract class CalculateSlideVertical implements CalculateSlide {
|
|
private CalculateSlideVertical() {
|
|
}
|
|
|
|
@Override // androidx.transition.Slide.CalculateSlide
|
|
public float getGoneX(ViewGroup viewGroup, View view) {
|
|
return view.getTranslationX();
|
|
}
|
|
}
|
|
|
|
public Slide() {
|
|
this.mSlideCalculator = sCalculateBottom;
|
|
this.mSlideEdge = 80;
|
|
setSlideEdge(80);
|
|
}
|
|
|
|
public Slide(int i) {
|
|
this.mSlideCalculator = sCalculateBottom;
|
|
this.mSlideEdge = 80;
|
|
setSlideEdge(i);
|
|
}
|
|
|
|
public Slide(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
this.mSlideCalculator = sCalculateBottom;
|
|
this.mSlideEdge = 80;
|
|
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, Styleable.SLIDE);
|
|
int namedInt = TypedArrayUtils.getNamedInt(obtainStyledAttributes, (XmlPullParser) attributeSet, "slideEdge", 0, 80);
|
|
obtainStyledAttributes.recycle();
|
|
setSlideEdge(namedInt);
|
|
}
|
|
|
|
private void captureValues(TransitionValues transitionValues) {
|
|
int[] iArr = new int[2];
|
|
transitionValues.view.getLocationOnScreen(iArr);
|
|
transitionValues.values.put(PROPNAME_SCREEN_POSITION, iArr);
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility, androidx.transition.Transition
|
|
public void captureStartValues(TransitionValues transitionValues) {
|
|
super.captureStartValues(transitionValues);
|
|
captureValues(transitionValues);
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility, androidx.transition.Transition
|
|
public void captureEndValues(TransitionValues transitionValues) {
|
|
super.captureEndValues(transitionValues);
|
|
captureValues(transitionValues);
|
|
}
|
|
|
|
public void setSlideEdge(int i) {
|
|
if (i == 3) {
|
|
this.mSlideCalculator = sCalculateLeft;
|
|
} else if (i == 5) {
|
|
this.mSlideCalculator = sCalculateRight;
|
|
} else if (i == 48) {
|
|
this.mSlideCalculator = sCalculateTop;
|
|
} else if (i == 80) {
|
|
this.mSlideCalculator = sCalculateBottom;
|
|
} else if (i == 8388611) {
|
|
this.mSlideCalculator = sCalculateStart;
|
|
} else {
|
|
if (i != 8388613) {
|
|
throw new IllegalArgumentException("Invalid slide direction");
|
|
}
|
|
this.mSlideCalculator = sCalculateEnd;
|
|
}
|
|
this.mSlideEdge = i;
|
|
SidePropagation sidePropagation = new SidePropagation();
|
|
sidePropagation.setSide(i);
|
|
setPropagation(sidePropagation);
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility
|
|
public Animator onAppear(ViewGroup viewGroup, View view, TransitionValues transitionValues, TransitionValues transitionValues2) {
|
|
if (transitionValues2 == null) {
|
|
return null;
|
|
}
|
|
int[] iArr = (int[]) transitionValues2.values.get(PROPNAME_SCREEN_POSITION);
|
|
float translationX = view.getTranslationX();
|
|
float translationY = view.getTranslationY();
|
|
return TranslationAnimationCreator.createAnimation(view, transitionValues2, iArr[0], iArr[1], this.mSlideCalculator.getGoneX(viewGroup, view), this.mSlideCalculator.getGoneY(viewGroup, view), translationX, translationY, sDecelerate, this);
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility
|
|
public Animator onDisappear(ViewGroup viewGroup, View view, TransitionValues transitionValues, TransitionValues transitionValues2) {
|
|
if (transitionValues == null) {
|
|
return null;
|
|
}
|
|
int[] iArr = (int[]) transitionValues.values.get(PROPNAME_SCREEN_POSITION);
|
|
return TranslationAnimationCreator.createAnimation(view, transitionValues, iArr[0], iArr[1], view.getTranslationX(), view.getTranslationY(), this.mSlideCalculator.getGoneX(viewGroup, view), this.mSlideCalculator.getGoneY(viewGroup, view), sAccelerate, this);
|
|
}
|
|
}
|