package androidx.constraintlayout.solver.widgets; import androidx.constraintlayout.solver.widgets.ConstraintWidget; import java.util.ArrayList; /* loaded from: classes.dex */ public class ChainHead { private boolean mDefined; protected ConstraintWidget mFirst; protected ConstraintWidget mFirstMatchConstraintWidget; protected ConstraintWidget mFirstVisibleWidget; protected boolean mHasComplexMatchWeights; protected boolean mHasDefinedWeights; protected boolean mHasRatio; protected boolean mHasUndefinedWeights; protected ConstraintWidget mHead; private boolean mIsRtl; protected ConstraintWidget mLast; protected ConstraintWidget mLastMatchConstraintWidget; protected ConstraintWidget mLastVisibleWidget; boolean mOptimizable; private int mOrientation; int mTotalMargins; int mTotalSize; protected float mTotalWeight = 0.0f; int mVisibleWidgets; protected ArrayList mWeightedMatchConstraintsWidgets; protected int mWidgetsCount; protected int mWidgetsMatchCount; public ConstraintWidget getFirst() { return this.mFirst; } public ConstraintWidget getFirstMatchConstraintWidget() { return this.mFirstMatchConstraintWidget; } public ConstraintWidget getFirstVisibleWidget() { return this.mFirstVisibleWidget; } public ConstraintWidget getHead() { return this.mHead; } public ConstraintWidget getLast() { return this.mLast; } public ConstraintWidget getLastMatchConstraintWidget() { return this.mLastMatchConstraintWidget; } public ConstraintWidget getLastVisibleWidget() { return this.mLastVisibleWidget; } public float getTotalWeight() { return this.mTotalWeight; } public ChainHead(ConstraintWidget constraintWidget, int i, boolean z) { this.mFirst = constraintWidget; this.mOrientation = i; this.mIsRtl = z; } private static boolean isMatchConstraintEqualityCandidate(ConstraintWidget constraintWidget, int i) { return constraintWidget.getVisibility() != 8 && constraintWidget.mListDimensionBehaviors[i] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && (constraintWidget.mResolvedMatchConstraintDefault[i] == 0 || constraintWidget.mResolvedMatchConstraintDefault[i] == 3); } private void defineChainProperties() { int i = this.mOrientation * 2; ConstraintWidget constraintWidget = this.mFirst; this.mOptimizable = true; ConstraintWidget constraintWidget2 = constraintWidget; boolean z = false; while (!z) { this.mWidgetsCount++; ConstraintWidget constraintWidget3 = null; constraintWidget.mNextChainWidget[this.mOrientation] = null; constraintWidget.mListNextMatchConstraintsWidget[this.mOrientation] = null; if (constraintWidget.getVisibility() != 8) { this.mVisibleWidgets++; if (constraintWidget.getDimensionBehaviour(this.mOrientation) != ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) { this.mTotalSize += constraintWidget.getLength(this.mOrientation); } int margin = this.mTotalSize + constraintWidget.mListAnchors[i].getMargin(); this.mTotalSize = margin; int i2 = i + 1; this.mTotalSize = margin + constraintWidget.mListAnchors[i2].getMargin(); int margin2 = this.mTotalMargins + constraintWidget.mListAnchors[i].getMargin(); this.mTotalMargins = margin2; this.mTotalMargins = margin2 + constraintWidget.mListAnchors[i2].getMargin(); if (this.mFirstVisibleWidget == null) { this.mFirstVisibleWidget = constraintWidget; } this.mLastVisibleWidget = constraintWidget; if (constraintWidget.mListDimensionBehaviors[this.mOrientation] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) { if (constraintWidget.mResolvedMatchConstraintDefault[this.mOrientation] == 0 || constraintWidget.mResolvedMatchConstraintDefault[this.mOrientation] == 3 || constraintWidget.mResolvedMatchConstraintDefault[this.mOrientation] == 2) { this.mWidgetsMatchCount++; float f = constraintWidget.mWeight[this.mOrientation]; if (f > 0.0f) { this.mTotalWeight += constraintWidget.mWeight[this.mOrientation]; } if (isMatchConstraintEqualityCandidate(constraintWidget, this.mOrientation)) { if (f < 0.0f) { this.mHasUndefinedWeights = true; } else { this.mHasDefinedWeights = true; } if (this.mWeightedMatchConstraintsWidgets == null) { this.mWeightedMatchConstraintsWidgets = new ArrayList<>(); } this.mWeightedMatchConstraintsWidgets.add(constraintWidget); } if (this.mFirstMatchConstraintWidget == null) { this.mFirstMatchConstraintWidget = constraintWidget; } ConstraintWidget constraintWidget4 = this.mLastMatchConstraintWidget; if (constraintWidget4 != null) { constraintWidget4.mListNextMatchConstraintsWidget[this.mOrientation] = constraintWidget; } this.mLastMatchConstraintWidget = constraintWidget; } if (this.mOrientation == 0) { if (constraintWidget.mMatchConstraintDefaultWidth != 0) { this.mOptimizable = false; } else if (constraintWidget.mMatchConstraintMinWidth != 0 || constraintWidget.mMatchConstraintMaxWidth != 0) { this.mOptimizable = false; } } else if (constraintWidget.mMatchConstraintDefaultHeight != 0) { this.mOptimizable = false; } else if (constraintWidget.mMatchConstraintMinHeight != 0 || constraintWidget.mMatchConstraintMaxHeight != 0) { this.mOptimizable = false; } if (constraintWidget.mDimensionRatio != 0.0f) { this.mOptimizable = false; this.mHasRatio = true; } } } if (constraintWidget2 != constraintWidget) { constraintWidget2.mNextChainWidget[this.mOrientation] = constraintWidget; } ConstraintAnchor constraintAnchor = constraintWidget.mListAnchors[i + 1].mTarget; if (constraintAnchor != null) { ConstraintWidget constraintWidget5 = constraintAnchor.mOwner; if (constraintWidget5.mListAnchors[i].mTarget != null && constraintWidget5.mListAnchors[i].mTarget.mOwner == constraintWidget) { constraintWidget3 = constraintWidget5; } } if (constraintWidget3 == null) { constraintWidget3 = constraintWidget; z = true; } constraintWidget2 = constraintWidget; constraintWidget = constraintWidget3; } ConstraintWidget constraintWidget6 = this.mFirstVisibleWidget; if (constraintWidget6 != null) { this.mTotalSize -= constraintWidget6.mListAnchors[i].getMargin(); } ConstraintWidget constraintWidget7 = this.mLastVisibleWidget; if (constraintWidget7 != null) { this.mTotalSize -= constraintWidget7.mListAnchors[i + 1].getMargin(); } this.mLast = constraintWidget; if (this.mOrientation == 0 && this.mIsRtl) { this.mHead = constraintWidget; } else { this.mHead = this.mFirst; } this.mHasComplexMatchWeights = this.mHasDefinedWeights && this.mHasUndefinedWeights; } public void define() { if (!this.mDefined) { defineChainProperties(); } this.mDefined = true; } }