Rabbit-R1/android (non root)/java/sources/androidx/transition/CircularPropagation.java

57 lines
2.1 KiB
Java
Raw Normal View History

2024-05-21 16:08:36 -05:00
package androidx.transition;
import android.graphics.Rect;
import android.view.ViewGroup;
/* loaded from: classes2.dex */
public class CircularPropagation extends VisibilityPropagation {
private float mPropagationSpeed = 3.0f;
public void setPropagationSpeed(float f) {
if (f == 0.0f) {
throw new IllegalArgumentException("propagationSpeed may not be 0");
}
this.mPropagationSpeed = f;
}
@Override // androidx.transition.TransitionPropagation
public long getStartDelay(ViewGroup viewGroup, Transition transition, TransitionValues transitionValues, TransitionValues transitionValues2) {
int i;
int round;
int i2;
if (transitionValues == null && transitionValues2 == null) {
return 0L;
}
if (transitionValues2 == null || getViewVisibility(transitionValues) == 0) {
i = -1;
} else {
transitionValues = transitionValues2;
i = 1;
}
int viewX = getViewX(transitionValues);
int viewY = getViewY(transitionValues);
Rect epicenter = transition.getEpicenter();
if (epicenter != null) {
i2 = epicenter.centerX();
round = epicenter.centerY();
} else {
viewGroup.getLocationOnScreen(new int[2]);
int round2 = Math.round(r5[0] + (viewGroup.getWidth() / 2) + viewGroup.getTranslationX());
round = Math.round(r5[1] + (viewGroup.getHeight() / 2) + viewGroup.getTranslationY());
i2 = round2;
}
float distance = distance(viewX, viewY, i2, round) / distance(0.0f, 0.0f, viewGroup.getWidth(), viewGroup.getHeight());
long duration = transition.getDuration();
if (duration < 0) {
duration = 300;
}
return Math.round((((float) (duration * i)) / this.mPropagationSpeed) * distance);
}
private static float distance(float f, float f2, float f3, float f4) {
float f5 = f3 - f;
float f6 = f4 - f2;
return (float) Math.sqrt((f5 * f5) + (f6 * f6));
}
}