mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-26 09:02:34 -06:00
57 lines
2.1 KiB
Java
57 lines
2.1 KiB
Java
|
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));
|
||
|
}
|
||
|
}
|