mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-28 01:52:26 -06:00
103 lines
4.3 KiB
Java
103 lines
4.3 KiB
Java
package androidx.transition;
|
|
|
|
import android.animation.Animator;
|
|
import android.animation.AnimatorListenerAdapter;
|
|
import android.animation.ObjectAnimator;
|
|
import android.content.Context;
|
|
import android.content.res.TypedArray;
|
|
import android.content.res.XmlResourceParser;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.core.content.res.TypedArrayUtils;
|
|
import androidx.core.view.ViewCompat;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class Fade extends Visibility {
|
|
public static final int IN = 1;
|
|
private static final String LOG_TAG = "Fade";
|
|
public static final int OUT = 2;
|
|
private static final String PROPNAME_TRANSITION_ALPHA = "android:fade:transitionAlpha";
|
|
|
|
public Fade(int i) {
|
|
setMode(i);
|
|
}
|
|
|
|
public Fade() {
|
|
}
|
|
|
|
public Fade(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, Styleable.FADE);
|
|
setMode(TypedArrayUtils.getNamedInt(obtainStyledAttributes, (XmlResourceParser) attributeSet, "fadingMode", 0, getMode()));
|
|
obtainStyledAttributes.recycle();
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility, androidx.transition.Transition
|
|
public void captureStartValues(TransitionValues transitionValues) {
|
|
super.captureStartValues(transitionValues);
|
|
transitionValues.values.put(PROPNAME_TRANSITION_ALPHA, Float.valueOf(ViewUtils.getTransitionAlpha(transitionValues.view)));
|
|
}
|
|
|
|
private Animator createAnimation(final View view, float f, float f2) {
|
|
if (f == f2) {
|
|
return null;
|
|
}
|
|
ViewUtils.setTransitionAlpha(view, f);
|
|
ObjectAnimator ofFloat = ObjectAnimator.ofFloat(view, ViewUtils.TRANSITION_ALPHA, f2);
|
|
ofFloat.addListener(new FadeAnimatorListener(view));
|
|
addListener(new TransitionListenerAdapter() { // from class: androidx.transition.Fade.1
|
|
@Override // androidx.transition.TransitionListenerAdapter, androidx.transition.Transition.TransitionListener
|
|
public void onTransitionEnd(Transition transition) {
|
|
ViewUtils.setTransitionAlpha(view, 1.0f);
|
|
ViewUtils.clearNonTransitionAlpha(view);
|
|
transition.removeListener(this);
|
|
}
|
|
});
|
|
return ofFloat;
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility
|
|
public Animator onAppear(ViewGroup viewGroup, View view, TransitionValues transitionValues, TransitionValues transitionValues2) {
|
|
float startAlpha = getStartAlpha(transitionValues, 0.0f);
|
|
return createAnimation(view, startAlpha != 1.0f ? startAlpha : 0.0f, 1.0f);
|
|
}
|
|
|
|
@Override // androidx.transition.Visibility
|
|
public Animator onDisappear(ViewGroup viewGroup, View view, TransitionValues transitionValues, TransitionValues transitionValues2) {
|
|
ViewUtils.saveNonTransitionAlpha(view);
|
|
return createAnimation(view, getStartAlpha(transitionValues, 1.0f), 0.0f);
|
|
}
|
|
|
|
private static float getStartAlpha(TransitionValues transitionValues, float f) {
|
|
Float f2;
|
|
return (transitionValues == null || (f2 = (Float) transitionValues.values.get(PROPNAME_TRANSITION_ALPHA)) == null) ? f : f2.floatValue();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
/* loaded from: classes2.dex */
|
|
public static class FadeAnimatorListener extends AnimatorListenerAdapter {
|
|
private boolean mLayerTypeChanged = false;
|
|
private final View mView;
|
|
|
|
FadeAnimatorListener(View view) {
|
|
this.mView = view;
|
|
}
|
|
|
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
|
public void onAnimationStart(Animator animator) {
|
|
if (ViewCompat.hasOverlappingRendering(this.mView) && this.mView.getLayerType() == 0) {
|
|
this.mLayerTypeChanged = true;
|
|
this.mView.setLayerType(2, null);
|
|
}
|
|
}
|
|
|
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
|
public void onAnimationEnd(Animator animator) {
|
|
ViewUtils.setTransitionAlpha(this.mView, 1.0f);
|
|
if (this.mLayerTypeChanged) {
|
|
this.mView.setLayerType(0, null);
|
|
}
|
|
}
|
|
}
|
|
}
|