package androidx.constraintlayout.widget; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.util.Log; import android.util.TypedValue; import android.util.Xml; import android.view.View; import androidx.constraintlayout.motion.widget.Debug; import androidx.core.view.ViewCompat; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import org.xmlpull.v1.XmlPullParser; /* loaded from: classes.dex */ public class ConstraintAttribute { private static final String TAG = "TransitionLayout"; boolean mBooleanValue; private int mColorValue; private float mFloatValue; private int mIntegerValue; String mName; private String mStringValue; private AttributeType mType; /* loaded from: classes.dex */ public enum AttributeType { INT_TYPE, FLOAT_TYPE, COLOR_TYPE, COLOR_DRAWABLE_TYPE, STRING_TYPE, BOOLEAN_TYPE, DIMENSION_TYPE } private static int clamp(int i) { int i2 = (i & (~(i >> 31))) - 255; return (i2 & (i2 >> 31)) + 255; } public AttributeType getType() { return this.mType; } public void setColorValue(int i) { this.mColorValue = i; } public void setFloatValue(float f) { this.mFloatValue = f; } public void setIntValue(int i) { this.mIntegerValue = i; } public void setStringValue(String str) { this.mStringValue = str; } /* JADX INFO: Access modifiers changed from: package-private */ /* renamed from: androidx.constraintlayout.widget.ConstraintAttribute$1, reason: invalid class name */ /* loaded from: classes.dex */ public static /* synthetic */ class AnonymousClass1 { static final /* synthetic */ int[] $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType; static { int[] iArr = new int[AttributeType.values().length]; $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType = iArr; try { iArr[AttributeType.COLOR_TYPE.ordinal()] = 1; } catch (NoSuchFieldError unused) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.COLOR_DRAWABLE_TYPE.ordinal()] = 2; } catch (NoSuchFieldError unused2) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.INT_TYPE.ordinal()] = 3; } catch (NoSuchFieldError unused3) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.FLOAT_TYPE.ordinal()] = 4; } catch (NoSuchFieldError unused4) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.STRING_TYPE.ordinal()] = 5; } catch (NoSuchFieldError unused5) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.BOOLEAN_TYPE.ordinal()] = 6; } catch (NoSuchFieldError unused6) { } try { $SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[AttributeType.DIMENSION_TYPE.ordinal()] = 7; } catch (NoSuchFieldError unused7) { } } } public int noOfInterpValues() { int i = AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]; return (i == 1 || i == 2) ? 4 : 1; } public float getValueToInterpolate() { switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: case 2: throw new RuntimeException("Color does not have a single color to interpolate"); case 3: return this.mIntegerValue; case 4: return this.mFloatValue; case 5: throw new RuntimeException("Cannot interpolate String"); case 6: return this.mBooleanValue ? 0.0f : 1.0f; case 7: return this.mFloatValue; default: return Float.NaN; } } public void getValuesToInterpolate(float[] fArr) { switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: case 2: int i = (this.mColorValue >> 24) & 255; float pow = (float) Math.pow(((r9 >> 16) & 255) / 255.0f, 2.2d); float pow2 = (float) Math.pow(((r9 >> 8) & 255) / 255.0f, 2.2d); float pow3 = (float) Math.pow((r9 & 255) / 255.0f, 2.2d); fArr[0] = pow; fArr[1] = pow2; fArr[2] = pow3; fArr[3] = i / 255.0f; return; case 3: fArr[0] = this.mIntegerValue; return; case 4: fArr[0] = this.mFloatValue; return; case 5: throw new RuntimeException("Color does not have a single color to interpolate"); case 6: fArr[0] = this.mBooleanValue ? 0.0f : 1.0f; return; case 7: fArr[0] = this.mFloatValue; return; default: return; } } public void setValue(float[] fArr) { switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: case 2: int HSVToColor = Color.HSVToColor(fArr); this.mColorValue = HSVToColor; this.mColorValue = (clamp((int) (fArr[3] * 255.0f)) << 24) | (HSVToColor & ViewCompat.MEASURED_SIZE_MASK); return; case 3: this.mIntegerValue = (int) fArr[0]; return; case 4: this.mFloatValue = fArr[0]; return; case 5: throw new RuntimeException("Color does not have a single color to interpolate"); case 6: this.mBooleanValue = ((double) fArr[0]) > 0.5d; return; case 7: this.mFloatValue = fArr[0]; return; default: return; } } public boolean diff(ConstraintAttribute constraintAttribute) { if (constraintAttribute == null || this.mType != constraintAttribute.mType) { return false; } switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: case 2: return this.mColorValue == constraintAttribute.mColorValue; case 3: return this.mIntegerValue == constraintAttribute.mIntegerValue; case 4: return this.mFloatValue == constraintAttribute.mFloatValue; case 5: return this.mIntegerValue == constraintAttribute.mIntegerValue; case 6: return this.mBooleanValue == constraintAttribute.mBooleanValue; case 7: return this.mFloatValue == constraintAttribute.mFloatValue; default: return false; } } public ConstraintAttribute(String str, AttributeType attributeType) { this.mName = str; this.mType = attributeType; } public ConstraintAttribute(String str, AttributeType attributeType, Object obj) { this.mName = str; this.mType = attributeType; setValue(obj); } public ConstraintAttribute(ConstraintAttribute constraintAttribute, Object obj) { this.mName = constraintAttribute.mName; this.mType = constraintAttribute.mType; setValue(obj); } public void setValue(Object obj) { switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: case 2: this.mColorValue = ((Integer) obj).intValue(); return; case 3: this.mIntegerValue = ((Integer) obj).intValue(); return; case 4: this.mFloatValue = ((Float) obj).floatValue(); return; case 5: this.mStringValue = (String) obj; return; case 6: this.mBooleanValue = ((Boolean) obj).booleanValue(); return; case 7: this.mFloatValue = ((Float) obj).floatValue(); return; default: return; } } public static HashMap extractAttributes(HashMap hashMap, View view) { HashMap hashMap2 = new HashMap<>(); Class cls = view.getClass(); for (String str : hashMap.keySet()) { ConstraintAttribute constraintAttribute = hashMap.get(str); try { if (str.equals("BackgroundColor")) { hashMap2.put(str, new ConstraintAttribute(constraintAttribute, Integer.valueOf(((ColorDrawable) view.getBackground()).getColor()))); } else { hashMap2.put(str, new ConstraintAttribute(constraintAttribute, cls.getMethod("getMap" + str, new Class[0]).invoke(view, new Object[0]))); } } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchMethodException e2) { e2.printStackTrace(); } catch (InvocationTargetException e3) { e3.printStackTrace(); } } return hashMap2; } /* JADX WARN: Failed to find 'out' block for switch in B:7:0x0040. Please report as an issue. */ public static void setAttributes(View view, HashMap hashMap) { Class cls = view.getClass(); for (String str : hashMap.keySet()) { ConstraintAttribute constraintAttribute = hashMap.get(str); String str2 = "set" + str; try { switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[constraintAttribute.mType.ordinal()]) { case 1: cls.getMethod(str2, Integer.TYPE).invoke(view, Integer.valueOf(constraintAttribute.mColorValue)); break; case 2: Method method = cls.getMethod(str2, Drawable.class); ColorDrawable colorDrawable = new ColorDrawable(); colorDrawable.setColor(constraintAttribute.mColorValue); method.invoke(view, colorDrawable); break; case 3: cls.getMethod(str2, Integer.TYPE).invoke(view, Integer.valueOf(constraintAttribute.mIntegerValue)); break; case 4: cls.getMethod(str2, Float.TYPE).invoke(view, Float.valueOf(constraintAttribute.mFloatValue)); break; case 5: cls.getMethod(str2, CharSequence.class).invoke(view, constraintAttribute.mStringValue); break; case 6: cls.getMethod(str2, Boolean.TYPE).invoke(view, Boolean.valueOf(constraintAttribute.mBooleanValue)); break; case 7: cls.getMethod(str2, Float.TYPE).invoke(view, Float.valueOf(constraintAttribute.mFloatValue)); break; } } catch (IllegalAccessException e) { Log.e(TAG, " Custom Attribute \"" + str + "\" not found on " + cls.getName()); e.printStackTrace(); } catch (NoSuchMethodException e2) { Log.e(TAG, e2.getMessage()); Log.e(TAG, " Custom Attribute \"" + str + "\" not found on " + cls.getName()); Log.e(TAG, cls.getName() + " must have a method " + str2); } catch (InvocationTargetException e3) { Log.e(TAG, " Custom Attribute \"" + str + "\" not found on " + cls.getName()); e3.printStackTrace(); } } } public void setInterpolatedValue(View view, float[] fArr) { Class cls = view.getClass(); String str = "set" + this.mName; try { boolean z = true; switch (AnonymousClass1.$SwitchMap$androidx$constraintlayout$widget$ConstraintAttribute$AttributeType[this.mType.ordinal()]) { case 1: cls.getMethod(str, Integer.TYPE).invoke(view, Integer.valueOf((clamp((int) (((float) Math.pow(fArr[0], 0.45454545454545453d)) * 255.0f)) << 16) | (clamp((int) (fArr[3] * 255.0f)) << 24) | (clamp((int) (((float) Math.pow(fArr[1], 0.45454545454545453d)) * 255.0f)) << 8) | clamp((int) (((float) Math.pow(fArr[2], 0.45454545454545453d)) * 255.0f)))); return; case 2: Method method = cls.getMethod(str, Drawable.class); int clamp = (clamp((int) (((float) Math.pow(fArr[0], 0.45454545454545453d)) * 255.0f)) << 16) | (clamp((int) (fArr[3] * 255.0f)) << 24) | (clamp((int) (((float) Math.pow(fArr[1], 0.45454545454545453d)) * 255.0f)) << 8) | clamp((int) (((float) Math.pow(fArr[2], 0.45454545454545453d)) * 255.0f)); ColorDrawable colorDrawable = new ColorDrawable(); colorDrawable.setColor(clamp); method.invoke(view, colorDrawable); return; case 3: cls.getMethod(str, Integer.TYPE).invoke(view, Integer.valueOf((int) fArr[0])); return; case 4: cls.getMethod(str, Float.TYPE).invoke(view, Float.valueOf(fArr[0])); return; case 5: throw new RuntimeException("unable to interpolate strings " + this.mName); case 6: Method method2 = cls.getMethod(str, Boolean.TYPE); Object[] objArr = new Object[1]; if (fArr[0] <= 0.5f) { z = false; } objArr[0] = Boolean.valueOf(z); method2.invoke(view, objArr); return; case 7: cls.getMethod(str, Float.TYPE).invoke(view, Float.valueOf(fArr[0])); return; default: return; } } catch (IllegalAccessException e) { Log.e(TAG, "cannot access method " + str + "on View \"" + Debug.getName(view) + "\""); e.printStackTrace(); } catch (NoSuchMethodException e2) { Log.e(TAG, "no method " + str + "on View \"" + Debug.getName(view) + "\""); e2.printStackTrace(); } catch (InvocationTargetException e3) { e3.printStackTrace(); } } public static void parse(Context context, XmlPullParser xmlPullParser, HashMap hashMap) { AttributeType attributeType; Object string; TypedArray obtainStyledAttributes = context.obtainStyledAttributes(Xml.asAttributeSet(xmlPullParser), R.styleable.CustomAttribute); int indexCount = obtainStyledAttributes.getIndexCount(); String str = null; Object obj = null; AttributeType attributeType2 = null; for (int i = 0; i < indexCount; i++) { int index = obtainStyledAttributes.getIndex(i); if (index == R.styleable.CustomAttribute_attributeName) { str = obtainStyledAttributes.getString(index); if (str != null && str.length() > 0) { str = Character.toUpperCase(str.charAt(0)) + str.substring(1); } } else if (index == R.styleable.CustomAttribute_customBoolean) { obj = Boolean.valueOf(obtainStyledAttributes.getBoolean(index, false)); attributeType2 = AttributeType.BOOLEAN_TYPE; } else { if (index == R.styleable.CustomAttribute_customColorValue) { attributeType = AttributeType.COLOR_TYPE; string = Integer.valueOf(obtainStyledAttributes.getColor(index, 0)); } else if (index == R.styleable.CustomAttribute_customColorDrawableValue) { attributeType = AttributeType.COLOR_DRAWABLE_TYPE; string = Integer.valueOf(obtainStyledAttributes.getColor(index, 0)); } else if (index == R.styleable.CustomAttribute_customPixelDimension) { attributeType = AttributeType.DIMENSION_TYPE; string = Float.valueOf(TypedValue.applyDimension(1, obtainStyledAttributes.getDimension(index, 0.0f), context.getResources().getDisplayMetrics())); } else if (index == R.styleable.CustomAttribute_customDimension) { attributeType = AttributeType.DIMENSION_TYPE; string = Float.valueOf(obtainStyledAttributes.getDimension(index, 0.0f)); } else if (index == R.styleable.CustomAttribute_customFloatValue) { attributeType = AttributeType.FLOAT_TYPE; string = Float.valueOf(obtainStyledAttributes.getFloat(index, Float.NaN)); } else if (index == R.styleable.CustomAttribute_customIntegerValue) { attributeType = AttributeType.INT_TYPE; string = Integer.valueOf(obtainStyledAttributes.getInteger(index, -1)); } else if (index == R.styleable.CustomAttribute_customStringValue) { attributeType = AttributeType.STRING_TYPE; string = obtainStyledAttributes.getString(index); } Object obj2 = string; attributeType2 = attributeType; obj = obj2; } } if (str != null && obj != null) { hashMap.put(str, new ConstraintAttribute(str, attributeType2, obj)); } obtainStyledAttributes.recycle(); } }