Rabbit-R1/original r1/java/sources/androidx/constraintlayout/motion/widget/KeyCycle.java
2024-05-21 17:08:36 -04:00

658 lines
24 KiB
Java

package androidx.constraintlayout.motion.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseIntArray;
import androidx.constraintlayout.widget.ConstraintAttribute;
import androidx.constraintlayout.widget.R;
import androidx.core.app.NotificationCompat;
import io.sentry.protocol.ViewHierarchyNode;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
/* loaded from: classes.dex */
public class KeyCycle extends Key {
public static final int KEY_TYPE = 4;
static final String NAME = "KeyCycle";
private static final String TAG = "KeyCycle";
private String mTransitionEasing = null;
private int mCurveFit = 0;
private int mWaveShape = -1;
private float mWavePeriod = Float.NaN;
private float mWaveOffset = 0.0f;
private float mProgress = Float.NaN;
private int mWaveVariesBy = -1;
private float mAlpha = Float.NaN;
private float mElevation = Float.NaN;
private float mRotation = Float.NaN;
private float mTransitionPathRotate = Float.NaN;
private float mRotationX = Float.NaN;
private float mRotationY = Float.NaN;
private float mScaleX = Float.NaN;
private float mScaleY = Float.NaN;
private float mTranslationX = Float.NaN;
private float mTranslationY = Float.NaN;
private float mTranslationZ = Float.NaN;
public KeyCycle() {
this.mType = 4;
this.mCustomConstraints = new HashMap<>();
}
@Override // androidx.constraintlayout.motion.widget.Key
public void load(Context context, AttributeSet attributeSet) {
Loader.read(this, context.obtainStyledAttributes(attributeSet, R.styleable.KeyCycle));
}
@Override // androidx.constraintlayout.motion.widget.Key
public void getAttributeNames(HashSet<String> hashSet) {
if (!Float.isNaN(this.mAlpha)) {
hashSet.add(ViewHierarchyNode.JsonKeys.ALPHA);
}
if (!Float.isNaN(this.mElevation)) {
hashSet.add("elevation");
}
if (!Float.isNaN(this.mRotation)) {
hashSet.add("rotation");
}
if (!Float.isNaN(this.mRotationX)) {
hashSet.add("rotationX");
}
if (!Float.isNaN(this.mRotationY)) {
hashSet.add("rotationY");
}
if (!Float.isNaN(this.mScaleX)) {
hashSet.add("scaleX");
}
if (!Float.isNaN(this.mScaleY)) {
hashSet.add("scaleY");
}
if (!Float.isNaN(this.mTransitionPathRotate)) {
hashSet.add("transitionPathRotate");
}
if (!Float.isNaN(this.mTranslationX)) {
hashSet.add("translationX");
}
if (!Float.isNaN(this.mTranslationY)) {
hashSet.add("translationY");
}
if (!Float.isNaN(this.mTranslationZ)) {
hashSet.add("translationZ");
}
if (this.mCustomConstraints.size() > 0) {
Iterator<String> it = this.mCustomConstraints.keySet().iterator();
while (it.hasNext()) {
hashSet.add("CUSTOM," + it.next());
}
}
}
public void addCycleValues(HashMap<String, KeyCycleOscillator> hashMap) {
for (String str : hashMap.keySet()) {
if (str.startsWith("CUSTOM")) {
ConstraintAttribute constraintAttribute = this.mCustomConstraints.get(str.substring(7));
if (constraintAttribute != null && constraintAttribute.getType() == ConstraintAttribute.AttributeType.FLOAT_TYPE) {
hashMap.get(str).setPoint(this.mFramePosition, this.mWaveShape, this.mWaveVariesBy, this.mWavePeriod, this.mWaveOffset, constraintAttribute.getValueToInterpolate(), constraintAttribute);
}
}
float value = getValue(str);
if (!Float.isNaN(value)) {
hashMap.get(str).setPoint(this.mFramePosition, this.mWaveShape, this.mWaveVariesBy, this.mWavePeriod, this.mWaveOffset, value);
}
}
}
public float getValue(String str) {
str.hashCode();
char c = 65535;
switch (str.hashCode()) {
case -1249320806:
if (str.equals("rotationX")) {
c = 0;
break;
}
break;
case -1249320805:
if (str.equals("rotationY")) {
c = 1;
break;
}
break;
case -1225497657:
if (str.equals("translationX")) {
c = 2;
break;
}
break;
case -1225497656:
if (str.equals("translationY")) {
c = 3;
break;
}
break;
case -1225497655:
if (str.equals("translationZ")) {
c = 4;
break;
}
break;
case -1001078227:
if (str.equals(NotificationCompat.CATEGORY_PROGRESS)) {
c = 5;
break;
}
break;
case -908189618:
if (str.equals("scaleX")) {
c = 6;
break;
}
break;
case -908189617:
if (str.equals("scaleY")) {
c = 7;
break;
}
break;
case -40300674:
if (str.equals("rotation")) {
c = '\b';
break;
}
break;
case -4379043:
if (str.equals("elevation")) {
c = '\t';
break;
}
break;
case 37232917:
if (str.equals("transitionPathRotate")) {
c = '\n';
break;
}
break;
case 92909918:
if (str.equals(ViewHierarchyNode.JsonKeys.ALPHA)) {
c = 11;
break;
}
break;
case 156108012:
if (str.equals("waveOffset")) {
c = '\f';
break;
}
break;
}
switch (c) {
case 0:
return this.mRotationX;
case 1:
return this.mRotationY;
case 2:
return this.mTranslationX;
case 3:
return this.mTranslationY;
case 4:
return this.mTranslationZ;
case 5:
return this.mProgress;
case 6:
return this.mScaleX;
case 7:
return this.mScaleY;
case '\b':
return this.mRotation;
case '\t':
return this.mElevation;
case '\n':
return this.mTransitionPathRotate;
case 11:
return this.mAlpha;
case '\f':
return this.mWaveOffset;
default:
Log.v("WARNING! KeyCycle", " UNKNOWN " + str);
return Float.NaN;
}
}
/* JADX WARN: Failed to find 'out' block for switch in B:5:0x0041. Please report as an issue. */
@Override // androidx.constraintlayout.motion.widget.Key
public void addValues(HashMap<String, SplineSet> hashMap) {
Debug.logStack("KeyCycle", "add " + hashMap.size() + " values", 2);
for (String str : hashMap.keySet()) {
SplineSet splineSet = hashMap.get(str);
str.hashCode();
char c = 65535;
switch (str.hashCode()) {
case -1249320806:
if (str.equals("rotationX")) {
c = 0;
break;
}
break;
case -1249320805:
if (str.equals("rotationY")) {
c = 1;
break;
}
break;
case -1225497657:
if (str.equals("translationX")) {
c = 2;
break;
}
break;
case -1225497656:
if (str.equals("translationY")) {
c = 3;
break;
}
break;
case -1225497655:
if (str.equals("translationZ")) {
c = 4;
break;
}
break;
case -1001078227:
if (str.equals(NotificationCompat.CATEGORY_PROGRESS)) {
c = 5;
break;
}
break;
case -908189618:
if (str.equals("scaleX")) {
c = 6;
break;
}
break;
case -908189617:
if (str.equals("scaleY")) {
c = 7;
break;
}
break;
case -40300674:
if (str.equals("rotation")) {
c = '\b';
break;
}
break;
case -4379043:
if (str.equals("elevation")) {
c = '\t';
break;
}
break;
case 37232917:
if (str.equals("transitionPathRotate")) {
c = '\n';
break;
}
break;
case 92909918:
if (str.equals(ViewHierarchyNode.JsonKeys.ALPHA)) {
c = 11;
break;
}
break;
case 156108012:
if (str.equals("waveOffset")) {
c = '\f';
break;
}
break;
}
switch (c) {
case 0:
splineSet.setPoint(this.mFramePosition, this.mRotationX);
break;
case 1:
splineSet.setPoint(this.mFramePosition, this.mRotationY);
break;
case 2:
splineSet.setPoint(this.mFramePosition, this.mTranslationX);
break;
case 3:
splineSet.setPoint(this.mFramePosition, this.mTranslationY);
break;
case 4:
splineSet.setPoint(this.mFramePosition, this.mTranslationZ);
break;
case 5:
splineSet.setPoint(this.mFramePosition, this.mProgress);
break;
case 6:
splineSet.setPoint(this.mFramePosition, this.mScaleX);
break;
case 7:
splineSet.setPoint(this.mFramePosition, this.mScaleY);
break;
case '\b':
splineSet.setPoint(this.mFramePosition, this.mRotation);
break;
case '\t':
splineSet.setPoint(this.mFramePosition, this.mElevation);
break;
case '\n':
splineSet.setPoint(this.mFramePosition, this.mTransitionPathRotate);
break;
case 11:
splineSet.setPoint(this.mFramePosition, this.mAlpha);
break;
case '\f':
splineSet.setPoint(this.mFramePosition, this.mWaveOffset);
break;
default:
Log.v("WARNING KeyCycle", " UNKNOWN " + str);
break;
}
}
}
/* loaded from: classes.dex */
private static class Loader {
private static final int ANDROID_ALPHA = 9;
private static final int ANDROID_ELEVATION = 10;
private static final int ANDROID_ROTATION = 11;
private static final int ANDROID_ROTATION_X = 12;
private static final int ANDROID_ROTATION_Y = 13;
private static final int ANDROID_SCALE_X = 15;
private static final int ANDROID_SCALE_Y = 16;
private static final int ANDROID_TRANSLATION_X = 17;
private static final int ANDROID_TRANSLATION_Y = 18;
private static final int ANDROID_TRANSLATION_Z = 19;
private static final int CURVE_FIT = 4;
private static final int FRAME_POSITION = 2;
private static final int PROGRESS = 20;
private static final int TARGET_ID = 1;
private static final int TRANSITION_EASING = 3;
private static final int TRANSITION_PATH_ROTATE = 14;
private static final int WAVE_OFFSET = 7;
private static final int WAVE_PERIOD = 6;
private static final int WAVE_SHAPE = 5;
private static final int WAVE_VARIES_BY = 8;
private static SparseIntArray mAttrMap;
private Loader() {
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
mAttrMap = sparseIntArray;
sparseIntArray.append(R.styleable.KeyCycle_motionTarget, 1);
mAttrMap.append(R.styleable.KeyCycle_framePosition, 2);
mAttrMap.append(R.styleable.KeyCycle_transitionEasing, 3);
mAttrMap.append(R.styleable.KeyCycle_curveFit, 4);
mAttrMap.append(R.styleable.KeyCycle_waveShape, 5);
mAttrMap.append(R.styleable.KeyCycle_wavePeriod, 6);
mAttrMap.append(R.styleable.KeyCycle_waveOffset, 7);
mAttrMap.append(R.styleable.KeyCycle_waveVariesBy, 8);
mAttrMap.append(R.styleable.KeyCycle_android_alpha, 9);
mAttrMap.append(R.styleable.KeyCycle_android_elevation, 10);
mAttrMap.append(R.styleable.KeyCycle_android_rotation, 11);
mAttrMap.append(R.styleable.KeyCycle_android_rotationX, 12);
mAttrMap.append(R.styleable.KeyCycle_android_rotationY, 13);
mAttrMap.append(R.styleable.KeyCycle_transitionPathRotate, 14);
mAttrMap.append(R.styleable.KeyCycle_android_scaleX, 15);
mAttrMap.append(R.styleable.KeyCycle_android_scaleY, 16);
mAttrMap.append(R.styleable.KeyCycle_android_translationX, 17);
mAttrMap.append(R.styleable.KeyCycle_android_translationY, 18);
mAttrMap.append(R.styleable.KeyCycle_android_translationZ, 19);
mAttrMap.append(R.styleable.KeyCycle_motionProgress, 20);
}
/* JADX INFO: Access modifiers changed from: private */
public static void read(KeyCycle keyCycle, TypedArray typedArray) {
int indexCount = typedArray.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = typedArray.getIndex(i);
switch (mAttrMap.get(index)) {
case 1:
if (MotionLayout.IS_IN_EDIT_MODE) {
keyCycle.mTargetId = typedArray.getResourceId(index, keyCycle.mTargetId);
if (keyCycle.mTargetId == -1) {
keyCycle.mTargetString = typedArray.getString(index);
break;
} else {
break;
}
} else if (typedArray.peekValue(index).type == 3) {
keyCycle.mTargetString = typedArray.getString(index);
break;
} else {
keyCycle.mTargetId = typedArray.getResourceId(index, keyCycle.mTargetId);
break;
}
case 2:
keyCycle.mFramePosition = typedArray.getInt(index, keyCycle.mFramePosition);
break;
case 3:
keyCycle.mTransitionEasing = typedArray.getString(index);
break;
case 4:
keyCycle.mCurveFit = typedArray.getInteger(index, keyCycle.mCurveFit);
break;
case 5:
keyCycle.mWaveShape = typedArray.getInt(index, keyCycle.mWaveShape);
break;
case 6:
keyCycle.mWavePeriod = typedArray.getFloat(index, keyCycle.mWavePeriod);
break;
case 7:
if (typedArray.peekValue(index).type == 5) {
keyCycle.mWaveOffset = typedArray.getDimension(index, keyCycle.mWaveOffset);
break;
} else {
keyCycle.mWaveOffset = typedArray.getFloat(index, keyCycle.mWaveOffset);
break;
}
case 8:
keyCycle.mWaveVariesBy = typedArray.getInt(index, keyCycle.mWaveVariesBy);
break;
case 9:
keyCycle.mAlpha = typedArray.getFloat(index, keyCycle.mAlpha);
break;
case 10:
keyCycle.mElevation = typedArray.getDimension(index, keyCycle.mElevation);
break;
case 11:
keyCycle.mRotation = typedArray.getFloat(index, keyCycle.mRotation);
break;
case 12:
keyCycle.mRotationX = typedArray.getFloat(index, keyCycle.mRotationX);
break;
case 13:
keyCycle.mRotationY = typedArray.getFloat(index, keyCycle.mRotationY);
break;
case 14:
keyCycle.mTransitionPathRotate = typedArray.getFloat(index, keyCycle.mTransitionPathRotate);
break;
case 15:
keyCycle.mScaleX = typedArray.getFloat(index, keyCycle.mScaleX);
break;
case 16:
keyCycle.mScaleY = typedArray.getFloat(index, keyCycle.mScaleY);
break;
case 17:
keyCycle.mTranslationX = typedArray.getDimension(index, keyCycle.mTranslationX);
break;
case 18:
keyCycle.mTranslationY = typedArray.getDimension(index, keyCycle.mTranslationY);
break;
case 19:
keyCycle.mTranslationZ = typedArray.getDimension(index, keyCycle.mTranslationZ);
break;
case 20:
keyCycle.mProgress = typedArray.getFloat(index, keyCycle.mProgress);
break;
default:
Log.e("KeyCycle", "unused attribute 0x" + Integer.toHexString(index) + " " + mAttrMap.get(index));
break;
}
}
}
}
@Override // androidx.constraintlayout.motion.widget.Key
public void setValue(String str, Object obj) {
str.hashCode();
char c = 65535;
switch (str.hashCode()) {
case -1812823328:
if (str.equals("transitionEasing")) {
c = 0;
break;
}
break;
case -1249320806:
if (str.equals("rotationX")) {
c = 1;
break;
}
break;
case -1249320805:
if (str.equals("rotationY")) {
c = 2;
break;
}
break;
case -1225497657:
if (str.equals("translationX")) {
c = 3;
break;
}
break;
case -1225497656:
if (str.equals("translationY")) {
c = 4;
break;
}
break;
case -1001078227:
if (str.equals(NotificationCompat.CATEGORY_PROGRESS)) {
c = 5;
break;
}
break;
case -908189618:
if (str.equals("scaleX")) {
c = 6;
break;
}
break;
case -908189617:
if (str.equals("scaleY")) {
c = 7;
break;
}
break;
case -40300674:
if (str.equals("rotation")) {
c = '\b';
break;
}
break;
case -4379043:
if (str.equals("elevation")) {
c = '\t';
break;
}
break;
case 37232917:
if (str.equals("transitionPathRotate")) {
c = '\n';
break;
}
break;
case 92909918:
if (str.equals(ViewHierarchyNode.JsonKeys.ALPHA)) {
c = 11;
break;
}
break;
case 156108012:
if (str.equals("waveOffset")) {
c = '\f';
break;
}
break;
case 184161818:
if (str.equals("wavePeriod")) {
c = '\r';
break;
}
break;
case 579057826:
if (str.equals("curveFit")) {
c = 14;
break;
}
break;
case 1317633238:
if (str.equals("mTranslationZ")) {
c = 15;
break;
}
break;
}
switch (c) {
case 0:
this.mTransitionEasing = obj.toString();
return;
case 1:
this.mRotationX = toFloat(obj);
return;
case 2:
this.mRotationY = toFloat(obj);
return;
case 3:
this.mTranslationX = toFloat(obj);
return;
case 4:
this.mTranslationY = toFloat(obj);
return;
case 5:
this.mProgress = toFloat(obj);
return;
case 6:
this.mScaleX = toFloat(obj);
return;
case 7:
this.mScaleY = toFloat(obj);
return;
case '\b':
this.mRotation = toFloat(obj);
return;
case '\t':
this.mElevation = toFloat(obj);
return;
case '\n':
this.mTransitionPathRotate = toFloat(obj);
return;
case 11:
this.mAlpha = toFloat(obj);
return;
case '\f':
this.mWaveOffset = toFloat(obj);
return;
case '\r':
this.mWavePeriod = toFloat(obj);
return;
case 14:
this.mCurveFit = toInt(obj);
return;
case 15:
this.mTranslationZ = toFloat(obj);
return;
default:
return;
}
}
}