2025-03-31 16:33:42 +02:00

219 lines
6.6 KiB
Java

package androidx.constraintlayout.motion.utils;
import android.util.Log;
import android.view.View;
import androidx.constraintlayout.core.motion.utils.KeyCycleOscillator;
import androidx.constraintlayout.motion.widget.MotionLayout;
import androidx.constraintlayout.widget.ConstraintAttribute;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/* loaded from: classes.dex */
public abstract class ViewOscillator extends KeyCycleOscillator {
private static final String TAG = "ViewOscillator";
public abstract void setProperty(View view, float t);
public static ViewOscillator makeSpline(String str) {
if (str.startsWith("CUSTOM")) {
return new CustomSet();
}
str.hashCode();
switch (str) {
case "rotationX":
return new RotationXset();
case "rotationY":
return new RotationYset();
case "translationX":
return new TranslationXset();
case "translationY":
return new TranslationYset();
case "translationZ":
return new TranslationZset();
case "progress":
return new ProgressSet();
case "scaleX":
return new ScaleXset();
case "scaleY":
return new ScaleYset();
case "waveVariesBy":
return new AlphaSet();
case "rotation":
return new RotationSet();
case "elevation":
return new ElevationSet();
case "transitionPathRotate":
return new PathRotateSet();
case "alpha":
return new AlphaSet();
case "waveOffset":
return new AlphaSet();
default:
return null;
}
}
static class ElevationSet extends ViewOscillator {
ElevationSet() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setElevation(get(t));
}
}
static class AlphaSet extends ViewOscillator {
AlphaSet() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setAlpha(get(t));
}
}
static class RotationSet extends ViewOscillator {
RotationSet() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setRotation(get(t));
}
}
static class RotationXset extends ViewOscillator {
RotationXset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setRotationX(get(t));
}
}
static class RotationYset extends ViewOscillator {
RotationYset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setRotationY(get(t));
}
}
public static class PathRotateSet extends ViewOscillator {
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
}
public void setPathRotate(View view, float t, double dx, double dy) {
view.setRotation(get(t) + ((float) Math.toDegrees(Math.atan2(dy, dx))));
}
}
static class ScaleXset extends ViewOscillator {
ScaleXset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setScaleX(get(t));
}
}
static class ScaleYset extends ViewOscillator {
ScaleYset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setScaleY(get(t));
}
}
static class TranslationXset extends ViewOscillator {
TranslationXset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setTranslationX(get(t));
}
}
static class TranslationYset extends ViewOscillator {
TranslationYset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setTranslationY(get(t));
}
}
static class TranslationZset extends ViewOscillator {
TranslationZset() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
view.setTranslationZ(get(t));
}
}
static class CustomSet extends ViewOscillator {
protected ConstraintAttribute mCustom;
float[] value = new float[1];
CustomSet() {
}
@Override // androidx.constraintlayout.core.motion.utils.KeyCycleOscillator
protected void setCustom(Object custom) {
this.mCustom = (ConstraintAttribute) custom;
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
this.value[0] = get(t);
CustomSupport.setInterpolatedValue(this.mCustom, view, this.value);
}
}
static class ProgressSet extends ViewOscillator {
boolean mNoMethod = false;
ProgressSet() {
}
@Override // androidx.constraintlayout.motion.utils.ViewOscillator
public void setProperty(View view, float t) {
Method method;
if (view instanceof MotionLayout) {
((MotionLayout) view).setProgress(get(t));
return;
}
if (this.mNoMethod) {
return;
}
try {
method = view.getClass().getMethod("setProgress", Float.TYPE);
} catch (NoSuchMethodException unused) {
this.mNoMethod = true;
method = null;
}
if (method != null) {
try {
method.invoke(view, Float.valueOf(get(t)));
} catch (IllegalAccessException e) {
Log.e(ViewOscillator.TAG, "unable to setProgress", e);
} catch (InvocationTargetException e2) {
Log.e(ViewOscillator.TAG, "unable to setProgress", e2);
}
}
}
}
}