package androidx.constraintlayout.solver.widgets; import androidx.constraintlayout.solver.LinearSystem; import androidx.constraintlayout.solver.Metrics; import androidx.constraintlayout.solver.widgets.ConstraintWidget; import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure; import androidx.constraintlayout.solver.widgets.analyzer.DependencyGraph; import java.util.ArrayList; import java.util.Arrays; /* loaded from: classes.dex */ public class ConstraintWidgetContainer extends WidgetContainer { private static final boolean DEBUG = false; static final boolean DEBUG_GRAPH = false; private static final boolean DEBUG_LAYOUT = false; private static final int MAX_ITERATIONS = 8; BasicMeasure mBasicMeasureSolver; int mDebugSolverPassCount; public DependencyGraph mDependencyGraph; public boolean mGroupsWrapOptimized; private boolean mHeightMeasuredTooSmall; ChainHead[] mHorizontalChainsArray; int mHorizontalChainsSize; public boolean mHorizontalWrapOptimized; private boolean mIsRtl; protected BasicMeasure.Measurer mMeasurer; public Metrics mMetrics; private int mOptimizationLevel; int mPaddingBottom; int mPaddingLeft; int mPaddingRight; int mPaddingTop; public boolean mSkipSolver; protected LinearSystem mSystem; ChainHead[] mVerticalChainsArray; int mVerticalChainsSize; public boolean mVerticalWrapOptimized; private boolean mWidthMeasuredTooSmall; public int mWrapFixedHeight; public int mWrapFixedWidth; private void resetChains() { this.mHorizontalChainsSize = 0; this.mVerticalChainsSize = 0; } public BasicMeasure.Measurer getMeasurer() { return this.mMeasurer; } public int getOptimizationLevel() { return this.mOptimizationLevel; } public LinearSystem getSystem() { return this.mSystem; } @Override // androidx.constraintlayout.solver.widgets.ConstraintWidget public String getType() { return "ConstraintLayout"; } public boolean handlesInternalConstraints() { return false; } public boolean isHeightMeasuredTooSmall() { return this.mHeightMeasuredTooSmall; } public boolean isRtl() { return this.mIsRtl; } public boolean isWidthMeasuredTooSmall() { return this.mWidthMeasuredTooSmall; } public boolean optimizeFor(int i) { return (this.mOptimizationLevel & i) == i; } public void setPadding(int i, int i2, int i3, int i4) { this.mPaddingLeft = i; this.mPaddingTop = i2; this.mPaddingRight = i3; this.mPaddingBottom = i4; } public void setRtl(boolean z) { this.mIsRtl = z; } public void invalidateGraph() { this.mDependencyGraph.invalidateGraph(); } public void invalidateMeasures() { this.mDependencyGraph.invalidateMeasures(); } public boolean directMeasure(boolean z) { return this.mDependencyGraph.directMeasure(z); } public boolean directMeasureSetup(boolean z) { return this.mDependencyGraph.directMeasureSetup(z); } public boolean directMeasureWithOrientation(boolean z, int i) { return this.mDependencyGraph.directMeasureWithOrientation(z, i); } public void defineTerminalWidgets() { this.mDependencyGraph.defineTerminalWidgets(getHorizontalDimensionBehaviour(), getVerticalDimensionBehaviour()); } public long measure(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9) { this.mPaddingLeft = i8; this.mPaddingTop = i9; return this.mBasicMeasureSolver.solverMeasure(this, i, i8, i9, i2, i3, i4, i5, i6, i7); } public void updateHierarchy() { this.mBasicMeasureSolver.updateHierarchy(this); } public void setMeasurer(BasicMeasure.Measurer measurer) { this.mMeasurer = measurer; this.mDependencyGraph.setMeasurer(measurer); } public void fillMetrics(Metrics metrics) { this.mMetrics = metrics; this.mSystem.fillMetrics(metrics); } public ConstraintWidgetContainer() { this.mBasicMeasureSolver = new BasicMeasure(this); this.mDependencyGraph = new DependencyGraph(this); this.mMeasurer = null; this.mIsRtl = false; this.mSystem = new LinearSystem(); this.mHorizontalChainsSize = 0; this.mVerticalChainsSize = 0; this.mVerticalChainsArray = new ChainHead[4]; this.mHorizontalChainsArray = new ChainHead[4]; this.mGroupsWrapOptimized = false; this.mHorizontalWrapOptimized = false; this.mVerticalWrapOptimized = false; this.mWrapFixedWidth = 0; this.mWrapFixedHeight = 0; this.mOptimizationLevel = Optimizer.OPTIMIZATION_STANDARD; this.mSkipSolver = false; this.mWidthMeasuredTooSmall = false; this.mHeightMeasuredTooSmall = false; this.mDebugSolverPassCount = 0; } public ConstraintWidgetContainer(int i, int i2, int i3, int i4) { super(i, i2, i3, i4); this.mBasicMeasureSolver = new BasicMeasure(this); this.mDependencyGraph = new DependencyGraph(this); this.mMeasurer = null; this.mIsRtl = false; this.mSystem = new LinearSystem(); this.mHorizontalChainsSize = 0; this.mVerticalChainsSize = 0; this.mVerticalChainsArray = new ChainHead[4]; this.mHorizontalChainsArray = new ChainHead[4]; this.mGroupsWrapOptimized = false; this.mHorizontalWrapOptimized = false; this.mVerticalWrapOptimized = false; this.mWrapFixedWidth = 0; this.mWrapFixedHeight = 0; this.mOptimizationLevel = Optimizer.OPTIMIZATION_STANDARD; this.mSkipSolver = false; this.mWidthMeasuredTooSmall = false; this.mHeightMeasuredTooSmall = false; this.mDebugSolverPassCount = 0; } public ConstraintWidgetContainer(int i, int i2) { super(i, i2); this.mBasicMeasureSolver = new BasicMeasure(this); this.mDependencyGraph = new DependencyGraph(this); this.mMeasurer = null; this.mIsRtl = false; this.mSystem = new LinearSystem(); this.mHorizontalChainsSize = 0; this.mVerticalChainsSize = 0; this.mVerticalChainsArray = new ChainHead[4]; this.mHorizontalChainsArray = new ChainHead[4]; this.mGroupsWrapOptimized = false; this.mHorizontalWrapOptimized = false; this.mVerticalWrapOptimized = false; this.mWrapFixedWidth = 0; this.mWrapFixedHeight = 0; this.mOptimizationLevel = Optimizer.OPTIMIZATION_STANDARD; this.mSkipSolver = false; this.mWidthMeasuredTooSmall = false; this.mHeightMeasuredTooSmall = false; this.mDebugSolverPassCount = 0; } public void setOptimizationLevel(int i) { this.mOptimizationLevel = i; LinearSystem.OPTIMIZED_ENGINE = Optimizer.enabled(i, 256); } @Override // androidx.constraintlayout.solver.widgets.WidgetContainer, androidx.constraintlayout.solver.widgets.ConstraintWidget public void reset() { this.mSystem.reset(); this.mPaddingLeft = 0; this.mPaddingRight = 0; this.mPaddingTop = 0; this.mPaddingBottom = 0; this.mSkipSolver = false; super.reset(); } public boolean addChildrenToSolver(LinearSystem linearSystem) { addToSolver(linearSystem); int size = this.mChildren.size(); boolean z = false; for (int i = 0; i < size; i++) { ConstraintWidget constraintWidget = this.mChildren.get(i); constraintWidget.setInBarrier(0, false); constraintWidget.setInBarrier(1, false); if (constraintWidget instanceof Barrier) { z = true; } } if (z) { for (int i2 = 0; i2 < size; i2++) { ConstraintWidget constraintWidget2 = this.mChildren.get(i2); if (constraintWidget2 instanceof Barrier) { ((Barrier) constraintWidget2).markWidgets(); } } } for (int i3 = 0; i3 < size; i3++) { ConstraintWidget constraintWidget3 = this.mChildren.get(i3); if (constraintWidget3.addFirst()) { constraintWidget3.addToSolver(linearSystem); } } for (int i4 = 0; i4 < size; i4++) { ConstraintWidget constraintWidget4 = this.mChildren.get(i4); if (constraintWidget4 instanceof ConstraintWidgetContainer) { ConstraintWidget.DimensionBehaviour dimensionBehaviour = constraintWidget4.mListDimensionBehaviors[0]; ConstraintWidget.DimensionBehaviour dimensionBehaviour2 = constraintWidget4.mListDimensionBehaviors[1]; if (dimensionBehaviour == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) { constraintWidget4.setHorizontalDimensionBehaviour(ConstraintWidget.DimensionBehaviour.FIXED); } if (dimensionBehaviour2 == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) { constraintWidget4.setVerticalDimensionBehaviour(ConstraintWidget.DimensionBehaviour.FIXED); } constraintWidget4.addToSolver(linearSystem); if (dimensionBehaviour == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) { constraintWidget4.setHorizontalDimensionBehaviour(dimensionBehaviour); } if (dimensionBehaviour2 == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) { constraintWidget4.setVerticalDimensionBehaviour(dimensionBehaviour2); } } else { Optimizer.checkMatchParent(this, linearSystem, constraintWidget4); if (!constraintWidget4.addFirst()) { constraintWidget4.addToSolver(linearSystem); } } } if (this.mHorizontalChainsSize > 0) { Chain.applyChainConstraints(this, linearSystem, 0); } if (this.mVerticalChainsSize > 0) { Chain.applyChainConstraints(this, linearSystem, 1); } return true; } public void updateChildrenFromSolver(LinearSystem linearSystem, boolean[] zArr) { zArr[2] = false; updateFromSolver(linearSystem); int size = this.mChildren.size(); for (int i = 0; i < size; i++) { this.mChildren.get(i).updateFromSolver(linearSystem); } } @Override // androidx.constraintlayout.solver.widgets.ConstraintWidget public void updateFromRuns(boolean z, boolean z2) { super.updateFromRuns(z, z2); int size = this.mChildren.size(); for (int i = 0; i < size; i++) { this.mChildren.get(i).updateFromRuns(z, z2); } } /* JADX WARN: Type inference failed for: r11v13 */ /* JADX WARN: Type inference failed for: r11v8 */ /* JADX WARN: Type inference failed for: r11v9, types: [boolean] */ @Override // androidx.constraintlayout.solver.widgets.WidgetContainer public void layout() { boolean z; ?? r11; this.mX = 0; this.mY = 0; int max = Math.max(0, getWidth()); int max2 = Math.max(0, getHeight()); this.mWidthMeasuredTooSmall = false; this.mHeightMeasuredTooSmall = false; boolean z2 = optimizeFor(64) || optimizeFor(128); this.mSystem.graphOptimizer = false; this.mSystem.newgraphOptimizer = false; if (this.mOptimizationLevel != 0 && z2) { this.mSystem.newgraphOptimizer = true; } ConstraintWidget.DimensionBehaviour dimensionBehaviour = this.mListDimensionBehaviors[1]; ConstraintWidget.DimensionBehaviour dimensionBehaviour2 = this.mListDimensionBehaviors[0]; ArrayList arrayList = this.mChildren; boolean z3 = getHorizontalDimensionBehaviour() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT || getVerticalDimensionBehaviour() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT; resetChains(); int size = this.mChildren.size(); for (int i = 0; i < size; i++) { ConstraintWidget constraintWidget = this.mChildren.get(i); if (constraintWidget instanceof WidgetContainer) { ((WidgetContainer) constraintWidget).layout(); } } int i2 = 0; boolean z4 = false; boolean z5 = true; while (z5) { int i3 = i2 + 1; try { this.mSystem.reset(); resetChains(); createObjectVariables(this.mSystem); for (int i4 = 0; i4 < size; i4++) { this.mChildren.get(i4).createObjectVariables(this.mSystem); } z5 = addChildrenToSolver(this.mSystem); if (z5) { this.mSystem.minimize(); } } catch (Exception e) { e.printStackTrace(); System.out.println("EXCEPTION : " + e); } if (z5) { updateChildrenFromSolver(this.mSystem, Optimizer.flags); } else { updateFromSolver(this.mSystem); for (int i5 = 0; i5 < size; i5++) { this.mChildren.get(i5).updateFromSolver(this.mSystem); } } if (z3 && i3 < 8 && Optimizer.flags[2]) { int i6 = 0; int i7 = 0; for (int i8 = 0; i8 < size; i8++) { ConstraintWidget constraintWidget2 = this.mChildren.get(i8); i6 = Math.max(i6, constraintWidget2.mX + constraintWidget2.getWidth()); i7 = Math.max(i7, constraintWidget2.mY + constraintWidget2.getHeight()); } int max3 = Math.max(this.mMinWidth, i6); int max4 = Math.max(this.mMinHeight, i7); if (dimensionBehaviour2 != ConstraintWidget.DimensionBehaviour.WRAP_CONTENT || getWidth() >= max3) { z = false; } else { setWidth(max3); this.mListDimensionBehaviors[0] = ConstraintWidget.DimensionBehaviour.WRAP_CONTENT; z = true; z4 = true; } if (dimensionBehaviour == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT && getHeight() < max4) { setHeight(max4); this.mListDimensionBehaviors[1] = ConstraintWidget.DimensionBehaviour.WRAP_CONTENT; z = true; z4 = true; } } else { z = false; } int max5 = Math.max(this.mMinWidth, getWidth()); if (max5 > getWidth()) { setWidth(max5); this.mListDimensionBehaviors[0] = ConstraintWidget.DimensionBehaviour.FIXED; z = true; z4 = true; } int max6 = Math.max(this.mMinHeight, getHeight()); if (max6 > getHeight()) { setHeight(max6); r11 = 1; this.mListDimensionBehaviors[1] = ConstraintWidget.DimensionBehaviour.FIXED; z = true; z4 = true; } else { r11 = 1; } if (!z4) { if (this.mListDimensionBehaviors[0] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT && max > 0 && getWidth() > max) { this.mWidthMeasuredTooSmall = r11; this.mListDimensionBehaviors[0] = ConstraintWidget.DimensionBehaviour.FIXED; setWidth(max); z = r11; z4 = z; } if (this.mListDimensionBehaviors[r11] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT && max2 > 0 && getHeight() > max2) { this.mHeightMeasuredTooSmall = r11; this.mListDimensionBehaviors[r11] = ConstraintWidget.DimensionBehaviour.FIXED; setHeight(max2); z5 = true; z4 = true; i2 = i3; } } z5 = z; i2 = i3; } this.mChildren = arrayList; if (z4) { this.mListDimensionBehaviors[0] = dimensionBehaviour2; this.mListDimensionBehaviors[1] = dimensionBehaviour; } resetSolverVariables(this.mSystem.getCache()); } public ArrayList getVerticalGuidelines() { ArrayList arrayList = new ArrayList<>(); int size = this.mChildren.size(); for (int i = 0; i < size; i++) { ConstraintWidget constraintWidget = this.mChildren.get(i); if (constraintWidget instanceof Guideline) { Guideline guideline = (Guideline) constraintWidget; if (guideline.getOrientation() == 1) { arrayList.add(guideline); } } } return arrayList; } public ArrayList getHorizontalGuidelines() { ArrayList arrayList = new ArrayList<>(); int size = this.mChildren.size(); for (int i = 0; i < size; i++) { ConstraintWidget constraintWidget = this.mChildren.get(i); if (constraintWidget instanceof Guideline) { Guideline guideline = (Guideline) constraintWidget; if (guideline.getOrientation() == 0) { arrayList.add(guideline); } } } return arrayList; } /* JADX INFO: Access modifiers changed from: package-private */ public void addChain(ConstraintWidget constraintWidget, int i) { if (i == 0) { addHorizontalChain(constraintWidget); } else if (i == 1) { addVerticalChain(constraintWidget); } } private void addHorizontalChain(ConstraintWidget constraintWidget) { int i = this.mHorizontalChainsSize + 1; ChainHead[] chainHeadArr = this.mHorizontalChainsArray; if (i >= chainHeadArr.length) { this.mHorizontalChainsArray = (ChainHead[]) Arrays.copyOf(chainHeadArr, chainHeadArr.length * 2); } this.mHorizontalChainsArray[this.mHorizontalChainsSize] = new ChainHead(constraintWidget, 0, isRtl()); this.mHorizontalChainsSize++; } private void addVerticalChain(ConstraintWidget constraintWidget) { int i = this.mVerticalChainsSize + 1; ChainHead[] chainHeadArr = this.mVerticalChainsArray; if (i >= chainHeadArr.length) { this.mVerticalChainsArray = (ChainHead[]) Arrays.copyOf(chainHeadArr, chainHeadArr.length * 2); } this.mVerticalChainsArray[this.mVerticalChainsSize] = new ChainHead(constraintWidget, 1, isRtl()); this.mVerticalChainsSize++; } }