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 c.d.b.a.a; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; public class KeyCycle extends Key { public static final int KEY_TYPE = 4; public static final String NAME = "KeyCycle"; private static final String TAG = "KeyCycle"; private float mAlpha = Float.NaN; private int mCurveFit = 0; private float mElevation = Float.NaN; private float mProgress = Float.NaN; private float mRotation = Float.NaN; private float mRotationX = Float.NaN; private float mRotationY = Float.NaN; private float mScaleX = Float.NaN; private float mScaleY = Float.NaN; private String mTransitionEasing = null; private float mTransitionPathRotate = Float.NaN; private float mTranslationX = Float.NaN; private float mTranslationY = Float.NaN; private float mTranslationZ = Float.NaN; private float mWaveOffset = 0.0f; private float mWavePeriod = Float.NaN; private int mWaveShape = -1; private int mWaveVariesBy = -1; public 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; 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); } private Loader() { } public static /* synthetic */ void access$000(KeyCycle keyCycle, TypedArray typedArray) { read(keyCycle, typedArray); } private 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) { if (typedArray.peekValue(index).type == 3) { keyCycle.mTargetString = typedArray.getString(index); break; } else { keyCycle.mTargetId = typedArray.getResourceId(index, keyCycle.mTargetId); break; } } else { int resourceId = typedArray.getResourceId(index, keyCycle.mTargetId); keyCycle.mTargetId = resourceId; if (resourceId == -1) { keyCycle.mTargetString = typedArray.getString(index); break; } else { break; } } case 2: keyCycle.mFramePosition = typedArray.getInt(index, keyCycle.mFramePosition); break; case 3: KeyCycle.access$102(keyCycle, typedArray.getString(index)); break; case 4: KeyCycle.access$202(keyCycle, typedArray.getInteger(index, KeyCycle.access$200(keyCycle))); break; case 5: KeyCycle.access$302(keyCycle, typedArray.getInt(index, KeyCycle.access$300(keyCycle))); break; case 6: KeyCycle.access$402(keyCycle, typedArray.getFloat(index, KeyCycle.access$400(keyCycle))); break; case 7: if (typedArray.peekValue(index).type == 5) { KeyCycle.access$502(keyCycle, typedArray.getDimension(index, KeyCycle.access$500(keyCycle))); break; } else { KeyCycle.access$502(keyCycle, typedArray.getFloat(index, KeyCycle.access$500(keyCycle))); break; } case 8: KeyCycle.access$602(keyCycle, typedArray.getInt(index, KeyCycle.access$600(keyCycle))); break; case 9: KeyCycle.access$702(keyCycle, typedArray.getFloat(index, KeyCycle.access$700(keyCycle))); break; case 10: KeyCycle.access$802(keyCycle, typedArray.getDimension(index, KeyCycle.access$800(keyCycle))); break; case 11: KeyCycle.access$902(keyCycle, typedArray.getFloat(index, KeyCycle.access$900(keyCycle))); break; case 12: KeyCycle.access$1002(keyCycle, typedArray.getFloat(index, KeyCycle.access$1000(keyCycle))); break; case 13: KeyCycle.access$1102(keyCycle, typedArray.getFloat(index, KeyCycle.access$1100(keyCycle))); break; case 14: KeyCycle.access$1202(keyCycle, typedArray.getFloat(index, KeyCycle.access$1200(keyCycle))); break; case 15: KeyCycle.access$1302(keyCycle, typedArray.getFloat(index, KeyCycle.access$1300(keyCycle))); break; case 16: KeyCycle.access$1402(keyCycle, typedArray.getFloat(index, KeyCycle.access$1400(keyCycle))); break; case 17: KeyCycle.access$1502(keyCycle, typedArray.getDimension(index, KeyCycle.access$1500(keyCycle))); break; case 18: KeyCycle.access$1602(keyCycle, typedArray.getDimension(index, KeyCycle.access$1600(keyCycle))); break; case 19: KeyCycle.access$1702(keyCycle, typedArray.getDimension(index, KeyCycle.access$1700(keyCycle))); break; case 20: KeyCycle.access$1802(keyCycle, typedArray.getFloat(index, KeyCycle.access$1800(keyCycle))); break; default: StringBuilder L = a.L("unused attribute 0x"); L.append(Integer.toHexString(index)); L.append(" "); L.append(mAttrMap.get(index)); Log.e("KeyCycle", L.toString()); break; } } } } public KeyCycle() { this.mType = 4; this.mCustomConstraints = new HashMap<>(); } public static /* synthetic */ float access$1000(KeyCycle keyCycle) { return keyCycle.mRotationX; } public static /* synthetic */ float access$1002(KeyCycle keyCycle, float f) { keyCycle.mRotationX = f; return f; } public static /* synthetic */ String access$102(KeyCycle keyCycle, String str) { keyCycle.mTransitionEasing = str; return str; } public static /* synthetic */ float access$1100(KeyCycle keyCycle) { return keyCycle.mRotationY; } public static /* synthetic */ float access$1102(KeyCycle keyCycle, float f) { keyCycle.mRotationY = f; return f; } public static /* synthetic */ float access$1200(KeyCycle keyCycle) { return keyCycle.mTransitionPathRotate; } public static /* synthetic */ float access$1202(KeyCycle keyCycle, float f) { keyCycle.mTransitionPathRotate = f; return f; } public static /* synthetic */ float access$1300(KeyCycle keyCycle) { return keyCycle.mScaleX; } public static /* synthetic */ float access$1302(KeyCycle keyCycle, float f) { keyCycle.mScaleX = f; return f; } public static /* synthetic */ float access$1400(KeyCycle keyCycle) { return keyCycle.mScaleY; } public static /* synthetic */ float access$1402(KeyCycle keyCycle, float f) { keyCycle.mScaleY = f; return f; } public static /* synthetic */ float access$1500(KeyCycle keyCycle) { return keyCycle.mTranslationX; } public static /* synthetic */ float access$1502(KeyCycle keyCycle, float f) { keyCycle.mTranslationX = f; return f; } public static /* synthetic */ float access$1600(KeyCycle keyCycle) { return keyCycle.mTranslationY; } public static /* synthetic */ float access$1602(KeyCycle keyCycle, float f) { keyCycle.mTranslationY = f; return f; } public static /* synthetic */ float access$1700(KeyCycle keyCycle) { return keyCycle.mTranslationZ; } public static /* synthetic */ float access$1702(KeyCycle keyCycle, float f) { keyCycle.mTranslationZ = f; return f; } public static /* synthetic */ float access$1800(KeyCycle keyCycle) { return keyCycle.mProgress; } public static /* synthetic */ float access$1802(KeyCycle keyCycle, float f) { keyCycle.mProgress = f; return f; } public static /* synthetic */ int access$200(KeyCycle keyCycle) { return keyCycle.mCurveFit; } public static /* synthetic */ int access$202(KeyCycle keyCycle, int i) { keyCycle.mCurveFit = i; return i; } public static /* synthetic */ int access$300(KeyCycle keyCycle) { return keyCycle.mWaveShape; } public static /* synthetic */ int access$302(KeyCycle keyCycle, int i) { keyCycle.mWaveShape = i; return i; } public static /* synthetic */ float access$400(KeyCycle keyCycle) { return keyCycle.mWavePeriod; } public static /* synthetic */ float access$402(KeyCycle keyCycle, float f) { keyCycle.mWavePeriod = f; return f; } public static /* synthetic */ float access$500(KeyCycle keyCycle) { return keyCycle.mWaveOffset; } public static /* synthetic */ float access$502(KeyCycle keyCycle, float f) { keyCycle.mWaveOffset = f; return f; } public static /* synthetic */ int access$600(KeyCycle keyCycle) { return keyCycle.mWaveVariesBy; } public static /* synthetic */ int access$602(KeyCycle keyCycle, int i) { keyCycle.mWaveVariesBy = i; return i; } public static /* synthetic */ float access$700(KeyCycle keyCycle) { return keyCycle.mAlpha; } public static /* synthetic */ float access$702(KeyCycle keyCycle, float f) { keyCycle.mAlpha = f; return f; } public static /* synthetic */ float access$800(KeyCycle keyCycle) { return keyCycle.mElevation; } public static /* synthetic */ float access$802(KeyCycle keyCycle, float f) { keyCycle.mElevation = f; return f; } public static /* synthetic */ float access$900(KeyCycle keyCycle) { return keyCycle.mRotation; } public static /* synthetic */ float access$902(KeyCycle keyCycle, float f) { keyCycle.mRotation = f; return f; } public void addCycleValues(HashMap hashMap) { for (String str : hashMap.keySet()) { if (str.startsWith(Key.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); } } else { float value = getValue(str); if (!Float.isNaN(value)) { hashMap.get(str).setPoint(this.mFramePosition, this.mWaveShape, this.mWaveVariesBy, this.mWavePeriod, this.mWaveOffset, value); } } } } @Override // androidx.constraintlayout.motion.widget.Key public void addValues(HashMap hashMap) { StringBuilder L = a.L("add "); L.append(hashMap.size()); L.append(" values"); Debug.logStack("KeyCycle", L.toString(), 2); for (String str : hashMap.keySet()) { SplineSet splineSet = hashMap.get(str); str.hashCode(); str.hashCode(); char c2 = 65535; switch (str.hashCode()) { case -1249320806: if (str.equals(Key.ROTATION_X)) { c2 = 0; break; } break; case -1249320805: if (str.equals(Key.ROTATION_Y)) { c2 = 1; break; } break; case -1225497657: if (str.equals(Key.TRANSLATION_X)) { c2 = 2; break; } break; case -1225497656: if (str.equals(Key.TRANSLATION_Y)) { c2 = 3; break; } break; case -1225497655: if (str.equals(Key.TRANSLATION_Z)) { c2 = 4; break; } break; case -1001078227: if (str.equals("progress")) { c2 = 5; break; } break; case -908189618: if (str.equals(Key.SCALE_X)) { c2 = 6; break; } break; case -908189617: if (str.equals(Key.SCALE_Y)) { c2 = 7; break; } break; case -40300674: if (str.equals(Key.ROTATION)) { c2 = '\b'; break; } break; case -4379043: if (str.equals(Key.ELEVATION)) { c2 = '\t'; break; } break; case 37232917: if (str.equals(Key.TRANSITION_PATH_ROTATE)) { c2 = '\n'; break; } break; case 92909918: if (str.equals(Key.ALPHA)) { c2 = 11; break; } break; case 156108012: if (str.equals(Key.WAVE_OFFSET)) { c2 = '\f'; break; } break; } switch (c2) { 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("KeyCycle", "WARNING KeyCycle UNKNOWN " + str); break; } } } @Override // androidx.constraintlayout.motion.widget.Key public void getAttributeNames(HashSet hashSet) { if (!Float.isNaN(this.mAlpha)) { hashSet.add(Key.ALPHA); } if (!Float.isNaN(this.mElevation)) { hashSet.add(Key.ELEVATION); } if (!Float.isNaN(this.mRotation)) { hashSet.add(Key.ROTATION); } if (!Float.isNaN(this.mRotationX)) { hashSet.add(Key.ROTATION_X); } if (!Float.isNaN(this.mRotationY)) { hashSet.add(Key.ROTATION_Y); } if (!Float.isNaN(this.mScaleX)) { hashSet.add(Key.SCALE_X); } if (!Float.isNaN(this.mScaleY)) { hashSet.add(Key.SCALE_Y); } if (!Float.isNaN(this.mTransitionPathRotate)) { hashSet.add(Key.TRANSITION_PATH_ROTATE); } if (!Float.isNaN(this.mTranslationX)) { hashSet.add(Key.TRANSLATION_X); } if (!Float.isNaN(this.mTranslationY)) { hashSet.add(Key.TRANSLATION_Y); } if (!Float.isNaN(this.mTranslationZ)) { hashSet.add(Key.TRANSLATION_Z); } if (this.mCustomConstraints.size() > 0) { Iterator it = this.mCustomConstraints.keySet().iterator(); while (it.hasNext()) { hashSet.add("CUSTOM," + it.next()); } } } public float getValue(String str) { str.hashCode(); char c2 = 65535; switch (str.hashCode()) { case -1249320806: if (str.equals(Key.ROTATION_X)) { c2 = 0; break; } break; case -1249320805: if (str.equals(Key.ROTATION_Y)) { c2 = 1; break; } break; case -1225497657: if (str.equals(Key.TRANSLATION_X)) { c2 = 2; break; } break; case -1225497656: if (str.equals(Key.TRANSLATION_Y)) { c2 = 3; break; } break; case -1225497655: if (str.equals(Key.TRANSLATION_Z)) { c2 = 4; break; } break; case -1001078227: if (str.equals("progress")) { c2 = 5; break; } break; case -908189618: if (str.equals(Key.SCALE_X)) { c2 = 6; break; } break; case -908189617: if (str.equals(Key.SCALE_Y)) { c2 = 7; break; } break; case -40300674: if (str.equals(Key.ROTATION)) { c2 = '\b'; break; } break; case -4379043: if (str.equals(Key.ELEVATION)) { c2 = '\t'; break; } break; case 37232917: if (str.equals(Key.TRANSITION_PATH_ROTATE)) { c2 = '\n'; break; } break; case 92909918: if (str.equals(Key.ALPHA)) { c2 = 11; break; } break; case 156108012: if (str.equals(Key.WAVE_OFFSET)) { c2 = '\f'; break; } break; } switch (c2) { 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("KeyCycle", "WARNING! KeyCycle UNKNOWN " + str); return Float.NaN; } } @Override // androidx.constraintlayout.motion.widget.Key public void load(Context context, AttributeSet attributeSet) { Loader.access$000(this, context.obtainStyledAttributes(attributeSet, R.styleable.KeyCycle)); } @Override // androidx.constraintlayout.motion.widget.Key public void setValue(String str, Object obj) { str.hashCode(); char c2 = 65535; switch (str.hashCode()) { case -1812823328: if (str.equals("transitionEasing")) { c2 = 0; break; } break; case -1249320806: if (str.equals(Key.ROTATION_X)) { c2 = 1; break; } break; case -1249320805: if (str.equals(Key.ROTATION_Y)) { c2 = 2; break; } break; case -1225497657: if (str.equals(Key.TRANSLATION_X)) { c2 = 3; break; } break; case -1225497656: if (str.equals(Key.TRANSLATION_Y)) { c2 = 4; break; } break; case -1001078227: if (str.equals("progress")) { c2 = 5; break; } break; case -908189618: if (str.equals(Key.SCALE_X)) { c2 = 6; break; } break; case -908189617: if (str.equals(Key.SCALE_Y)) { c2 = 7; break; } break; case -40300674: if (str.equals(Key.ROTATION)) { c2 = '\b'; break; } break; case -4379043: if (str.equals(Key.ELEVATION)) { c2 = '\t'; break; } break; case 37232917: if (str.equals(Key.TRANSITION_PATH_ROTATE)) { c2 = '\n'; break; } break; case 92909918: if (str.equals(Key.ALPHA)) { c2 = 11; break; } break; case 156108012: if (str.equals(Key.WAVE_OFFSET)) { c2 = '\f'; break; } break; case 184161818: if (str.equals(Key.WAVE_PERIOD)) { c2 = '\r'; break; } break; case 579057826: if (str.equals("curveFit")) { c2 = 14; break; } break; case 1317633238: if (str.equals("mTranslationZ")) { c2 = 15; break; } break; } switch (c2) { 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; } } }