105 lines
3.8 KiB
Java
105 lines
3.8 KiB
Java
package androidx.transition;
|
|
|
|
import android.graphics.Rect;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.core.view.ViewCompat;
|
|
public class SidePropagation extends VisibilityPropagation {
|
|
private float mPropagationSpeed = 3.0f;
|
|
private int mSide = 80;
|
|
|
|
/* JADX WARNING: Code restructure failed: missing block: B:13:0x0026, code lost:
|
|
if (r4 != false) goto L_0x0017;
|
|
*/
|
|
/* JADX WARNING: Code restructure failed: missing block: B:5:0x0013, code lost:
|
|
if (r4 != false) goto L_0x0015;
|
|
*/
|
|
/* JADX WARNING: Code restructure failed: missing block: B:7:0x0017, code lost:
|
|
r0 = 3;
|
|
*/
|
|
/* JADX WARNING: Removed duplicated region for block: B:15:0x002b */
|
|
/* JADX WARNING: Removed duplicated region for block: B:23:0x0051 */
|
|
private int distance(View view, int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8) {
|
|
int i9 = this.mSide;
|
|
boolean z2 = true;
|
|
if (i9 != 8388611) {
|
|
if (i9 == 8388613) {
|
|
if (ViewCompat.getLayoutDirection(view) != 1) {
|
|
z2 = false;
|
|
}
|
|
}
|
|
if (i9 != 3) {
|
|
return Math.abs(i4 - i2) + (i7 - i);
|
|
} else if (i9 == 5) {
|
|
return Math.abs(i4 - i2) + (i - i5);
|
|
} else if (i9 == 48) {
|
|
return Math.abs(i3 - i) + (i8 - i2);
|
|
} else if (i9 != 80) {
|
|
return 0;
|
|
} else {
|
|
return Math.abs(i3 - i) + (i2 - i6);
|
|
}
|
|
} else if (ViewCompat.getLayoutDirection(view) != 1) {
|
|
z2 = false;
|
|
}
|
|
i9 = 5;
|
|
if (i9 != 3) {
|
|
}
|
|
}
|
|
|
|
private int getMaxDistance(ViewGroup viewGroup) {
|
|
int i = this.mSide;
|
|
return (i == 3 || i == 5 || i == 8388611 || i == 8388613) ? viewGroup.getWidth() : viewGroup.getHeight();
|
|
}
|
|
|
|
@Override // androidx.transition.TransitionPropagation
|
|
public long getStartDelay(ViewGroup viewGroup, Transition transition, TransitionValues transitionValues, TransitionValues transitionValues2) {
|
|
int i;
|
|
int i2;
|
|
int i3;
|
|
TransitionValues transitionValues3 = transitionValues;
|
|
if (transitionValues3 == null && transitionValues2 == null) {
|
|
return 0;
|
|
}
|
|
Rect epicenter = transition.getEpicenter();
|
|
if (transitionValues2 == null || getViewVisibility(transitionValues3) == 0) {
|
|
i = -1;
|
|
} else {
|
|
transitionValues3 = transitionValues2;
|
|
i = 1;
|
|
}
|
|
int viewX = getViewX(transitionValues3);
|
|
int viewY = getViewY(transitionValues3);
|
|
int[] iArr = new int[2];
|
|
viewGroup.getLocationOnScreen(iArr);
|
|
int round = iArr[0] + Math.round(viewGroup.getTranslationX());
|
|
int round2 = Math.round(viewGroup.getTranslationY()) + iArr[1];
|
|
int width = viewGroup.getWidth() + round;
|
|
int height = viewGroup.getHeight() + round2;
|
|
if (epicenter != null) {
|
|
i3 = epicenter.centerX();
|
|
i2 = epicenter.centerY();
|
|
} else {
|
|
i3 = (round + width) / 2;
|
|
i2 = (round2 + height) / 2;
|
|
}
|
|
float distance = ((float) distance(viewGroup, viewX, viewY, i3, i2, round, round2, width, height)) / ((float) getMaxDistance(viewGroup));
|
|
long duration = transition.getDuration();
|
|
if (duration < 0) {
|
|
duration = 300;
|
|
}
|
|
return (long) Math.round((((float) (duration * ((long) i))) / this.mPropagationSpeed) * distance);
|
|
}
|
|
|
|
public void setPropagationSpeed(float f) {
|
|
if (f != 0.0f) {
|
|
this.mPropagationSpeed = f;
|
|
return;
|
|
}
|
|
throw new IllegalArgumentException("propagationSpeed may not be 0");
|
|
}
|
|
|
|
public void setSide(int i) {
|
|
this.mSide = i;
|
|
}
|
|
}
|