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

2763 lines
133 KiB
Java

package androidx.constraintlayout.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.graphics.Color;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseIntArray;
import android.util.Xml;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.constraintlayout.motion.utils.Easing;
import androidx.constraintlayout.motion.widget.Debug;
import androidx.constraintlayout.motion.widget.MotionScene;
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
import androidx.constraintlayout.solver.widgets.HelperWidget;
import androidx.constraintlayout.widget.ConstraintAttribute;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.Constraints;
import androidx.constraintlayout.widget.R;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.xmlpull.v1.XmlPullParserException;
import tech.rabbit.r1launcher.BuildConfig;
/* loaded from: classes.dex */
public class ConstraintSet {
private static final int ALPHA = 43;
private static final int ANIMATE_RELATIVE_TO = 64;
private static final int BARRIER_ALLOWS_GONE_WIDGETS = 75;
private static final int BARRIER_DIRECTION = 72;
private static final int BARRIER_MARGIN = 73;
private static final int BARRIER_TYPE = 1;
public static final int BASELINE = 5;
private static final int BASELINE_TO_BASELINE = 1;
public static final int BOTTOM = 4;
private static final int BOTTOM_MARGIN = 2;
private static final int BOTTOM_TO_BOTTOM = 3;
private static final int BOTTOM_TO_TOP = 4;
public static final int CHAIN_PACKED = 2;
public static final int CHAIN_SPREAD = 0;
public static final int CHAIN_SPREAD_INSIDE = 1;
private static final int CHAIN_USE_RTL = 71;
private static final int CIRCLE = 61;
private static final int CIRCLE_ANGLE = 63;
private static final int CIRCLE_RADIUS = 62;
private static final int CONSTRAINED_HEIGHT = 81;
private static final int CONSTRAINED_WIDTH = 80;
private static final int CONSTRAINT_REFERENCED_IDS = 74;
private static final int CONSTRAINT_TAG = 77;
private static final boolean DEBUG = false;
private static final int DIMENSION_RATIO = 5;
private static final int DRAW_PATH = 66;
private static final int EDITOR_ABSOLUTE_X = 6;
private static final int EDITOR_ABSOLUTE_Y = 7;
private static final int ELEVATION = 44;
public static final int END = 7;
private static final int END_MARGIN = 8;
private static final int END_TO_END = 9;
private static final int END_TO_START = 10;
private static final String ERROR_MESSAGE = "XML parser error must be within a Constraint ";
public static final int GONE = 8;
private static final int GONE_BOTTOM_MARGIN = 11;
private static final int GONE_END_MARGIN = 12;
private static final int GONE_LEFT_MARGIN = 13;
private static final int GONE_RIGHT_MARGIN = 14;
private static final int GONE_START_MARGIN = 15;
private static final int GONE_TOP_MARGIN = 16;
private static final int GUIDE_BEGIN = 17;
private static final int GUIDE_END = 18;
private static final int GUIDE_PERCENT = 19;
private static final int HEIGHT_DEFAULT = 55;
private static final int HEIGHT_MAX = 57;
private static final int HEIGHT_MIN = 59;
private static final int HEIGHT_PERCENT = 70;
public static final int HORIZONTAL = 0;
private static final int HORIZONTAL_BIAS = 20;
public static final int HORIZONTAL_GUIDELINE = 0;
private static final int HORIZONTAL_STYLE = 41;
private static final int HORIZONTAL_WEIGHT = 39;
public static final int INVISIBLE = 4;
private static final int LAYOUT_HEIGHT = 21;
private static final int LAYOUT_VISIBILITY = 22;
private static final int LAYOUT_WIDTH = 23;
public static final int LEFT = 1;
private static final int LEFT_MARGIN = 24;
private static final int LEFT_TO_LEFT = 25;
private static final int LEFT_TO_RIGHT = 26;
public static final int MATCH_CONSTRAINT = 0;
public static final int MATCH_CONSTRAINT_SPREAD = 0;
public static final int MATCH_CONSTRAINT_WRAP = 1;
private static final int MOTION_STAGGER = 79;
private static final int ORIENTATION = 27;
public static final int PARENT_ID = 0;
private static final int PATH_MOTION_ARC = 76;
private static final int PROGRESS = 68;
public static final int RIGHT = 2;
private static final int RIGHT_MARGIN = 28;
private static final int RIGHT_TO_LEFT = 29;
private static final int RIGHT_TO_RIGHT = 30;
private static final int ROTATION = 60;
private static final int ROTATION_X = 45;
private static final int ROTATION_Y = 46;
private static final int SCALE_X = 47;
private static final int SCALE_Y = 48;
public static final int START = 6;
private static final int START_MARGIN = 31;
private static final int START_TO_END = 32;
private static final int START_TO_START = 33;
private static final String TAG = "ConstraintSet";
public static final int TOP = 3;
private static final int TOP_MARGIN = 34;
private static final int TOP_TO_BOTTOM = 35;
private static final int TOP_TO_TOP = 36;
private static final int TRANSFORM_PIVOT_X = 49;
private static final int TRANSFORM_PIVOT_Y = 50;
private static final int TRANSITION_EASING = 65;
private static final int TRANSITION_PATH_ROTATE = 67;
private static final int TRANSLATION_X = 51;
private static final int TRANSLATION_Y = 52;
private static final int TRANSLATION_Z = 53;
public static final int UNSET = -1;
private static final int UNUSED = 82;
public static final int VERTICAL = 1;
private static final int VERTICAL_BIAS = 37;
public static final int VERTICAL_GUIDELINE = 1;
private static final int VERTICAL_STYLE = 42;
private static final int VERTICAL_WEIGHT = 40;
private static final int VIEW_ID = 38;
private static final int[] VISIBILITY_FLAGS = {0, 4, 8};
private static final int VISIBILITY_MODE = 78;
public static final int VISIBILITY_MODE_IGNORE = 1;
public static final int VISIBILITY_MODE_NORMAL = 0;
public static final int VISIBLE = 0;
private static final int WIDTH_DEFAULT = 54;
private static final int WIDTH_MAX = 56;
private static final int WIDTH_MIN = 58;
private static final int WIDTH_PERCENT = 69;
public static final int WRAP_CONTENT = -2;
private static SparseIntArray mapToConstant;
private boolean mValidate;
private HashMap<String, ConstraintAttribute> mSavedAttributes = new HashMap<>();
private boolean mForceId = true;
private HashMap<Integer, Constraint> mConstraints = new HashMap<>();
private String sideToString(int i) {
switch (i) {
case 1:
return "left";
case 2:
return "right";
case 3:
return "top";
case 4:
return "bottom";
case 5:
return "baseline";
case 6:
return "start";
case 7:
return "end";
default:
return "undefined";
}
}
public HashMap<String, ConstraintAttribute> getCustomAttributeSet() {
return this.mSavedAttributes;
}
public boolean isForceId() {
return this.mForceId;
}
public void setForceId(boolean z) {
this.mForceId = z;
}
public void setValidateOnParse(boolean z) {
this.mValidate = z;
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
mapToConstant = sparseIntArray;
sparseIntArray.append(R.styleable.Constraint_layout_constraintLeft_toLeftOf, 25);
mapToConstant.append(R.styleable.Constraint_layout_constraintLeft_toRightOf, 26);
mapToConstant.append(R.styleable.Constraint_layout_constraintRight_toLeftOf, 29);
mapToConstant.append(R.styleable.Constraint_layout_constraintRight_toRightOf, 30);
mapToConstant.append(R.styleable.Constraint_layout_constraintTop_toTopOf, 36);
mapToConstant.append(R.styleable.Constraint_layout_constraintTop_toBottomOf, 35);
mapToConstant.append(R.styleable.Constraint_layout_constraintBottom_toTopOf, 4);
mapToConstant.append(R.styleable.Constraint_layout_constraintBottom_toBottomOf, 3);
mapToConstant.append(R.styleable.Constraint_layout_constraintBaseline_toBaselineOf, 1);
mapToConstant.append(R.styleable.Constraint_layout_editor_absoluteX, 6);
mapToConstant.append(R.styleable.Constraint_layout_editor_absoluteY, 7);
mapToConstant.append(R.styleable.Constraint_layout_constraintGuide_begin, 17);
mapToConstant.append(R.styleable.Constraint_layout_constraintGuide_end, 18);
mapToConstant.append(R.styleable.Constraint_layout_constraintGuide_percent, 19);
mapToConstant.append(R.styleable.Constraint_android_orientation, 27);
mapToConstant.append(R.styleable.Constraint_layout_constraintStart_toEndOf, 32);
mapToConstant.append(R.styleable.Constraint_layout_constraintStart_toStartOf, 33);
mapToConstant.append(R.styleable.Constraint_layout_constraintEnd_toStartOf, 10);
mapToConstant.append(R.styleable.Constraint_layout_constraintEnd_toEndOf, 9);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginLeft, 13);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginTop, 16);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginRight, 14);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginBottom, 11);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginStart, 15);
mapToConstant.append(R.styleable.Constraint_layout_goneMarginEnd, 12);
mapToConstant.append(R.styleable.Constraint_layout_constraintVertical_weight, 40);
mapToConstant.append(R.styleable.Constraint_layout_constraintHorizontal_weight, 39);
mapToConstant.append(R.styleable.Constraint_layout_constraintHorizontal_chainStyle, 41);
mapToConstant.append(R.styleable.Constraint_layout_constraintVertical_chainStyle, 42);
mapToConstant.append(R.styleable.Constraint_layout_constraintHorizontal_bias, 20);
mapToConstant.append(R.styleable.Constraint_layout_constraintVertical_bias, 37);
mapToConstant.append(R.styleable.Constraint_layout_constraintDimensionRatio, 5);
mapToConstant.append(R.styleable.Constraint_layout_constraintLeft_creator, UNUSED);
mapToConstant.append(R.styleable.Constraint_layout_constraintTop_creator, UNUSED);
mapToConstant.append(R.styleable.Constraint_layout_constraintRight_creator, UNUSED);
mapToConstant.append(R.styleable.Constraint_layout_constraintBottom_creator, UNUSED);
mapToConstant.append(R.styleable.Constraint_layout_constraintBaseline_creator, UNUSED);
mapToConstant.append(R.styleable.Constraint_android_layout_marginLeft, 24);
mapToConstant.append(R.styleable.Constraint_android_layout_marginRight, 28);
mapToConstant.append(R.styleable.Constraint_android_layout_marginStart, 31);
mapToConstant.append(R.styleable.Constraint_android_layout_marginEnd, 8);
mapToConstant.append(R.styleable.Constraint_android_layout_marginTop, 34);
mapToConstant.append(R.styleable.Constraint_android_layout_marginBottom, 2);
mapToConstant.append(R.styleable.Constraint_android_layout_width, 23);
mapToConstant.append(R.styleable.Constraint_android_layout_height, 21);
mapToConstant.append(R.styleable.Constraint_android_visibility, 22);
mapToConstant.append(R.styleable.Constraint_android_alpha, 43);
mapToConstant.append(R.styleable.Constraint_android_elevation, 44);
mapToConstant.append(R.styleable.Constraint_android_rotationX, 45);
mapToConstant.append(R.styleable.Constraint_android_rotationY, 46);
mapToConstant.append(R.styleable.Constraint_android_rotation, 60);
mapToConstant.append(R.styleable.Constraint_android_scaleX, 47);
mapToConstant.append(R.styleable.Constraint_android_scaleY, 48);
mapToConstant.append(R.styleable.Constraint_android_transformPivotX, 49);
mapToConstant.append(R.styleable.Constraint_android_transformPivotY, 50);
mapToConstant.append(R.styleable.Constraint_android_translationX, 51);
mapToConstant.append(R.styleable.Constraint_android_translationY, 52);
mapToConstant.append(R.styleable.Constraint_android_translationZ, TRANSLATION_Z);
mapToConstant.append(R.styleable.Constraint_layout_constraintWidth_default, WIDTH_DEFAULT);
mapToConstant.append(R.styleable.Constraint_layout_constraintHeight_default, HEIGHT_DEFAULT);
mapToConstant.append(R.styleable.Constraint_layout_constraintWidth_max, WIDTH_MAX);
mapToConstant.append(R.styleable.Constraint_layout_constraintHeight_max, HEIGHT_MAX);
mapToConstant.append(R.styleable.Constraint_layout_constraintWidth_min, WIDTH_MIN);
mapToConstant.append(R.styleable.Constraint_layout_constraintHeight_min, HEIGHT_MIN);
mapToConstant.append(R.styleable.Constraint_layout_constraintCircle, 61);
mapToConstant.append(R.styleable.Constraint_layout_constraintCircleRadius, CIRCLE_RADIUS);
mapToConstant.append(R.styleable.Constraint_layout_constraintCircleAngle, 63);
mapToConstant.append(R.styleable.Constraint_animate_relativeTo, 64);
mapToConstant.append(R.styleable.Constraint_transitionEasing, TRANSITION_EASING);
mapToConstant.append(R.styleable.Constraint_drawPath, DRAW_PATH);
mapToConstant.append(R.styleable.Constraint_transitionPathRotate, 67);
mapToConstant.append(R.styleable.Constraint_motionStagger, MOTION_STAGGER);
mapToConstant.append(R.styleable.Constraint_android_id, 38);
mapToConstant.append(R.styleable.Constraint_motionProgress, PROGRESS);
mapToConstant.append(R.styleable.Constraint_layout_constraintWidth_percent, WIDTH_PERCENT);
mapToConstant.append(R.styleable.Constraint_layout_constraintHeight_percent, HEIGHT_PERCENT);
mapToConstant.append(R.styleable.Constraint_chainUseRtl, 71);
mapToConstant.append(R.styleable.Constraint_barrierDirection, BARRIER_DIRECTION);
mapToConstant.append(R.styleable.Constraint_barrierMargin, BARRIER_MARGIN);
mapToConstant.append(R.styleable.Constraint_constraint_referenced_ids, CONSTRAINT_REFERENCED_IDS);
mapToConstant.append(R.styleable.Constraint_barrierAllowsGoneWidgets, 75);
mapToConstant.append(R.styleable.Constraint_pathMotionArc, 76);
mapToConstant.append(R.styleable.Constraint_layout_constraintTag, CONSTRAINT_TAG);
mapToConstant.append(R.styleable.Constraint_visibilityMode, VISIBILITY_MODE);
mapToConstant.append(R.styleable.Constraint_layout_constrainedWidth, CONSTRAINED_WIDTH);
mapToConstant.append(R.styleable.Constraint_layout_constrainedHeight, CONSTRAINED_HEIGHT);
}
public Constraint getParameters(int i) {
return get(i);
}
public void readFallback(ConstraintSet constraintSet) {
for (Integer num : constraintSet.mConstraints.keySet()) {
int intValue = num.intValue();
Constraint constraint = constraintSet.mConstraints.get(num);
if (!this.mConstraints.containsKey(Integer.valueOf(intValue))) {
this.mConstraints.put(Integer.valueOf(intValue), new Constraint());
}
Constraint constraint2 = this.mConstraints.get(Integer.valueOf(intValue));
if (!constraint2.layout.mApply) {
constraint2.layout.copyFrom(constraint.layout);
}
if (!constraint2.propertySet.mApply) {
constraint2.propertySet.copyFrom(constraint.propertySet);
}
if (!constraint2.transform.mApply) {
constraint2.transform.copyFrom(constraint.transform);
}
if (!constraint2.motion.mApply) {
constraint2.motion.copyFrom(constraint.motion);
}
for (String str : constraint.mCustomConstraints.keySet()) {
if (!constraint2.mCustomConstraints.containsKey(str)) {
constraint2.mCustomConstraints.put(str, constraint.mCustomConstraints.get(str));
}
}
}
}
public void readFallback(ConstraintLayout constraintLayout) {
int childCount = constraintLayout.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = constraintLayout.getChildAt(i);
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) childAt.getLayoutParams();
int id = childAt.getId();
if (this.mForceId && id == -1) {
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
}
if (!this.mConstraints.containsKey(Integer.valueOf(id))) {
this.mConstraints.put(Integer.valueOf(id), new Constraint());
}
Constraint constraint = this.mConstraints.get(Integer.valueOf(id));
if (!constraint.layout.mApply) {
constraint.fillFrom(id, layoutParams);
if (childAt instanceof ConstraintHelper) {
constraint.layout.mReferenceIds = ((ConstraintHelper) childAt).getReferencedIds();
if (childAt instanceof Barrier) {
Barrier barrier = (Barrier) childAt;
constraint.layout.mBarrierAllowsGoneWidgets = barrier.allowsGoneWidget();
constraint.layout.mBarrierDirection = barrier.getType();
constraint.layout.mBarrierMargin = barrier.getMargin();
}
}
constraint.layout.mApply = true;
}
if (!constraint.propertySet.mApply) {
constraint.propertySet.visibility = childAt.getVisibility();
constraint.propertySet.alpha = childAt.getAlpha();
constraint.propertySet.mApply = true;
}
if (!constraint.transform.mApply) {
constraint.transform.mApply = true;
constraint.transform.rotation = childAt.getRotation();
constraint.transform.rotationX = childAt.getRotationX();
constraint.transform.rotationY = childAt.getRotationY();
constraint.transform.scaleX = childAt.getScaleX();
constraint.transform.scaleY = childAt.getScaleY();
float pivotX = childAt.getPivotX();
float pivotY = childAt.getPivotY();
if (pivotX != BuildConfig.SENTRY_SAMPLE_RATE || pivotY != BuildConfig.SENTRY_SAMPLE_RATE) {
constraint.transform.transformPivotX = pivotX;
constraint.transform.transformPivotY = pivotY;
}
constraint.transform.translationX = childAt.getTranslationX();
constraint.transform.translationY = childAt.getTranslationY();
constraint.transform.translationZ = childAt.getTranslationZ();
if (constraint.transform.applyElevation) {
constraint.transform.elevation = childAt.getElevation();
}
}
}
}
/* loaded from: classes.dex */
public static class Layout {
private static final int BARRIER_ALLOWS_GONE_WIDGETS = 75;
private static final int BARRIER_DIRECTION = 72;
private static final int BARRIER_MARGIN = 73;
private static final int BASELINE_TO_BASELINE = 1;
private static final int BOTTOM_MARGIN = 2;
private static final int BOTTOM_TO_BOTTOM = 3;
private static final int BOTTOM_TO_TOP = 4;
private static final int CHAIN_USE_RTL = 71;
private static final int CIRCLE = 61;
private static final int CIRCLE_ANGLE = 63;
private static final int CIRCLE_RADIUS = 62;
private static final int CONSTRAINT_REFERENCED_IDS = 74;
private static final int DIMENSION_RATIO = 5;
private static final int EDITOR_ABSOLUTE_X = 6;
private static final int EDITOR_ABSOLUTE_Y = 7;
private static final int END_MARGIN = 8;
private static final int END_TO_END = 9;
private static final int END_TO_START = 10;
private static final int GONE_BOTTOM_MARGIN = 11;
private static final int GONE_END_MARGIN = 12;
private static final int GONE_LEFT_MARGIN = 13;
private static final int GONE_RIGHT_MARGIN = 14;
private static final int GONE_START_MARGIN = 15;
private static final int GONE_TOP_MARGIN = 16;
private static final int GUIDE_BEGIN = 17;
private static final int GUIDE_END = 18;
private static final int GUIDE_PERCENT = 19;
private static final int HEIGHT_PERCENT = 70;
private static final int HORIZONTAL_BIAS = 20;
private static final int HORIZONTAL_STYLE = 39;
private static final int HORIZONTAL_WEIGHT = 37;
private static final int LAYOUT_HEIGHT = 21;
private static final int LAYOUT_WIDTH = 22;
private static final int LEFT_MARGIN = 23;
private static final int LEFT_TO_LEFT = 24;
private static final int LEFT_TO_RIGHT = 25;
private static final int ORIENTATION = 26;
private static final int RIGHT_MARGIN = 27;
private static final int RIGHT_TO_LEFT = 28;
private static final int RIGHT_TO_RIGHT = 29;
private static final int START_MARGIN = 30;
private static final int START_TO_END = 31;
private static final int START_TO_START = 32;
private static final int TOP_MARGIN = 33;
private static final int TOP_TO_BOTTOM = 34;
private static final int TOP_TO_TOP = 35;
public static final int UNSET = -1;
private static final int UNUSED = 76;
private static final int VERTICAL_BIAS = 36;
private static final int VERTICAL_STYLE = 40;
private static final int VERTICAL_WEIGHT = 38;
private static final int WIDTH_PERCENT = 69;
private static SparseIntArray mapToConstant;
public String mConstraintTag;
public int mHeight;
public String mReferenceIdString;
public int[] mReferenceIds;
public int mWidth;
public boolean mIsGuideline = false;
public boolean mApply = false;
public int guideBegin = -1;
public int guideEnd = -1;
public float guidePercent = -1.0f;
public int leftToLeft = -1;
public int leftToRight = -1;
public int rightToLeft = -1;
public int rightToRight = -1;
public int topToTop = -1;
public int topToBottom = -1;
public int bottomToTop = -1;
public int bottomToBottom = -1;
public int baselineToBaseline = -1;
public int startToEnd = -1;
public int startToStart = -1;
public int endToStart = -1;
public int endToEnd = -1;
public float horizontalBias = 0.5f;
public float verticalBias = 0.5f;
public String dimensionRatio = null;
public int circleConstraint = -1;
public int circleRadius = 0;
public float circleAngle = 0.0f;
public int editorAbsoluteX = -1;
public int editorAbsoluteY = -1;
public int orientation = -1;
public int leftMargin = -1;
public int rightMargin = -1;
public int topMargin = -1;
public int bottomMargin = -1;
public int endMargin = -1;
public int startMargin = -1;
public int goneLeftMargin = -1;
public int goneTopMargin = -1;
public int goneRightMargin = -1;
public int goneBottomMargin = -1;
public int goneEndMargin = -1;
public int goneStartMargin = -1;
public float verticalWeight = -1.0f;
public float horizontalWeight = -1.0f;
public int horizontalChainStyle = 0;
public int verticalChainStyle = 0;
public int widthDefault = 0;
public int heightDefault = 0;
public int widthMax = -1;
public int heightMax = -1;
public int widthMin = -1;
public int heightMin = -1;
public float widthPercent = 1.0f;
public float heightPercent = 1.0f;
public int mBarrierDirection = -1;
public int mBarrierMargin = 0;
public int mHelperType = -1;
public boolean constrainedWidth = false;
public boolean constrainedHeight = false;
public boolean mBarrierAllowsGoneWidgets = true;
public void copyFrom(Layout layout) {
this.mIsGuideline = layout.mIsGuideline;
this.mWidth = layout.mWidth;
this.mApply = layout.mApply;
this.mHeight = layout.mHeight;
this.guideBegin = layout.guideBegin;
this.guideEnd = layout.guideEnd;
this.guidePercent = layout.guidePercent;
this.leftToLeft = layout.leftToLeft;
this.leftToRight = layout.leftToRight;
this.rightToLeft = layout.rightToLeft;
this.rightToRight = layout.rightToRight;
this.topToTop = layout.topToTop;
this.topToBottom = layout.topToBottom;
this.bottomToTop = layout.bottomToTop;
this.bottomToBottom = layout.bottomToBottom;
this.baselineToBaseline = layout.baselineToBaseline;
this.startToEnd = layout.startToEnd;
this.startToStart = layout.startToStart;
this.endToStart = layout.endToStart;
this.endToEnd = layout.endToEnd;
this.horizontalBias = layout.horizontalBias;
this.verticalBias = layout.verticalBias;
this.dimensionRatio = layout.dimensionRatio;
this.circleConstraint = layout.circleConstraint;
this.circleRadius = layout.circleRadius;
this.circleAngle = layout.circleAngle;
this.editorAbsoluteX = layout.editorAbsoluteX;
this.editorAbsoluteY = layout.editorAbsoluteY;
this.orientation = layout.orientation;
this.leftMargin = layout.leftMargin;
this.rightMargin = layout.rightMargin;
this.topMargin = layout.topMargin;
this.bottomMargin = layout.bottomMargin;
this.endMargin = layout.endMargin;
this.startMargin = layout.startMargin;
this.goneLeftMargin = layout.goneLeftMargin;
this.goneTopMargin = layout.goneTopMargin;
this.goneRightMargin = layout.goneRightMargin;
this.goneBottomMargin = layout.goneBottomMargin;
this.goneEndMargin = layout.goneEndMargin;
this.goneStartMargin = layout.goneStartMargin;
this.verticalWeight = layout.verticalWeight;
this.horizontalWeight = layout.horizontalWeight;
this.horizontalChainStyle = layout.horizontalChainStyle;
this.verticalChainStyle = layout.verticalChainStyle;
this.widthDefault = layout.widthDefault;
this.heightDefault = layout.heightDefault;
this.widthMax = layout.widthMax;
this.heightMax = layout.heightMax;
this.widthMin = layout.widthMin;
this.heightMin = layout.heightMin;
this.widthPercent = layout.widthPercent;
this.heightPercent = layout.heightPercent;
this.mBarrierDirection = layout.mBarrierDirection;
this.mBarrierMargin = layout.mBarrierMargin;
this.mHelperType = layout.mHelperType;
this.mConstraintTag = layout.mConstraintTag;
int[] iArr = layout.mReferenceIds;
if (iArr != null) {
this.mReferenceIds = Arrays.copyOf(iArr, iArr.length);
} else {
this.mReferenceIds = null;
}
this.mReferenceIdString = layout.mReferenceIdString;
this.constrainedWidth = layout.constrainedWidth;
this.constrainedHeight = layout.constrainedHeight;
this.mBarrierAllowsGoneWidgets = layout.mBarrierAllowsGoneWidgets;
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
mapToConstant = sparseIntArray;
sparseIntArray.append(R.styleable.Layout_layout_constraintLeft_toLeftOf, 24);
mapToConstant.append(R.styleable.Layout_layout_constraintLeft_toRightOf, 25);
mapToConstant.append(R.styleable.Layout_layout_constraintRight_toLeftOf, 28);
mapToConstant.append(R.styleable.Layout_layout_constraintRight_toRightOf, 29);
mapToConstant.append(R.styleable.Layout_layout_constraintTop_toTopOf, 35);
mapToConstant.append(R.styleable.Layout_layout_constraintTop_toBottomOf, 34);
mapToConstant.append(R.styleable.Layout_layout_constraintBottom_toTopOf, 4);
mapToConstant.append(R.styleable.Layout_layout_constraintBottom_toBottomOf, 3);
mapToConstant.append(R.styleable.Layout_layout_constraintBaseline_toBaselineOf, 1);
mapToConstant.append(R.styleable.Layout_layout_editor_absoluteX, 6);
mapToConstant.append(R.styleable.Layout_layout_editor_absoluteY, 7);
mapToConstant.append(R.styleable.Layout_layout_constraintGuide_begin, 17);
mapToConstant.append(R.styleable.Layout_layout_constraintGuide_end, 18);
mapToConstant.append(R.styleable.Layout_layout_constraintGuide_percent, 19);
mapToConstant.append(R.styleable.Layout_android_orientation, 26);
mapToConstant.append(R.styleable.Layout_layout_constraintStart_toEndOf, 31);
mapToConstant.append(R.styleable.Layout_layout_constraintStart_toStartOf, 32);
mapToConstant.append(R.styleable.Layout_layout_constraintEnd_toStartOf, 10);
mapToConstant.append(R.styleable.Layout_layout_constraintEnd_toEndOf, 9);
mapToConstant.append(R.styleable.Layout_layout_goneMarginLeft, 13);
mapToConstant.append(R.styleable.Layout_layout_goneMarginTop, 16);
mapToConstant.append(R.styleable.Layout_layout_goneMarginRight, 14);
mapToConstant.append(R.styleable.Layout_layout_goneMarginBottom, 11);
mapToConstant.append(R.styleable.Layout_layout_goneMarginStart, 15);
mapToConstant.append(R.styleable.Layout_layout_goneMarginEnd, 12);
mapToConstant.append(R.styleable.Layout_layout_constraintVertical_weight, 38);
mapToConstant.append(R.styleable.Layout_layout_constraintHorizontal_weight, 37);
mapToConstant.append(R.styleable.Layout_layout_constraintHorizontal_chainStyle, 39);
mapToConstant.append(R.styleable.Layout_layout_constraintVertical_chainStyle, 40);
mapToConstant.append(R.styleable.Layout_layout_constraintHorizontal_bias, 20);
mapToConstant.append(R.styleable.Layout_layout_constraintVertical_bias, 36);
mapToConstant.append(R.styleable.Layout_layout_constraintDimensionRatio, 5);
mapToConstant.append(R.styleable.Layout_layout_constraintLeft_creator, 76);
mapToConstant.append(R.styleable.Layout_layout_constraintTop_creator, 76);
mapToConstant.append(R.styleable.Layout_layout_constraintRight_creator, 76);
mapToConstant.append(R.styleable.Layout_layout_constraintBottom_creator, 76);
mapToConstant.append(R.styleable.Layout_layout_constraintBaseline_creator, 76);
mapToConstant.append(R.styleable.Layout_android_layout_marginLeft, 23);
mapToConstant.append(R.styleable.Layout_android_layout_marginRight, 27);
mapToConstant.append(R.styleable.Layout_android_layout_marginStart, 30);
mapToConstant.append(R.styleable.Layout_android_layout_marginEnd, 8);
mapToConstant.append(R.styleable.Layout_android_layout_marginTop, 33);
mapToConstant.append(R.styleable.Layout_android_layout_marginBottom, 2);
mapToConstant.append(R.styleable.Layout_android_layout_width, 22);
mapToConstant.append(R.styleable.Layout_android_layout_height, 21);
mapToConstant.append(R.styleable.Layout_layout_constraintCircle, 61);
mapToConstant.append(R.styleable.Layout_layout_constraintCircleRadius, CIRCLE_RADIUS);
mapToConstant.append(R.styleable.Layout_layout_constraintCircleAngle, 63);
mapToConstant.append(R.styleable.Layout_layout_constraintWidth_percent, WIDTH_PERCENT);
mapToConstant.append(R.styleable.Layout_layout_constraintHeight_percent, HEIGHT_PERCENT);
mapToConstant.append(R.styleable.Layout_chainUseRtl, 71);
mapToConstant.append(R.styleable.Layout_barrierDirection, BARRIER_DIRECTION);
mapToConstant.append(R.styleable.Layout_barrierMargin, BARRIER_MARGIN);
mapToConstant.append(R.styleable.Layout_constraint_referenced_ids, CONSTRAINT_REFERENCED_IDS);
mapToConstant.append(R.styleable.Layout_barrierAllowsGoneWidgets, 75);
}
void fillFromAttributeList(Context context, AttributeSet attributeSet) {
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.Layout);
this.mApply = true;
int indexCount = obtainStyledAttributes.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = obtainStyledAttributes.getIndex(i);
int i2 = mapToConstant.get(index);
if (i2 == ConstraintSet.CONSTRAINED_WIDTH) {
this.constrainedWidth = obtainStyledAttributes.getBoolean(index, this.constrainedWidth);
} else if (i2 != ConstraintSet.CONSTRAINED_HEIGHT) {
switch (i2) {
case 1:
this.baselineToBaseline = ConstraintSet.lookupID(obtainStyledAttributes, index, this.baselineToBaseline);
break;
case 2:
this.bottomMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.bottomMargin);
break;
case 3:
this.bottomToBottom = ConstraintSet.lookupID(obtainStyledAttributes, index, this.bottomToBottom);
break;
case 4:
this.bottomToTop = ConstraintSet.lookupID(obtainStyledAttributes, index, this.bottomToTop);
break;
case 5:
this.dimensionRatio = obtainStyledAttributes.getString(index);
break;
case 6:
this.editorAbsoluteX = obtainStyledAttributes.getDimensionPixelOffset(index, this.editorAbsoluteX);
break;
case 7:
this.editorAbsoluteY = obtainStyledAttributes.getDimensionPixelOffset(index, this.editorAbsoluteY);
break;
case 8:
this.endMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.endMargin);
break;
case 9:
this.endToEnd = ConstraintSet.lookupID(obtainStyledAttributes, index, this.endToEnd);
break;
case 10:
this.endToStart = ConstraintSet.lookupID(obtainStyledAttributes, index, this.endToStart);
break;
case 11:
this.goneBottomMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneBottomMargin);
break;
case 12:
this.goneEndMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneEndMargin);
break;
case 13:
this.goneLeftMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneLeftMargin);
break;
case 14:
this.goneRightMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneRightMargin);
break;
case 15:
this.goneStartMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneStartMargin);
break;
case 16:
this.goneTopMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.goneTopMargin);
break;
case 17:
this.guideBegin = obtainStyledAttributes.getDimensionPixelOffset(index, this.guideBegin);
break;
case 18:
this.guideEnd = obtainStyledAttributes.getDimensionPixelOffset(index, this.guideEnd);
break;
case 19:
this.guidePercent = obtainStyledAttributes.getFloat(index, this.guidePercent);
break;
case 20:
this.horizontalBias = obtainStyledAttributes.getFloat(index, this.horizontalBias);
break;
case 21:
this.mHeight = obtainStyledAttributes.getLayoutDimension(index, this.mHeight);
break;
case 22:
this.mWidth = obtainStyledAttributes.getLayoutDimension(index, this.mWidth);
break;
case 23:
this.leftMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.leftMargin);
break;
case 24:
this.leftToLeft = ConstraintSet.lookupID(obtainStyledAttributes, index, this.leftToLeft);
break;
case 25:
this.leftToRight = ConstraintSet.lookupID(obtainStyledAttributes, index, this.leftToRight);
break;
case 26:
this.orientation = obtainStyledAttributes.getInt(index, this.orientation);
break;
case 27:
this.rightMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.rightMargin);
break;
case 28:
this.rightToLeft = ConstraintSet.lookupID(obtainStyledAttributes, index, this.rightToLeft);
break;
case 29:
this.rightToRight = ConstraintSet.lookupID(obtainStyledAttributes, index, this.rightToRight);
break;
case 30:
this.startMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.startMargin);
break;
case 31:
this.startToEnd = ConstraintSet.lookupID(obtainStyledAttributes, index, this.startToEnd);
break;
case 32:
this.startToStart = ConstraintSet.lookupID(obtainStyledAttributes, index, this.startToStart);
break;
case 33:
this.topMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.topMargin);
break;
case 34:
this.topToBottom = ConstraintSet.lookupID(obtainStyledAttributes, index, this.topToBottom);
break;
case 35:
this.topToTop = ConstraintSet.lookupID(obtainStyledAttributes, index, this.topToTop);
break;
case 36:
this.verticalBias = obtainStyledAttributes.getFloat(index, this.verticalBias);
break;
case 37:
this.horizontalWeight = obtainStyledAttributes.getFloat(index, this.horizontalWeight);
break;
case 38:
this.verticalWeight = obtainStyledAttributes.getFloat(index, this.verticalWeight);
break;
case 39:
this.horizontalChainStyle = obtainStyledAttributes.getInt(index, this.horizontalChainStyle);
break;
case 40:
this.verticalChainStyle = obtainStyledAttributes.getInt(index, this.verticalChainStyle);
break;
default:
switch (i2) {
case ConstraintSet.WIDTH_DEFAULT /* 54 */:
this.widthDefault = obtainStyledAttributes.getInt(index, this.widthDefault);
break;
case ConstraintSet.HEIGHT_DEFAULT /* 55 */:
this.heightDefault = obtainStyledAttributes.getInt(index, this.heightDefault);
break;
case ConstraintSet.WIDTH_MAX /* 56 */:
this.widthMax = obtainStyledAttributes.getDimensionPixelSize(index, this.widthMax);
break;
case ConstraintSet.HEIGHT_MAX /* 57 */:
this.heightMax = obtainStyledAttributes.getDimensionPixelSize(index, this.heightMax);
break;
case ConstraintSet.WIDTH_MIN /* 58 */:
this.widthMin = obtainStyledAttributes.getDimensionPixelSize(index, this.widthMin);
break;
case ConstraintSet.HEIGHT_MIN /* 59 */:
this.heightMin = obtainStyledAttributes.getDimensionPixelSize(index, this.heightMin);
break;
default:
switch (i2) {
case 61:
this.circleConstraint = ConstraintSet.lookupID(obtainStyledAttributes, index, this.circleConstraint);
break;
case CIRCLE_RADIUS /* 62 */:
this.circleRadius = obtainStyledAttributes.getDimensionPixelSize(index, this.circleRadius);
break;
case 63:
this.circleAngle = obtainStyledAttributes.getFloat(index, this.circleAngle);
break;
default:
switch (i2) {
case WIDTH_PERCENT /* 69 */:
this.widthPercent = obtainStyledAttributes.getFloat(index, 1.0f);
break;
case HEIGHT_PERCENT /* 70 */:
this.heightPercent = obtainStyledAttributes.getFloat(index, 1.0f);
break;
case 71:
Log.e(ConstraintSet.TAG, "CURRENTLY UNSUPPORTED");
break;
case BARRIER_DIRECTION /* 72 */:
this.mBarrierDirection = obtainStyledAttributes.getInt(index, this.mBarrierDirection);
break;
case BARRIER_MARGIN /* 73 */:
this.mBarrierMargin = obtainStyledAttributes.getDimensionPixelSize(index, this.mBarrierMargin);
break;
case CONSTRAINT_REFERENCED_IDS /* 74 */:
this.mReferenceIdString = obtainStyledAttributes.getString(index);
break;
case 75:
this.mBarrierAllowsGoneWidgets = obtainStyledAttributes.getBoolean(index, this.mBarrierAllowsGoneWidgets);
break;
case 76:
Log.w(ConstraintSet.TAG, "unused attribute 0x" + Integer.toHexString(index) + " " + mapToConstant.get(index));
break;
case ConstraintSet.CONSTRAINT_TAG /* 77 */:
this.mConstraintTag = obtainStyledAttributes.getString(index);
break;
default:
Log.w(ConstraintSet.TAG, "Unknown attribute 0x" + Integer.toHexString(index) + " " + mapToConstant.get(index));
break;
}
}
}
}
} else {
this.constrainedHeight = obtainStyledAttributes.getBoolean(index, this.constrainedHeight);
}
}
obtainStyledAttributes.recycle();
}
public void dump(MotionScene motionScene, StringBuilder sb) {
Field[] declaredFields = getClass().getDeclaredFields();
sb.append("\n");
for (Field field : declaredFields) {
String name = field.getName();
if (!Modifier.isStatic(field.getModifiers())) {
try {
Object obj = field.get(this);
Class<?> type = field.getType();
if (type == Integer.TYPE) {
Integer num = (Integer) obj;
if (num.intValue() != -1) {
Object lookUpConstraintName = motionScene.lookUpConstraintName(num.intValue());
sb.append(" ");
sb.append(name);
sb.append(" = \"");
sb.append(lookUpConstraintName == null ? num : lookUpConstraintName);
sb.append("\"\n");
}
} else if (type == Float.TYPE) {
Float f = (Float) obj;
if (f.floatValue() != -1.0f) {
sb.append(" ");
sb.append(name);
sb.append(" = \"");
sb.append(f);
sb.append("\"\n");
}
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
}
/* loaded from: classes.dex */
public static class Transform {
private static final int ELEVATION = 11;
private static final int ROTATION = 1;
private static final int ROTATION_X = 2;
private static final int ROTATION_Y = 3;
private static final int SCALE_X = 4;
private static final int SCALE_Y = 5;
private static final int TRANSFORM_PIVOT_X = 6;
private static final int TRANSFORM_PIVOT_Y = 7;
private static final int TRANSLATION_X = 8;
private static final int TRANSLATION_Y = 9;
private static final int TRANSLATION_Z = 10;
private static SparseIntArray mapToConstant;
public boolean mApply = false;
public float rotation = 0.0f;
public float rotationX = 0.0f;
public float rotationY = 0.0f;
public float scaleX = 1.0f;
public float scaleY = 1.0f;
public float transformPivotX = Float.NaN;
public float transformPivotY = Float.NaN;
public float translationX = 0.0f;
public float translationY = 0.0f;
public float translationZ = 0.0f;
public boolean applyElevation = false;
public float elevation = 0.0f;
public void copyFrom(Transform transform) {
this.mApply = transform.mApply;
this.rotation = transform.rotation;
this.rotationX = transform.rotationX;
this.rotationY = transform.rotationY;
this.scaleX = transform.scaleX;
this.scaleY = transform.scaleY;
this.transformPivotX = transform.transformPivotX;
this.transformPivotY = transform.transformPivotY;
this.translationX = transform.translationX;
this.translationY = transform.translationY;
this.translationZ = transform.translationZ;
this.applyElevation = transform.applyElevation;
this.elevation = transform.elevation;
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
mapToConstant = sparseIntArray;
sparseIntArray.append(R.styleable.Transform_android_rotation, 1);
mapToConstant.append(R.styleable.Transform_android_rotationX, 2);
mapToConstant.append(R.styleable.Transform_android_rotationY, 3);
mapToConstant.append(R.styleable.Transform_android_scaleX, 4);
mapToConstant.append(R.styleable.Transform_android_scaleY, 5);
mapToConstant.append(R.styleable.Transform_android_transformPivotX, 6);
mapToConstant.append(R.styleable.Transform_android_transformPivotY, 7);
mapToConstant.append(R.styleable.Transform_android_translationX, 8);
mapToConstant.append(R.styleable.Transform_android_translationY, 9);
mapToConstant.append(R.styleable.Transform_android_translationZ, 10);
mapToConstant.append(R.styleable.Transform_android_elevation, 11);
}
void fillFromAttributeList(Context context, AttributeSet attributeSet) {
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.Transform);
this.mApply = true;
int indexCount = obtainStyledAttributes.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = obtainStyledAttributes.getIndex(i);
switch (mapToConstant.get(index)) {
case 1:
this.rotation = obtainStyledAttributes.getFloat(index, this.rotation);
break;
case 2:
this.rotationX = obtainStyledAttributes.getFloat(index, this.rotationX);
break;
case 3:
this.rotationY = obtainStyledAttributes.getFloat(index, this.rotationY);
break;
case 4:
this.scaleX = obtainStyledAttributes.getFloat(index, this.scaleX);
break;
case 5:
this.scaleY = obtainStyledAttributes.getFloat(index, this.scaleY);
break;
case 6:
this.transformPivotX = obtainStyledAttributes.getDimension(index, this.transformPivotX);
break;
case 7:
this.transformPivotY = obtainStyledAttributes.getDimension(index, this.transformPivotY);
break;
case 8:
this.translationX = obtainStyledAttributes.getDimension(index, this.translationX);
break;
case 9:
this.translationY = obtainStyledAttributes.getDimension(index, this.translationY);
break;
case 10:
this.translationZ = obtainStyledAttributes.getDimension(index, this.translationZ);
break;
case 11:
this.applyElevation = true;
this.elevation = obtainStyledAttributes.getDimension(index, this.elevation);
break;
}
}
obtainStyledAttributes.recycle();
}
}
/* loaded from: classes.dex */
public static class PropertySet {
public boolean mApply = false;
public int visibility = 0;
public int mVisibilityMode = 0;
public float alpha = 1.0f;
public float mProgress = Float.NaN;
public void copyFrom(PropertySet propertySet) {
this.mApply = propertySet.mApply;
this.visibility = propertySet.visibility;
this.alpha = propertySet.alpha;
this.mProgress = propertySet.mProgress;
this.mVisibilityMode = propertySet.mVisibilityMode;
}
void fillFromAttributeList(Context context, AttributeSet attributeSet) {
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.PropertySet);
this.mApply = true;
int indexCount = obtainStyledAttributes.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = obtainStyledAttributes.getIndex(i);
if (index == R.styleable.PropertySet_android_alpha) {
this.alpha = obtainStyledAttributes.getFloat(index, this.alpha);
} else if (index == R.styleable.PropertySet_android_visibility) {
this.visibility = obtainStyledAttributes.getInt(index, this.visibility);
this.visibility = ConstraintSet.VISIBILITY_FLAGS[this.visibility];
} else if (index == R.styleable.PropertySet_visibilityMode) {
this.mVisibilityMode = obtainStyledAttributes.getInt(index, this.mVisibilityMode);
} else if (index == R.styleable.PropertySet_motionProgress) {
this.mProgress = obtainStyledAttributes.getFloat(index, this.mProgress);
}
}
obtainStyledAttributes.recycle();
}
}
/* loaded from: classes.dex */
public static class Motion {
private static final int ANIMATE_RELATIVE_TO = 5;
private static final int MOTION_DRAW_PATH = 4;
private static final int MOTION_STAGGER = 6;
private static final int PATH_MOTION_ARC = 2;
private static final int TRANSITION_EASING = 3;
private static final int TRANSITION_PATH_ROTATE = 1;
private static SparseIntArray mapToConstant;
public boolean mApply = false;
public int mAnimateRelativeTo = -1;
public String mTransitionEasing = null;
public int mPathMotionArc = -1;
public int mDrawPath = 0;
public float mMotionStagger = Float.NaN;
public float mPathRotate = Float.NaN;
public void copyFrom(Motion motion) {
this.mApply = motion.mApply;
this.mAnimateRelativeTo = motion.mAnimateRelativeTo;
this.mTransitionEasing = motion.mTransitionEasing;
this.mPathMotionArc = motion.mPathMotionArc;
this.mDrawPath = motion.mDrawPath;
this.mPathRotate = motion.mPathRotate;
this.mMotionStagger = motion.mMotionStagger;
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
mapToConstant = sparseIntArray;
sparseIntArray.append(R.styleable.Motion_motionPathRotate, 1);
mapToConstant.append(R.styleable.Motion_pathMotionArc, 2);
mapToConstant.append(R.styleable.Motion_transitionEasing, 3);
mapToConstant.append(R.styleable.Motion_drawPath, 4);
mapToConstant.append(R.styleable.Motion_animate_relativeTo, 5);
mapToConstant.append(R.styleable.Motion_motionStagger, 6);
}
void fillFromAttributeList(Context context, AttributeSet attributeSet) {
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.Motion);
this.mApply = true;
int indexCount = obtainStyledAttributes.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = obtainStyledAttributes.getIndex(i);
switch (mapToConstant.get(index)) {
case 1:
this.mPathRotate = obtainStyledAttributes.getFloat(index, this.mPathRotate);
break;
case 2:
this.mPathMotionArc = obtainStyledAttributes.getInt(index, this.mPathMotionArc);
break;
case 3:
if (obtainStyledAttributes.peekValue(index).type == 3) {
this.mTransitionEasing = obtainStyledAttributes.getString(index);
break;
} else {
this.mTransitionEasing = Easing.NAMED_EASING[obtainStyledAttributes.getInteger(index, 0)];
break;
}
case 4:
this.mDrawPath = obtainStyledAttributes.getInt(index, 0);
break;
case 5:
this.mAnimateRelativeTo = ConstraintSet.lookupID(obtainStyledAttributes, index, this.mAnimateRelativeTo);
break;
case 6:
this.mMotionStagger = obtainStyledAttributes.getFloat(index, this.mMotionStagger);
break;
}
}
obtainStyledAttributes.recycle();
}
}
/* loaded from: classes.dex */
public static class Constraint {
int mViewId;
public final PropertySet propertySet = new PropertySet();
public final Motion motion = new Motion();
public final Layout layout = new Layout();
public final Transform transform = new Transform();
public HashMap<String, ConstraintAttribute> mCustomConstraints = new HashMap<>();
private ConstraintAttribute get(String str, ConstraintAttribute.AttributeType attributeType) {
if (this.mCustomConstraints.containsKey(str)) {
ConstraintAttribute constraintAttribute = this.mCustomConstraints.get(str);
if (constraintAttribute.getType() == attributeType) {
return constraintAttribute;
}
throw new IllegalArgumentException("ConstraintAttribute is already a " + constraintAttribute.getType().name());
}
ConstraintAttribute constraintAttribute2 = new ConstraintAttribute(str, attributeType);
this.mCustomConstraints.put(str, constraintAttribute2);
return constraintAttribute2;
}
/* JADX INFO: Access modifiers changed from: private */
public void setStringValue(String str, String str2) {
get(str, ConstraintAttribute.AttributeType.STRING_TYPE).setStringValue(str2);
}
/* JADX INFO: Access modifiers changed from: private */
public void setFloatValue(String str, float f) {
get(str, ConstraintAttribute.AttributeType.FLOAT_TYPE).setFloatValue(f);
}
/* JADX INFO: Access modifiers changed from: private */
public void setIntValue(String str, int i) {
get(str, ConstraintAttribute.AttributeType.INT_TYPE).setIntValue(i);
}
/* JADX INFO: Access modifiers changed from: private */
public void setColorValue(String str, int i) {
get(str, ConstraintAttribute.AttributeType.COLOR_TYPE).setColorValue(i);
}
/* renamed from: clone, reason: merged with bridge method [inline-methods] */
public Constraint m5130clone() {
Constraint constraint = new Constraint();
constraint.layout.copyFrom(this.layout);
constraint.motion.copyFrom(this.motion);
constraint.propertySet.copyFrom(this.propertySet);
constraint.transform.copyFrom(this.transform);
constraint.mViewId = this.mViewId;
return constraint;
}
/* JADX INFO: Access modifiers changed from: private */
public void fillFromConstraints(ConstraintHelper constraintHelper, int i, Constraints.LayoutParams layoutParams) {
fillFromConstraints(i, layoutParams);
if (constraintHelper instanceof Barrier) {
this.layout.mHelperType = 1;
Barrier barrier = (Barrier) constraintHelper;
this.layout.mBarrierDirection = barrier.getType();
this.layout.mReferenceIds = barrier.getReferencedIds();
this.layout.mBarrierMargin = barrier.getMargin();
}
}
/* JADX INFO: Access modifiers changed from: private */
public void fillFromConstraints(int i, Constraints.LayoutParams layoutParams) {
fillFrom(i, layoutParams);
this.propertySet.alpha = layoutParams.alpha;
this.transform.rotation = layoutParams.rotation;
this.transform.rotationX = layoutParams.rotationX;
this.transform.rotationY = layoutParams.rotationY;
this.transform.scaleX = layoutParams.scaleX;
this.transform.scaleY = layoutParams.scaleY;
this.transform.transformPivotX = layoutParams.transformPivotX;
this.transform.transformPivotY = layoutParams.transformPivotY;
this.transform.translationX = layoutParams.translationX;
this.transform.translationY = layoutParams.translationY;
this.transform.translationZ = layoutParams.translationZ;
this.transform.elevation = layoutParams.elevation;
this.transform.applyElevation = layoutParams.applyElevation;
}
/* JADX INFO: Access modifiers changed from: private */
public void fillFrom(int i, ConstraintLayout.LayoutParams layoutParams) {
this.mViewId = i;
this.layout.leftToLeft = layoutParams.leftToLeft;
this.layout.leftToRight = layoutParams.leftToRight;
this.layout.rightToLeft = layoutParams.rightToLeft;
this.layout.rightToRight = layoutParams.rightToRight;
this.layout.topToTop = layoutParams.topToTop;
this.layout.topToBottom = layoutParams.topToBottom;
this.layout.bottomToTop = layoutParams.bottomToTop;
this.layout.bottomToBottom = layoutParams.bottomToBottom;
this.layout.baselineToBaseline = layoutParams.baselineToBaseline;
this.layout.startToEnd = layoutParams.startToEnd;
this.layout.startToStart = layoutParams.startToStart;
this.layout.endToStart = layoutParams.endToStart;
this.layout.endToEnd = layoutParams.endToEnd;
this.layout.horizontalBias = layoutParams.horizontalBias;
this.layout.verticalBias = layoutParams.verticalBias;
this.layout.dimensionRatio = layoutParams.dimensionRatio;
this.layout.circleConstraint = layoutParams.circleConstraint;
this.layout.circleRadius = layoutParams.circleRadius;
this.layout.circleAngle = layoutParams.circleAngle;
this.layout.editorAbsoluteX = layoutParams.editorAbsoluteX;
this.layout.editorAbsoluteY = layoutParams.editorAbsoluteY;
this.layout.orientation = layoutParams.orientation;
this.layout.guidePercent = layoutParams.guidePercent;
this.layout.guideBegin = layoutParams.guideBegin;
this.layout.guideEnd = layoutParams.guideEnd;
this.layout.mWidth = layoutParams.width;
this.layout.mHeight = layoutParams.height;
this.layout.leftMargin = layoutParams.leftMargin;
this.layout.rightMargin = layoutParams.rightMargin;
this.layout.topMargin = layoutParams.topMargin;
this.layout.bottomMargin = layoutParams.bottomMargin;
this.layout.verticalWeight = layoutParams.verticalWeight;
this.layout.horizontalWeight = layoutParams.horizontalWeight;
this.layout.verticalChainStyle = layoutParams.verticalChainStyle;
this.layout.horizontalChainStyle = layoutParams.horizontalChainStyle;
this.layout.constrainedWidth = layoutParams.constrainedWidth;
this.layout.constrainedHeight = layoutParams.constrainedHeight;
this.layout.widthDefault = layoutParams.matchConstraintDefaultWidth;
this.layout.heightDefault = layoutParams.matchConstraintDefaultHeight;
this.layout.widthMax = layoutParams.matchConstraintMaxWidth;
this.layout.heightMax = layoutParams.matchConstraintMaxHeight;
this.layout.widthMin = layoutParams.matchConstraintMinWidth;
this.layout.heightMin = layoutParams.matchConstraintMinHeight;
this.layout.widthPercent = layoutParams.matchConstraintPercentWidth;
this.layout.heightPercent = layoutParams.matchConstraintPercentHeight;
this.layout.mConstraintTag = layoutParams.constraintTag;
this.layout.goneTopMargin = layoutParams.goneTopMargin;
this.layout.goneBottomMargin = layoutParams.goneBottomMargin;
this.layout.goneLeftMargin = layoutParams.goneLeftMargin;
this.layout.goneRightMargin = layoutParams.goneRightMargin;
this.layout.goneStartMargin = layoutParams.goneStartMargin;
this.layout.goneEndMargin = layoutParams.goneEndMargin;
this.layout.endMargin = layoutParams.getMarginEnd();
this.layout.startMargin = layoutParams.getMarginStart();
}
public void applyTo(ConstraintLayout.LayoutParams layoutParams) {
layoutParams.leftToLeft = this.layout.leftToLeft;
layoutParams.leftToRight = this.layout.leftToRight;
layoutParams.rightToLeft = this.layout.rightToLeft;
layoutParams.rightToRight = this.layout.rightToRight;
layoutParams.topToTop = this.layout.topToTop;
layoutParams.topToBottom = this.layout.topToBottom;
layoutParams.bottomToTop = this.layout.bottomToTop;
layoutParams.bottomToBottom = this.layout.bottomToBottom;
layoutParams.baselineToBaseline = this.layout.baselineToBaseline;
layoutParams.startToEnd = this.layout.startToEnd;
layoutParams.startToStart = this.layout.startToStart;
layoutParams.endToStart = this.layout.endToStart;
layoutParams.endToEnd = this.layout.endToEnd;
layoutParams.leftMargin = this.layout.leftMargin;
layoutParams.rightMargin = this.layout.rightMargin;
layoutParams.topMargin = this.layout.topMargin;
layoutParams.bottomMargin = this.layout.bottomMargin;
layoutParams.goneStartMargin = this.layout.goneStartMargin;
layoutParams.goneEndMargin = this.layout.goneEndMargin;
layoutParams.goneTopMargin = this.layout.goneTopMargin;
layoutParams.goneBottomMargin = this.layout.goneBottomMargin;
layoutParams.horizontalBias = this.layout.horizontalBias;
layoutParams.verticalBias = this.layout.verticalBias;
layoutParams.circleConstraint = this.layout.circleConstraint;
layoutParams.circleRadius = this.layout.circleRadius;
layoutParams.circleAngle = this.layout.circleAngle;
layoutParams.dimensionRatio = this.layout.dimensionRatio;
layoutParams.editorAbsoluteX = this.layout.editorAbsoluteX;
layoutParams.editorAbsoluteY = this.layout.editorAbsoluteY;
layoutParams.verticalWeight = this.layout.verticalWeight;
layoutParams.horizontalWeight = this.layout.horizontalWeight;
layoutParams.verticalChainStyle = this.layout.verticalChainStyle;
layoutParams.horizontalChainStyle = this.layout.horizontalChainStyle;
layoutParams.constrainedWidth = this.layout.constrainedWidth;
layoutParams.constrainedHeight = this.layout.constrainedHeight;
layoutParams.matchConstraintDefaultWidth = this.layout.widthDefault;
layoutParams.matchConstraintDefaultHeight = this.layout.heightDefault;
layoutParams.matchConstraintMaxWidth = this.layout.widthMax;
layoutParams.matchConstraintMaxHeight = this.layout.heightMax;
layoutParams.matchConstraintMinWidth = this.layout.widthMin;
layoutParams.matchConstraintMinHeight = this.layout.heightMin;
layoutParams.matchConstraintPercentWidth = this.layout.widthPercent;
layoutParams.matchConstraintPercentHeight = this.layout.heightPercent;
layoutParams.orientation = this.layout.orientation;
layoutParams.guidePercent = this.layout.guidePercent;
layoutParams.guideBegin = this.layout.guideBegin;
layoutParams.guideEnd = this.layout.guideEnd;
layoutParams.width = this.layout.mWidth;
layoutParams.height = this.layout.mHeight;
if (this.layout.mConstraintTag != null) {
layoutParams.constraintTag = this.layout.mConstraintTag;
}
layoutParams.setMarginStart(this.layout.startMargin);
layoutParams.setMarginEnd(this.layout.endMargin);
layoutParams.validate();
}
}
public void clone(Context context, int i) {
clone((ConstraintLayout) LayoutInflater.from(context).inflate(i, (ViewGroup) null));
}
public void clone(ConstraintSet constraintSet) {
this.mConstraints.clear();
for (Integer num : constraintSet.mConstraints.keySet()) {
this.mConstraints.put(num, constraintSet.mConstraints.get(num).m5130clone());
}
}
public void clone(ConstraintLayout constraintLayout) {
int childCount = constraintLayout.getChildCount();
this.mConstraints.clear();
for (int i = 0; i < childCount; i++) {
View childAt = constraintLayout.getChildAt(i);
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) childAt.getLayoutParams();
int id = childAt.getId();
if (this.mForceId && id == -1) {
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
}
if (!this.mConstraints.containsKey(Integer.valueOf(id))) {
this.mConstraints.put(Integer.valueOf(id), new Constraint());
}
Constraint constraint = this.mConstraints.get(Integer.valueOf(id));
constraint.mCustomConstraints = ConstraintAttribute.extractAttributes(this.mSavedAttributes, childAt);
constraint.fillFrom(id, layoutParams);
constraint.propertySet.visibility = childAt.getVisibility();
constraint.propertySet.alpha = childAt.getAlpha();
constraint.transform.rotation = childAt.getRotation();
constraint.transform.rotationX = childAt.getRotationX();
constraint.transform.rotationY = childAt.getRotationY();
constraint.transform.scaleX = childAt.getScaleX();
constraint.transform.scaleY = childAt.getScaleY();
float pivotX = childAt.getPivotX();
float pivotY = childAt.getPivotY();
if (pivotX != BuildConfig.SENTRY_SAMPLE_RATE || pivotY != BuildConfig.SENTRY_SAMPLE_RATE) {
constraint.transform.transformPivotX = pivotX;
constraint.transform.transformPivotY = pivotY;
}
constraint.transform.translationX = childAt.getTranslationX();
constraint.transform.translationY = childAt.getTranslationY();
constraint.transform.translationZ = childAt.getTranslationZ();
if (constraint.transform.applyElevation) {
constraint.transform.elevation = childAt.getElevation();
}
if (childAt instanceof Barrier) {
Barrier barrier = (Barrier) childAt;
constraint.layout.mBarrierAllowsGoneWidgets = barrier.allowsGoneWidget();
constraint.layout.mReferenceIds = barrier.getReferencedIds();
constraint.layout.mBarrierDirection = barrier.getType();
constraint.layout.mBarrierMargin = barrier.getMargin();
}
}
}
public void clone(Constraints constraints) {
int childCount = constraints.getChildCount();
this.mConstraints.clear();
for (int i = 0; i < childCount; i++) {
View childAt = constraints.getChildAt(i);
Constraints.LayoutParams layoutParams = (Constraints.LayoutParams) childAt.getLayoutParams();
int id = childAt.getId();
if (this.mForceId && id == -1) {
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
}
if (!this.mConstraints.containsKey(Integer.valueOf(id))) {
this.mConstraints.put(Integer.valueOf(id), new Constraint());
}
Constraint constraint = this.mConstraints.get(Integer.valueOf(id));
if (childAt instanceof ConstraintHelper) {
constraint.fillFromConstraints((ConstraintHelper) childAt, id, layoutParams);
}
constraint.fillFromConstraints(id, layoutParams);
}
}
public void applyTo(ConstraintLayout constraintLayout) {
applyToInternal(constraintLayout, true);
constraintLayout.setConstraintSet(null);
constraintLayout.requestLayout();
}
public void applyToWithoutCustom(ConstraintLayout constraintLayout) {
applyToInternal(constraintLayout, false);
constraintLayout.setConstraintSet(null);
}
public void applyCustomAttributes(ConstraintLayout constraintLayout) {
int childCount = constraintLayout.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = constraintLayout.getChildAt(i);
int id = childAt.getId();
if (!this.mConstraints.containsKey(Integer.valueOf(id))) {
Log.v(TAG, "id unknown " + Debug.getName(childAt));
} else {
if (this.mForceId && id == -1) {
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
}
if (this.mConstraints.containsKey(Integer.valueOf(id))) {
ConstraintAttribute.setAttributes(childAt, this.mConstraints.get(Integer.valueOf(id)).mCustomConstraints);
}
}
}
}
public void applyToHelper(ConstraintHelper constraintHelper, ConstraintWidget constraintWidget, ConstraintLayout.LayoutParams layoutParams, SparseArray<ConstraintWidget> sparseArray) {
int id = constraintHelper.getId();
if (this.mConstraints.containsKey(Integer.valueOf(id))) {
Constraint constraint = this.mConstraints.get(Integer.valueOf(id));
if (constraintWidget instanceof HelperWidget) {
constraintHelper.loadParameters(constraint, (HelperWidget) constraintWidget, layoutParams, sparseArray);
}
}
}
public void applyToLayoutParams(int i, ConstraintLayout.LayoutParams layoutParams) {
if (this.mConstraints.containsKey(Integer.valueOf(i))) {
this.mConstraints.get(Integer.valueOf(i)).applyTo(layoutParams);
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public void applyToInternal(ConstraintLayout constraintLayout, boolean z) {
int childCount = constraintLayout.getChildCount();
HashSet hashSet = new HashSet(this.mConstraints.keySet());
for (int i = 0; i < childCount; i++) {
View childAt = constraintLayout.getChildAt(i);
int id = childAt.getId();
if (!this.mConstraints.containsKey(Integer.valueOf(id))) {
Log.w(TAG, "id unknown " + Debug.getName(childAt));
} else {
if (this.mForceId && id == -1) {
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
}
if (id != -1) {
if (this.mConstraints.containsKey(Integer.valueOf(id))) {
hashSet.remove(Integer.valueOf(id));
Constraint constraint = this.mConstraints.get(Integer.valueOf(id));
if (childAt instanceof Barrier) {
constraint.layout.mHelperType = 1;
}
if (constraint.layout.mHelperType != -1 && constraint.layout.mHelperType == 1) {
Barrier barrier = (Barrier) childAt;
barrier.setId(id);
barrier.setType(constraint.layout.mBarrierDirection);
barrier.setMargin(constraint.layout.mBarrierMargin);
barrier.setAllowsGoneWidget(constraint.layout.mBarrierAllowsGoneWidgets);
if (constraint.layout.mReferenceIds != null) {
barrier.setReferencedIds(constraint.layout.mReferenceIds);
} else if (constraint.layout.mReferenceIdString != null) {
constraint.layout.mReferenceIds = convertReferenceString(barrier, constraint.layout.mReferenceIdString);
barrier.setReferencedIds(constraint.layout.mReferenceIds);
}
}
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) childAt.getLayoutParams();
layoutParams.validate();
constraint.applyTo(layoutParams);
if (z) {
ConstraintAttribute.setAttributes(childAt, constraint.mCustomConstraints);
}
childAt.setLayoutParams(layoutParams);
if (constraint.propertySet.mVisibilityMode == 0) {
childAt.setVisibility(constraint.propertySet.visibility);
}
childAt.setAlpha(constraint.propertySet.alpha);
childAt.setRotation(constraint.transform.rotation);
childAt.setRotationX(constraint.transform.rotationX);
childAt.setRotationY(constraint.transform.rotationY);
childAt.setScaleX(constraint.transform.scaleX);
childAt.setScaleY(constraint.transform.scaleY);
if (!Float.isNaN(constraint.transform.transformPivotX)) {
childAt.setPivotX(constraint.transform.transformPivotX);
}
if (!Float.isNaN(constraint.transform.transformPivotY)) {
childAt.setPivotY(constraint.transform.transformPivotY);
}
childAt.setTranslationX(constraint.transform.translationX);
childAt.setTranslationY(constraint.transform.translationY);
childAt.setTranslationZ(constraint.transform.translationZ);
if (constraint.transform.applyElevation) {
childAt.setElevation(constraint.transform.elevation);
}
} else {
Log.v(TAG, "WARNING NO CONSTRAINTS for view " + id);
}
}
}
}
Iterator it = hashSet.iterator();
while (it.hasNext()) {
Integer num = (Integer) it.next();
Constraint constraint2 = this.mConstraints.get(num);
if (constraint2.layout.mHelperType != -1 && constraint2.layout.mHelperType == 1) {
Barrier barrier2 = new Barrier(constraintLayout.getContext());
barrier2.setId(num.intValue());
if (constraint2.layout.mReferenceIds != null) {
barrier2.setReferencedIds(constraint2.layout.mReferenceIds);
} else if (constraint2.layout.mReferenceIdString != null) {
constraint2.layout.mReferenceIds = convertReferenceString(barrier2, constraint2.layout.mReferenceIdString);
barrier2.setReferencedIds(constraint2.layout.mReferenceIds);
}
barrier2.setType(constraint2.layout.mBarrierDirection);
barrier2.setMargin(constraint2.layout.mBarrierMargin);
ConstraintLayout.LayoutParams generateDefaultLayoutParams = constraintLayout.generateDefaultLayoutParams();
barrier2.validateParams();
constraint2.applyTo(generateDefaultLayoutParams);
constraintLayout.addView(barrier2, generateDefaultLayoutParams);
}
if (constraint2.layout.mIsGuideline) {
Guideline guideline = new Guideline(constraintLayout.getContext());
guideline.setId(num.intValue());
ConstraintLayout.LayoutParams generateDefaultLayoutParams2 = constraintLayout.generateDefaultLayoutParams();
constraint2.applyTo(generateDefaultLayoutParams2);
constraintLayout.addView(guideline, generateDefaultLayoutParams2);
}
}
}
public void center(int i, int i2, int i3, int i4, int i5, int i6, int i7, float f) {
if (i4 < 0) {
throw new IllegalArgumentException("margin must be > 0");
}
if (i7 < 0) {
throw new IllegalArgumentException("margin must be > 0");
}
if (f <= 0.0f || f > 1.0f) {
throw new IllegalArgumentException("bias must be between 0 and 1 inclusive");
}
if (i3 == 1 || i3 == 2) {
connect(i, 1, i2, i3, i4);
connect(i, 2, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.horizontalBias = f;
} else if (i3 == 6 || i3 == 7) {
connect(i, 6, i2, i3, i4);
connect(i, 7, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.horizontalBias = f;
} else {
connect(i, 3, i2, i3, i4);
connect(i, 4, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.verticalBias = f;
}
}
public void centerHorizontally(int i, int i2, int i3, int i4, int i5, int i6, int i7, float f) {
connect(i, 1, i2, i3, i4);
connect(i, 2, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.horizontalBias = f;
}
public void centerHorizontallyRtl(int i, int i2, int i3, int i4, int i5, int i6, int i7, float f) {
connect(i, 6, i2, i3, i4);
connect(i, 7, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.horizontalBias = f;
}
public void centerVertically(int i, int i2, int i3, int i4, int i5, int i6, int i7, float f) {
connect(i, 3, i2, i3, i4);
connect(i, 4, i5, i6, i7);
this.mConstraints.get(Integer.valueOf(i)).layout.verticalBias = f;
}
public void createVerticalChain(int i, int i2, int i3, int i4, int[] iArr, float[] fArr, int i5) {
if (iArr.length < 2) {
throw new IllegalArgumentException("must have 2 or more widgets in a chain");
}
if (fArr != null && fArr.length != iArr.length) {
throw new IllegalArgumentException("must have 2 or more widgets in a chain");
}
if (fArr != null) {
get(iArr[0]).layout.verticalWeight = fArr[0];
}
get(iArr[0]).layout.verticalChainStyle = i5;
connect(iArr[0], 3, i, i2, 0);
for (int i6 = 1; i6 < iArr.length; i6++) {
int i7 = i6 - 1;
connect(iArr[i6], 3, iArr[i7], 4, 0);
connect(iArr[i7], 4, iArr[i6], 3, 0);
if (fArr != null) {
get(iArr[i6]).layout.verticalWeight = fArr[i6];
}
}
connect(iArr[iArr.length - 1], 4, i3, i4, 0);
}
public void createHorizontalChain(int i, int i2, int i3, int i4, int[] iArr, float[] fArr, int i5) {
createHorizontalChain(i, i2, i3, i4, iArr, fArr, i5, 1, 2);
}
public void createHorizontalChainRtl(int i, int i2, int i3, int i4, int[] iArr, float[] fArr, int i5) {
createHorizontalChain(i, i2, i3, i4, iArr, fArr, i5, 6, 7);
}
private void createHorizontalChain(int i, int i2, int i3, int i4, int[] iArr, float[] fArr, int i5, int i6, int i7) {
if (iArr.length < 2) {
throw new IllegalArgumentException("must have 2 or more widgets in a chain");
}
if (fArr != null && fArr.length != iArr.length) {
throw new IllegalArgumentException("must have 2 or more widgets in a chain");
}
if (fArr != null) {
get(iArr[0]).layout.horizontalWeight = fArr[0];
}
get(iArr[0]).layout.horizontalChainStyle = i5;
connect(iArr[0], i6, i, i2, -1);
for (int i8 = 1; i8 < iArr.length; i8++) {
int i9 = i8 - 1;
connect(iArr[i8], i6, iArr[i9], i7, -1);
connect(iArr[i9], i7, iArr[i8], i6, -1);
if (fArr != null) {
get(iArr[i8]).layout.horizontalWeight = fArr[i8];
}
}
connect(iArr[iArr.length - 1], i7, i3, i4, -1);
}
public void connect(int i, int i2, int i3, int i4, int i5) {
if (!this.mConstraints.containsKey(Integer.valueOf(i))) {
this.mConstraints.put(Integer.valueOf(i), new Constraint());
}
Constraint constraint = this.mConstraints.get(Integer.valueOf(i));
switch (i2) {
case 1:
if (i4 == 1) {
constraint.layout.leftToLeft = i3;
constraint.layout.leftToRight = -1;
} else if (i4 == 2) {
constraint.layout.leftToRight = i3;
constraint.layout.leftToLeft = -1;
} else {
throw new IllegalArgumentException("Left to " + sideToString(i4) + " undefined");
}
constraint.layout.leftMargin = i5;
return;
case 2:
if (i4 == 1) {
constraint.layout.rightToLeft = i3;
constraint.layout.rightToRight = -1;
} else if (i4 == 2) {
constraint.layout.rightToRight = i3;
constraint.layout.rightToLeft = -1;
} else {
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
constraint.layout.rightMargin = i5;
return;
case 3:
if (i4 == 3) {
constraint.layout.topToTop = i3;
constraint.layout.topToBottom = -1;
constraint.layout.baselineToBaseline = -1;
} else if (i4 == 4) {
constraint.layout.topToBottom = i3;
constraint.layout.topToTop = -1;
constraint.layout.baselineToBaseline = -1;
} else {
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
constraint.layout.topMargin = i5;
return;
case 4:
if (i4 == 4) {
constraint.layout.bottomToBottom = i3;
constraint.layout.bottomToTop = -1;
constraint.layout.baselineToBaseline = -1;
} else if (i4 == 3) {
constraint.layout.bottomToTop = i3;
constraint.layout.bottomToBottom = -1;
constraint.layout.baselineToBaseline = -1;
} else {
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
constraint.layout.bottomMargin = i5;
return;
case 5:
if (i4 == 5) {
constraint.layout.baselineToBaseline = i3;
constraint.layout.bottomToBottom = -1;
constraint.layout.bottomToTop = -1;
constraint.layout.topToTop = -1;
constraint.layout.topToBottom = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
case 6:
if (i4 == 6) {
constraint.layout.startToStart = i3;
constraint.layout.startToEnd = -1;
} else if (i4 == 7) {
constraint.layout.startToEnd = i3;
constraint.layout.startToStart = -1;
} else {
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
constraint.layout.startMargin = i5;
return;
case 7:
if (i4 == 7) {
constraint.layout.endToEnd = i3;
constraint.layout.endToStart = -1;
} else if (i4 == 6) {
constraint.layout.endToStart = i3;
constraint.layout.endToEnd = -1;
} else {
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
constraint.layout.endMargin = i5;
return;
default:
throw new IllegalArgumentException(sideToString(i2) + " to " + sideToString(i4) + " unknown");
}
}
public void connect(int i, int i2, int i3, int i4) {
if (!this.mConstraints.containsKey(Integer.valueOf(i))) {
this.mConstraints.put(Integer.valueOf(i), new Constraint());
}
Constraint constraint = this.mConstraints.get(Integer.valueOf(i));
switch (i2) {
case 1:
if (i4 == 1) {
constraint.layout.leftToLeft = i3;
constraint.layout.leftToRight = -1;
return;
} else {
if (i4 == 2) {
constraint.layout.leftToRight = i3;
constraint.layout.leftToLeft = -1;
return;
}
throw new IllegalArgumentException("left to " + sideToString(i4) + " undefined");
}
case 2:
if (i4 == 1) {
constraint.layout.rightToLeft = i3;
constraint.layout.rightToRight = -1;
return;
} else {
if (i4 == 2) {
constraint.layout.rightToRight = i3;
constraint.layout.rightToLeft = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
case 3:
if (i4 == 3) {
constraint.layout.topToTop = i3;
constraint.layout.topToBottom = -1;
constraint.layout.baselineToBaseline = -1;
return;
} else {
if (i4 == 4) {
constraint.layout.topToBottom = i3;
constraint.layout.topToTop = -1;
constraint.layout.baselineToBaseline = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
case 4:
if (i4 == 4) {
constraint.layout.bottomToBottom = i3;
constraint.layout.bottomToTop = -1;
constraint.layout.baselineToBaseline = -1;
return;
} else {
if (i4 == 3) {
constraint.layout.bottomToTop = i3;
constraint.layout.bottomToBottom = -1;
constraint.layout.baselineToBaseline = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
case 5:
if (i4 == 5) {
constraint.layout.baselineToBaseline = i3;
constraint.layout.bottomToBottom = -1;
constraint.layout.bottomToTop = -1;
constraint.layout.topToTop = -1;
constraint.layout.topToBottom = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
case 6:
if (i4 == 6) {
constraint.layout.startToStart = i3;
constraint.layout.startToEnd = -1;
return;
} else {
if (i4 == 7) {
constraint.layout.startToEnd = i3;
constraint.layout.startToStart = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
case 7:
if (i4 == 7) {
constraint.layout.endToEnd = i3;
constraint.layout.endToStart = -1;
return;
} else {
if (i4 == 6) {
constraint.layout.endToStart = i3;
constraint.layout.endToEnd = -1;
return;
}
throw new IllegalArgumentException("right to " + sideToString(i4) + " undefined");
}
default:
throw new IllegalArgumentException(sideToString(i2) + " to " + sideToString(i4) + " unknown");
}
}
public void centerHorizontally(int i, int i2) {
if (i2 == 0) {
center(i, 0, 1, 0, 0, 2, 0, 0.5f);
} else {
center(i, i2, 2, 0, i2, 1, 0, 0.5f);
}
}
public void centerHorizontallyRtl(int i, int i2) {
if (i2 == 0) {
center(i, 0, 6, 0, 0, 7, 0, 0.5f);
} else {
center(i, i2, 7, 0, i2, 6, 0, 0.5f);
}
}
public void centerVertically(int i, int i2) {
if (i2 == 0) {
center(i, 0, 3, 0, 0, 4, 0, 0.5f);
} else {
center(i, i2, 4, 0, i2, 3, 0, 0.5f);
}
}
public void clear(int i) {
this.mConstraints.remove(Integer.valueOf(i));
}
public void clear(int i, int i2) {
if (this.mConstraints.containsKey(Integer.valueOf(i))) {
Constraint constraint = this.mConstraints.get(Integer.valueOf(i));
switch (i2) {
case 1:
constraint.layout.leftToRight = -1;
constraint.layout.leftToLeft = -1;
constraint.layout.leftMargin = -1;
constraint.layout.goneLeftMargin = -1;
return;
case 2:
constraint.layout.rightToRight = -1;
constraint.layout.rightToLeft = -1;
constraint.layout.rightMargin = -1;
constraint.layout.goneRightMargin = -1;
return;
case 3:
constraint.layout.topToBottom = -1;
constraint.layout.topToTop = -1;
constraint.layout.topMargin = -1;
constraint.layout.goneTopMargin = -1;
return;
case 4:
constraint.layout.bottomToTop = -1;
constraint.layout.bottomToBottom = -1;
constraint.layout.bottomMargin = -1;
constraint.layout.goneBottomMargin = -1;
return;
case 5:
constraint.layout.baselineToBaseline = -1;
return;
case 6:
constraint.layout.startToEnd = -1;
constraint.layout.startToStart = -1;
constraint.layout.startMargin = -1;
constraint.layout.goneStartMargin = -1;
return;
case 7:
constraint.layout.endToStart = -1;
constraint.layout.endToEnd = -1;
constraint.layout.endMargin = -1;
constraint.layout.goneEndMargin = -1;
return;
default:
throw new IllegalArgumentException("unknown constraint");
}
}
}
public void setMargin(int i, int i2, int i3) {
Constraint constraint = get(i);
switch (i2) {
case 1:
constraint.layout.leftMargin = i3;
return;
case 2:
constraint.layout.rightMargin = i3;
return;
case 3:
constraint.layout.topMargin = i3;
return;
case 4:
constraint.layout.bottomMargin = i3;
return;
case 5:
throw new IllegalArgumentException("baseline does not support margins");
case 6:
constraint.layout.startMargin = i3;
return;
case 7:
constraint.layout.endMargin = i3;
return;
default:
throw new IllegalArgumentException("unknown constraint");
}
}
public void setGoneMargin(int i, int i2, int i3) {
Constraint constraint = get(i);
switch (i2) {
case 1:
constraint.layout.goneLeftMargin = i3;
return;
case 2:
constraint.layout.goneRightMargin = i3;
return;
case 3:
constraint.layout.goneTopMargin = i3;
return;
case 4:
constraint.layout.goneBottomMargin = i3;
return;
case 5:
throw new IllegalArgumentException("baseline does not support margins");
case 6:
constraint.layout.goneStartMargin = i3;
return;
case 7:
constraint.layout.goneEndMargin = i3;
return;
default:
throw new IllegalArgumentException("unknown constraint");
}
}
public void setHorizontalBias(int i, float f) {
get(i).layout.horizontalBias = f;
}
public void setVerticalBias(int i, float f) {
get(i).layout.verticalBias = f;
}
public void setDimensionRatio(int i, String str) {
get(i).layout.dimensionRatio = str;
}
public void setVisibility(int i, int i2) {
get(i).propertySet.visibility = i2;
}
public void setVisibilityMode(int i, int i2) {
get(i).propertySet.mVisibilityMode = i2;
}
public int getVisibilityMode(int i) {
return get(i).propertySet.mVisibilityMode;
}
public int getVisibility(int i) {
return get(i).propertySet.visibility;
}
public int getHeight(int i) {
return get(i).layout.mHeight;
}
public int getWidth(int i) {
return get(i).layout.mWidth;
}
public void setAlpha(int i, float f) {
get(i).propertySet.alpha = f;
}
public boolean getApplyElevation(int i) {
return get(i).transform.applyElevation;
}
public void setApplyElevation(int i, boolean z) {
get(i).transform.applyElevation = z;
}
public void setElevation(int i, float f) {
get(i).transform.elevation = f;
get(i).transform.applyElevation = true;
}
public void setRotation(int i, float f) {
get(i).transform.rotation = f;
}
public void setRotationX(int i, float f) {
get(i).transform.rotationX = f;
}
public void setRotationY(int i, float f) {
get(i).transform.rotationY = f;
}
public void setScaleX(int i, float f) {
get(i).transform.scaleX = f;
}
public void setScaleY(int i, float f) {
get(i).transform.scaleY = f;
}
public void setTransformPivotX(int i, float f) {
get(i).transform.transformPivotX = f;
}
public void setTransformPivotY(int i, float f) {
get(i).transform.transformPivotY = f;
}
public void setTransformPivot(int i, float f, float f2) {
Constraint constraint = get(i);
constraint.transform.transformPivotY = f2;
constraint.transform.transformPivotX = f;
}
public void setTranslationX(int i, float f) {
get(i).transform.translationX = f;
}
public void setTranslationY(int i, float f) {
get(i).transform.translationY = f;
}
public void setTranslation(int i, float f, float f2) {
Constraint constraint = get(i);
constraint.transform.translationX = f;
constraint.transform.translationY = f2;
}
public void setTranslationZ(int i, float f) {
get(i).transform.translationZ = f;
}
public void setEditorAbsoluteX(int i, int i2) {
get(i).layout.editorAbsoluteX = i2;
}
public void setEditorAbsoluteY(int i, int i2) {
get(i).layout.editorAbsoluteY = i2;
}
public void constrainHeight(int i, int i2) {
get(i).layout.mHeight = i2;
}
public void constrainWidth(int i, int i2) {
get(i).layout.mWidth = i2;
}
public void constrainCircle(int i, int i2, int i3, float f) {
Constraint constraint = get(i);
constraint.layout.circleConstraint = i2;
constraint.layout.circleRadius = i3;
constraint.layout.circleAngle = f;
}
public void constrainMaxHeight(int i, int i2) {
get(i).layout.heightMax = i2;
}
public void constrainMaxWidth(int i, int i2) {
get(i).layout.widthMax = i2;
}
public void constrainMinHeight(int i, int i2) {
get(i).layout.heightMin = i2;
}
public void constrainMinWidth(int i, int i2) {
get(i).layout.widthMin = i2;
}
public void constrainPercentWidth(int i, float f) {
get(i).layout.widthPercent = f;
}
public void constrainPercentHeight(int i, float f) {
get(i).layout.heightPercent = f;
}
public void constrainDefaultHeight(int i, int i2) {
get(i).layout.heightDefault = i2;
}
public void constrainedWidth(int i, boolean z) {
get(i).layout.constrainedWidth = z;
}
public void constrainedHeight(int i, boolean z) {
get(i).layout.constrainedHeight = z;
}
public void constrainDefaultWidth(int i, int i2) {
get(i).layout.widthDefault = i2;
}
public void setHorizontalWeight(int i, float f) {
get(i).layout.horizontalWeight = f;
}
public void setVerticalWeight(int i, float f) {
get(i).layout.verticalWeight = f;
}
public void setHorizontalChainStyle(int i, int i2) {
get(i).layout.horizontalChainStyle = i2;
}
public void setVerticalChainStyle(int i, int i2) {
get(i).layout.verticalChainStyle = i2;
}
public void addToHorizontalChain(int i, int i2, int i3) {
connect(i, 1, i2, i2 == 0 ? 1 : 2, 0);
connect(i, 2, i3, i3 == 0 ? 2 : 1, 0);
if (i2 != 0) {
connect(i2, 2, i, 1, 0);
}
if (i3 != 0) {
connect(i3, 1, i, 2, 0);
}
}
public void addToHorizontalChainRTL(int i, int i2, int i3) {
connect(i, 6, i2, i2 == 0 ? 6 : 7, 0);
connect(i, 7, i3, i3 == 0 ? 7 : 6, 0);
if (i2 != 0) {
connect(i2, 7, i, 6, 0);
}
if (i3 != 0) {
connect(i3, 6, i, 7, 0);
}
}
public void addToVerticalChain(int i, int i2, int i3) {
connect(i, 3, i2, i2 == 0 ? 3 : 4, 0);
connect(i, 4, i3, i3 == 0 ? 4 : 3, 0);
if (i2 != 0) {
connect(i2, 4, i, 3, 0);
}
if (i3 != 0) {
connect(i3, 3, i, 4, 0);
}
}
public void removeFromVerticalChain(int i) {
if (this.mConstraints.containsKey(Integer.valueOf(i))) {
Constraint constraint = this.mConstraints.get(Integer.valueOf(i));
int i2 = constraint.layout.topToBottom;
int i3 = constraint.layout.bottomToTop;
if (i2 != -1 || i3 != -1) {
if (i2 != -1 && i3 != -1) {
connect(i2, 4, i3, 3, 0);
connect(i3, 3, i2, 4, 0);
} else if (i2 != -1 || i3 != -1) {
if (constraint.layout.bottomToBottom != -1) {
connect(i2, 4, constraint.layout.bottomToBottom, 4, 0);
} else if (constraint.layout.topToTop != -1) {
connect(i3, 3, constraint.layout.topToTop, 3, 0);
}
}
}
}
clear(i, 3);
clear(i, 4);
}
public void removeFromHorizontalChain(int i) {
if (this.mConstraints.containsKey(Integer.valueOf(i))) {
Constraint constraint = this.mConstraints.get(Integer.valueOf(i));
int i2 = constraint.layout.leftToRight;
int i3 = constraint.layout.rightToLeft;
if (i2 != -1 || i3 != -1) {
if (i2 != -1 && i3 != -1) {
connect(i2, 2, i3, 1, 0);
connect(i3, 1, i2, 2, 0);
} else if (i2 != -1 || i3 != -1) {
if (constraint.layout.rightToRight != -1) {
connect(i2, 2, constraint.layout.rightToRight, 2, 0);
} else if (constraint.layout.leftToLeft != -1) {
connect(i3, 1, constraint.layout.leftToLeft, 1, 0);
}
}
clear(i, 1);
clear(i, 2);
return;
}
int i4 = constraint.layout.startToEnd;
int i5 = constraint.layout.endToStart;
if (i4 != -1 || i5 != -1) {
if (i4 != -1 && i5 != -1) {
connect(i4, 7, i5, 6, 0);
connect(i5, 6, i2, 7, 0);
} else if (i2 != -1 || i5 != -1) {
if (constraint.layout.rightToRight != -1) {
connect(i2, 7, constraint.layout.rightToRight, 7, 0);
} else if (constraint.layout.leftToLeft != -1) {
connect(i5, 6, constraint.layout.leftToLeft, 6, 0);
}
}
}
clear(i, 6);
clear(i, 7);
}
}
public void create(int i, int i2) {
Constraint constraint = get(i);
constraint.layout.mIsGuideline = true;
constraint.layout.orientation = i2;
}
public void createBarrier(int i, int i2, int i3, int... iArr) {
Constraint constraint = get(i);
constraint.layout.mHelperType = 1;
constraint.layout.mBarrierDirection = i2;
constraint.layout.mBarrierMargin = i3;
constraint.layout.mIsGuideline = false;
constraint.layout.mReferenceIds = iArr;
}
public void setGuidelineBegin(int i, int i2) {
get(i).layout.guideBegin = i2;
get(i).layout.guideEnd = -1;
get(i).layout.guidePercent = -1.0f;
}
public void setGuidelineEnd(int i, int i2) {
get(i).layout.guideEnd = i2;
get(i).layout.guideBegin = -1;
get(i).layout.guidePercent = -1.0f;
}
public void setGuidelinePercent(int i, float f) {
get(i).layout.guidePercent = f;
get(i).layout.guideEnd = -1;
get(i).layout.guideBegin = -1;
}
public int[] getReferencedIds(int i) {
Constraint constraint = get(i);
return constraint.layout.mReferenceIds == null ? new int[0] : Arrays.copyOf(constraint.layout.mReferenceIds, constraint.layout.mReferenceIds.length);
}
public void setReferencedIds(int i, int... iArr) {
get(i).layout.mReferenceIds = iArr;
}
public void setBarrierType(int i, int i2) {
get(i).layout.mHelperType = i2;
}
public void removeAttribute(String str) {
this.mSavedAttributes.remove(str);
}
public void setIntValue(int i, String str, int i2) {
get(i).setIntValue(str, i2);
}
public void setColorValue(int i, String str, int i2) {
get(i).setColorValue(str, i2);
}
public void setFloatValue(int i, String str, float f) {
get(i).setFloatValue(str, f);
}
public void setStringValue(int i, String str, String str2) {
get(i).setStringValue(str, str2);
}
private void addAttributes(ConstraintAttribute.AttributeType attributeType, String... strArr) {
for (int i = 0; i < strArr.length; i++) {
if (this.mSavedAttributes.containsKey(strArr[i])) {
ConstraintAttribute constraintAttribute = this.mSavedAttributes.get(strArr[i]);
if (constraintAttribute.getType() != attributeType) {
throw new IllegalArgumentException("ConstraintAttribute is already a " + constraintAttribute.getType().name());
}
} else {
this.mSavedAttributes.put(strArr[i], new ConstraintAttribute(strArr[i], attributeType));
}
}
}
public void parseIntAttributes(Constraint constraint, String str) {
String[] split = str.split(",");
for (int i = 0; i < split.length; i++) {
String[] split2 = split[i].split("=");
if (split2.length == 2) {
constraint.setFloatValue(split2[0], Integer.decode(split2[1]).intValue());
} else {
Log.w(TAG, " Unable to parse " + split[i]);
}
}
}
public void parseColorAttributes(Constraint constraint, String str) {
String[] split = str.split(",");
for (int i = 0; i < split.length; i++) {
String[] split2 = split[i].split("=");
if (split2.length == 2) {
constraint.setColorValue(split2[0], Color.parseColor(split2[1]));
} else {
Log.w(TAG, " Unable to parse " + split[i]);
}
}
}
public void parseFloatAttributes(Constraint constraint, String str) {
String[] split = str.split(",");
for (int i = 0; i < split.length; i++) {
String[] split2 = split[i].split("=");
if (split2.length == 2) {
constraint.setFloatValue(split2[0], Float.parseFloat(split2[1]));
} else {
Log.w(TAG, " Unable to parse " + split[i]);
}
}
}
public void parseStringAttributes(Constraint constraint, String str) {
String[] splitString = splitString(str);
for (int i = 0; i < splitString.length; i++) {
String[] split = splitString[i].split("=");
Log.w(TAG, " Unable to parse " + splitString[i]);
constraint.setStringValue(split[0], split[1]);
}
}
private static String[] splitString(String str) {
char[] charArray = str.toCharArray();
ArrayList arrayList = new ArrayList();
int i = 0;
boolean z = false;
for (int i2 = 0; i2 < charArray.length; i2++) {
char c = charArray[i2];
if (c == ',' && !z) {
arrayList.add(new String(charArray, i, i2 - i));
i = i2 + 1;
} else if (c == '\"') {
z = !z;
}
}
arrayList.add(new String(charArray, i, charArray.length - i));
return (String[]) arrayList.toArray(new String[arrayList.size()]);
}
public void addIntAttributes(String... strArr) {
addAttributes(ConstraintAttribute.AttributeType.INT_TYPE, strArr);
}
public void addColorAttributes(String... strArr) {
addAttributes(ConstraintAttribute.AttributeType.COLOR_TYPE, strArr);
}
public void addFloatAttributes(String... strArr) {
addAttributes(ConstraintAttribute.AttributeType.FLOAT_TYPE, strArr);
}
public void addStringAttributes(String... strArr) {
addAttributes(ConstraintAttribute.AttributeType.STRING_TYPE, strArr);
}
private Constraint get(int i) {
if (!this.mConstraints.containsKey(Integer.valueOf(i))) {
this.mConstraints.put(Integer.valueOf(i), new Constraint());
}
return this.mConstraints.get(Integer.valueOf(i));
}
public void load(Context context, int i) {
XmlResourceParser xml = context.getResources().getXml(i);
try {
for (int eventType = xml.getEventType(); eventType != 1; eventType = xml.next()) {
if (eventType == 0) {
xml.getName();
} else if (eventType == 2) {
String name = xml.getName();
Constraint fillFromAttributeList = fillFromAttributeList(context, Xml.asAttributeSet(xml));
if (name.equalsIgnoreCase("Guideline")) {
fillFromAttributeList.layout.mIsGuideline = true;
}
this.mConstraints.put(Integer.valueOf(fillFromAttributeList.mViewId), fillFromAttributeList);
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e2) {
e2.printStackTrace();
}
}
/* JADX WARN: Code restructure failed: missing block: B:63:0x0184, code lost:
continue;
*/
/* JADX WARN: Failed to find 'out' block for switch in B:27:0x0092. Please report as an issue. */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public void load(android.content.Context r9, org.xmlpull.v1.XmlPullParser r10) {
/*
Method dump skipped, instructions count: 458
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.widget.ConstraintSet.load(android.content.Context, org.xmlpull.v1.XmlPullParser):void");
}
/* JADX INFO: Access modifiers changed from: private */
public static int lookupID(TypedArray typedArray, int i, int i2) {
int resourceId = typedArray.getResourceId(i, i2);
return resourceId == -1 ? typedArray.getInt(i, -1) : resourceId;
}
private Constraint fillFromAttributeList(Context context, AttributeSet attributeSet) {
Constraint constraint = new Constraint();
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.Constraint);
populateConstraint(context, constraint, obtainStyledAttributes);
obtainStyledAttributes.recycle();
return constraint;
}
private void populateConstraint(Context context, Constraint constraint, TypedArray typedArray) {
int indexCount = typedArray.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = typedArray.getIndex(i);
if (index != R.styleable.Constraint_android_id && R.styleable.Constraint_android_layout_marginStart != index && R.styleable.Constraint_android_layout_marginEnd != index) {
constraint.motion.mApply = true;
constraint.layout.mApply = true;
constraint.propertySet.mApply = true;
constraint.transform.mApply = true;
}
switch (mapToConstant.get(index)) {
case 1:
constraint.layout.baselineToBaseline = lookupID(typedArray, index, constraint.layout.baselineToBaseline);
break;
case 2:
constraint.layout.bottomMargin = typedArray.getDimensionPixelSize(index, constraint.layout.bottomMargin);
break;
case 3:
constraint.layout.bottomToBottom = lookupID(typedArray, index, constraint.layout.bottomToBottom);
break;
case 4:
constraint.layout.bottomToTop = lookupID(typedArray, index, constraint.layout.bottomToTop);
break;
case 5:
constraint.layout.dimensionRatio = typedArray.getString(index);
break;
case 6:
constraint.layout.editorAbsoluteX = typedArray.getDimensionPixelOffset(index, constraint.layout.editorAbsoluteX);
break;
case 7:
constraint.layout.editorAbsoluteY = typedArray.getDimensionPixelOffset(index, constraint.layout.editorAbsoluteY);
break;
case 8:
constraint.layout.endMargin = typedArray.getDimensionPixelSize(index, constraint.layout.endMargin);
break;
case 9:
constraint.layout.endToEnd = lookupID(typedArray, index, constraint.layout.endToEnd);
break;
case 10:
constraint.layout.endToStart = lookupID(typedArray, index, constraint.layout.endToStart);
break;
case 11:
constraint.layout.goneBottomMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneBottomMargin);
break;
case 12:
constraint.layout.goneEndMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneEndMargin);
break;
case 13:
constraint.layout.goneLeftMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneLeftMargin);
break;
case 14:
constraint.layout.goneRightMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneRightMargin);
break;
case 15:
constraint.layout.goneStartMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneStartMargin);
break;
case 16:
constraint.layout.goneTopMargin = typedArray.getDimensionPixelSize(index, constraint.layout.goneTopMargin);
break;
case 17:
constraint.layout.guideBegin = typedArray.getDimensionPixelOffset(index, constraint.layout.guideBegin);
break;
case 18:
constraint.layout.guideEnd = typedArray.getDimensionPixelOffset(index, constraint.layout.guideEnd);
break;
case 19:
constraint.layout.guidePercent = typedArray.getFloat(index, constraint.layout.guidePercent);
break;
case 20:
constraint.layout.horizontalBias = typedArray.getFloat(index, constraint.layout.horizontalBias);
break;
case 21:
constraint.layout.mHeight = typedArray.getLayoutDimension(index, constraint.layout.mHeight);
break;
case 22:
constraint.propertySet.visibility = typedArray.getInt(index, constraint.propertySet.visibility);
constraint.propertySet.visibility = VISIBILITY_FLAGS[constraint.propertySet.visibility];
break;
case 23:
constraint.layout.mWidth = typedArray.getLayoutDimension(index, constraint.layout.mWidth);
break;
case 24:
constraint.layout.leftMargin = typedArray.getDimensionPixelSize(index, constraint.layout.leftMargin);
break;
case 25:
constraint.layout.leftToLeft = lookupID(typedArray, index, constraint.layout.leftToLeft);
break;
case 26:
constraint.layout.leftToRight = lookupID(typedArray, index, constraint.layout.leftToRight);
break;
case 27:
constraint.layout.orientation = typedArray.getInt(index, constraint.layout.orientation);
break;
case 28:
constraint.layout.rightMargin = typedArray.getDimensionPixelSize(index, constraint.layout.rightMargin);
break;
case 29:
constraint.layout.rightToLeft = lookupID(typedArray, index, constraint.layout.rightToLeft);
break;
case 30:
constraint.layout.rightToRight = lookupID(typedArray, index, constraint.layout.rightToRight);
break;
case 31:
constraint.layout.startMargin = typedArray.getDimensionPixelSize(index, constraint.layout.startMargin);
break;
case 32:
constraint.layout.startToEnd = lookupID(typedArray, index, constraint.layout.startToEnd);
break;
case 33:
constraint.layout.startToStart = lookupID(typedArray, index, constraint.layout.startToStart);
break;
case 34:
constraint.layout.topMargin = typedArray.getDimensionPixelSize(index, constraint.layout.topMargin);
break;
case 35:
constraint.layout.topToBottom = lookupID(typedArray, index, constraint.layout.topToBottom);
break;
case 36:
constraint.layout.topToTop = lookupID(typedArray, index, constraint.layout.topToTop);
break;
case 37:
constraint.layout.verticalBias = typedArray.getFloat(index, constraint.layout.verticalBias);
break;
case 38:
constraint.mViewId = typedArray.getResourceId(index, constraint.mViewId);
break;
case 39:
constraint.layout.horizontalWeight = typedArray.getFloat(index, constraint.layout.horizontalWeight);
break;
case 40:
constraint.layout.verticalWeight = typedArray.getFloat(index, constraint.layout.verticalWeight);
break;
case 41:
constraint.layout.horizontalChainStyle = typedArray.getInt(index, constraint.layout.horizontalChainStyle);
break;
case 42:
constraint.layout.verticalChainStyle = typedArray.getInt(index, constraint.layout.verticalChainStyle);
break;
case 43:
constraint.propertySet.alpha = typedArray.getFloat(index, constraint.propertySet.alpha);
break;
case 44:
constraint.transform.applyElevation = true;
constraint.transform.elevation = typedArray.getDimension(index, constraint.transform.elevation);
break;
case 45:
constraint.transform.rotationX = typedArray.getFloat(index, constraint.transform.rotationX);
break;
case 46:
constraint.transform.rotationY = typedArray.getFloat(index, constraint.transform.rotationY);
break;
case 47:
constraint.transform.scaleX = typedArray.getFloat(index, constraint.transform.scaleX);
break;
case 48:
constraint.transform.scaleY = typedArray.getFloat(index, constraint.transform.scaleY);
break;
case 49:
constraint.transform.transformPivotX = typedArray.getDimension(index, constraint.transform.transformPivotX);
break;
case 50:
constraint.transform.transformPivotY = typedArray.getDimension(index, constraint.transform.transformPivotY);
break;
case 51:
constraint.transform.translationX = typedArray.getDimension(index, constraint.transform.translationX);
break;
case 52:
constraint.transform.translationY = typedArray.getDimension(index, constraint.transform.translationY);
break;
case TRANSLATION_Z /* 53 */:
constraint.transform.translationZ = typedArray.getDimension(index, constraint.transform.translationZ);
break;
case WIDTH_DEFAULT /* 54 */:
constraint.layout.widthDefault = typedArray.getInt(index, constraint.layout.widthDefault);
break;
case HEIGHT_DEFAULT /* 55 */:
constraint.layout.heightDefault = typedArray.getInt(index, constraint.layout.heightDefault);
break;
case WIDTH_MAX /* 56 */:
constraint.layout.widthMax = typedArray.getDimensionPixelSize(index, constraint.layout.widthMax);
break;
case HEIGHT_MAX /* 57 */:
constraint.layout.heightMax = typedArray.getDimensionPixelSize(index, constraint.layout.heightMax);
break;
case WIDTH_MIN /* 58 */:
constraint.layout.widthMin = typedArray.getDimensionPixelSize(index, constraint.layout.widthMin);
break;
case HEIGHT_MIN /* 59 */:
constraint.layout.heightMin = typedArray.getDimensionPixelSize(index, constraint.layout.heightMin);
break;
case 60:
constraint.transform.rotation = typedArray.getFloat(index, constraint.transform.rotation);
break;
case 61:
constraint.layout.circleConstraint = lookupID(typedArray, index, constraint.layout.circleConstraint);
break;
case CIRCLE_RADIUS /* 62 */:
constraint.layout.circleRadius = typedArray.getDimensionPixelSize(index, constraint.layout.circleRadius);
break;
case 63:
constraint.layout.circleAngle = typedArray.getFloat(index, constraint.layout.circleAngle);
break;
case 64:
constraint.motion.mAnimateRelativeTo = lookupID(typedArray, index, constraint.motion.mAnimateRelativeTo);
break;
case TRANSITION_EASING /* 65 */:
if (typedArray.peekValue(index).type == 3) {
constraint.motion.mTransitionEasing = typedArray.getString(index);
break;
} else {
constraint.motion.mTransitionEasing = Easing.NAMED_EASING[typedArray.getInteger(index, 0)];
break;
}
case DRAW_PATH /* 66 */:
constraint.motion.mDrawPath = typedArray.getInt(index, 0);
break;
case 67:
constraint.motion.mPathRotate = typedArray.getFloat(index, constraint.motion.mPathRotate);
break;
case PROGRESS /* 68 */:
constraint.propertySet.mProgress = typedArray.getFloat(index, constraint.propertySet.mProgress);
break;
case WIDTH_PERCENT /* 69 */:
constraint.layout.widthPercent = typedArray.getFloat(index, 1.0f);
break;
case HEIGHT_PERCENT /* 70 */:
constraint.layout.heightPercent = typedArray.getFloat(index, 1.0f);
break;
case 71:
Log.e(TAG, "CURRENTLY UNSUPPORTED");
break;
case BARRIER_DIRECTION /* 72 */:
constraint.layout.mBarrierDirection = typedArray.getInt(index, constraint.layout.mBarrierDirection);
break;
case BARRIER_MARGIN /* 73 */:
constraint.layout.mBarrierMargin = typedArray.getDimensionPixelSize(index, constraint.layout.mBarrierMargin);
break;
case CONSTRAINT_REFERENCED_IDS /* 74 */:
constraint.layout.mReferenceIdString = typedArray.getString(index);
break;
case 75:
constraint.layout.mBarrierAllowsGoneWidgets = typedArray.getBoolean(index, constraint.layout.mBarrierAllowsGoneWidgets);
break;
case 76:
constraint.motion.mPathMotionArc = typedArray.getInt(index, constraint.motion.mPathMotionArc);
break;
case CONSTRAINT_TAG /* 77 */:
constraint.layout.mConstraintTag = typedArray.getString(index);
break;
case VISIBILITY_MODE /* 78 */:
constraint.propertySet.mVisibilityMode = typedArray.getInt(index, constraint.propertySet.mVisibilityMode);
break;
case MOTION_STAGGER /* 79 */:
constraint.motion.mMotionStagger = typedArray.getFloat(index, constraint.motion.mMotionStagger);
break;
case CONSTRAINED_WIDTH /* 80 */:
constraint.layout.constrainedWidth = typedArray.getBoolean(index, constraint.layout.constrainedWidth);
break;
case CONSTRAINED_HEIGHT /* 81 */:
constraint.layout.constrainedHeight = typedArray.getBoolean(index, constraint.layout.constrainedHeight);
break;
case UNUSED /* 82 */:
Log.w(TAG, "unused attribute 0x" + Integer.toHexString(index) + " " + mapToConstant.get(index));
break;
default:
Log.w(TAG, "Unknown attribute 0x" + Integer.toHexString(index) + " " + mapToConstant.get(index));
break;
}
}
}
private int[] convertReferenceString(View view, String str) {
int i;
Object designInformation;
String[] split = str.split(",");
Context context = view.getContext();
int[] iArr = new int[split.length];
int i2 = 0;
int i3 = 0;
while (i2 < split.length) {
String trim = split[i2].trim();
try {
i = R.id.class.getField(trim).getInt(null);
} catch (Exception unused) {
i = 0;
}
if (i == 0) {
i = context.getResources().getIdentifier(trim, "id", context.getPackageName());
}
if (i == 0 && view.isInEditMode() && (view.getParent() instanceof ConstraintLayout) && (designInformation = ((ConstraintLayout) view.getParent()).getDesignInformation(0, trim)) != null && (designInformation instanceof Integer)) {
i = ((Integer) designInformation).intValue();
}
iArr[i3] = i;
i2++;
i3++;
}
return i3 != split.length ? Arrays.copyOf(iArr, i3) : iArr;
}
public Constraint getConstraint(int i) {
if (this.mConstraints.containsKey(Integer.valueOf(i))) {
return this.mConstraints.get(Integer.valueOf(i));
}
return null;
}
public int[] getKnownIds() {
Integer[] numArr = (Integer[]) this.mConstraints.keySet().toArray(new Integer[0]);
int length = numArr.length;
int[] iArr = new int[length];
for (int i = 0; i < length; i++) {
iArr[i] = numArr[i].intValue();
}
return iArr;
}
public void dump(MotionScene motionScene, int... iArr) {
HashSet hashSet;
Set<Integer> keySet = this.mConstraints.keySet();
if (iArr.length != 0) {
hashSet = new HashSet();
for (int i : iArr) {
hashSet.add(Integer.valueOf(i));
}
} else {
hashSet = new HashSet(keySet);
}
System.out.println(hashSet.size() + " constraints");
StringBuilder sb = new StringBuilder();
for (Integer num : (Integer[]) hashSet.toArray(new Integer[0])) {
Constraint constraint = this.mConstraints.get(num);
sb.append("<Constraint id=");
sb.append(num);
sb.append(" \n");
constraint.layout.dump(motionScene, sb);
sb.append("/>\n");
}
System.out.println(sb.toString());
}
}