package androidx.constraintlayout.solver.widgets.analyzer; import androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer; import java.util.ArrayList; import java.util.Iterator; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes.dex */ public class RunGroup { public static final int BASELINE = 2; public static final int END = 1; public static final int START = 0; public static int index; int direction; WidgetRun firstRun; int groupIndex; WidgetRun lastRun; public int position = 0; public boolean dual = false; ArrayList runs = new ArrayList<>(); public RunGroup(WidgetRun widgetRun, int i) { this.firstRun = null; this.lastRun = null; int i2 = index; this.groupIndex = i2; index = i2 + 1; this.firstRun = widgetRun; this.lastRun = widgetRun; this.direction = i; } public void add(WidgetRun widgetRun) { this.runs.add(widgetRun); this.lastRun = widgetRun; } private long traverseStart(DependencyNode dependencyNode, long j) { WidgetRun widgetRun = dependencyNode.run; if (widgetRun instanceof HelperReferences) { return j; } int size = dependencyNode.dependencies.size(); long j2 = j; for (int i = 0; i < size; i++) { Dependency dependency = dependencyNode.dependencies.get(i); if (dependency instanceof DependencyNode) { DependencyNode dependencyNode2 = (DependencyNode) dependency; if (dependencyNode2.run != widgetRun) { j2 = Math.max(j2, traverseStart(dependencyNode2, dependencyNode2.margin + j)); } } } if (dependencyNode != widgetRun.start) { return j2; } long wrapDimension = j + widgetRun.getWrapDimension(); return Math.max(Math.max(j2, traverseStart(widgetRun.end, wrapDimension)), wrapDimension - widgetRun.end.margin); } private long traverseEnd(DependencyNode dependencyNode, long j) { WidgetRun widgetRun = dependencyNode.run; if (widgetRun instanceof HelperReferences) { return j; } int size = dependencyNode.dependencies.size(); long j2 = j; for (int i = 0; i < size; i++) { Dependency dependency = dependencyNode.dependencies.get(i); if (dependency instanceof DependencyNode) { DependencyNode dependencyNode2 = (DependencyNode) dependency; if (dependencyNode2.run != widgetRun) { j2 = Math.min(j2, traverseEnd(dependencyNode2, dependencyNode2.margin + j)); } } } if (dependencyNode != widgetRun.end) { return j2; } long wrapDimension = j - widgetRun.getWrapDimension(); return Math.min(Math.min(j2, traverseEnd(widgetRun.start, wrapDimension)), wrapDimension - widgetRun.start.margin); } public long computeWrapSize(ConstraintWidgetContainer constraintWidgetContainer, int i) { long wrapDimension; int i2; WidgetRun widgetRun = this.firstRun; if (widgetRun instanceof ChainRun) { if (((ChainRun) widgetRun).orientation != i) { return 0L; } } else if (i == 0) { if (!(widgetRun instanceof HorizontalWidgetRun)) { return 0L; } } else if (!(widgetRun instanceof VerticalWidgetRun)) { return 0L; } DependencyNode dependencyNode = i == 0 ? constraintWidgetContainer.horizontalRun.start : constraintWidgetContainer.verticalRun.start; DependencyNode dependencyNode2 = i == 0 ? constraintWidgetContainer.horizontalRun.end : constraintWidgetContainer.verticalRun.end; boolean contains = this.firstRun.start.targets.contains(dependencyNode); boolean contains2 = this.firstRun.end.targets.contains(dependencyNode2); long wrapDimension2 = this.firstRun.getWrapDimension(); if (contains && contains2) { long traverseStart = traverseStart(this.firstRun.start, 0L); long traverseEnd = traverseEnd(this.firstRun.end, 0L); long j = traverseStart - wrapDimension2; if (j >= (-this.firstRun.end.margin)) { j += this.firstRun.end.margin; } long j2 = ((-traverseEnd) - wrapDimension2) - this.firstRun.start.margin; if (j2 >= this.firstRun.start.margin) { j2 -= this.firstRun.start.margin; } float f = (float) (this.firstRun.widget.getBiasPercent(i) > 0.0f ? (((float) j2) / r11) + (((float) j) / (1.0f - r11)) : 0L); wrapDimension = this.firstRun.start.margin + (f * r11) + 0.5f + wrapDimension2 + (f * (1.0f - r11)) + 0.5f; i2 = this.firstRun.end.margin; } else { if (contains) { return Math.max(traverseStart(this.firstRun.start, this.firstRun.start.margin), this.firstRun.start.margin + wrapDimension2); } if (contains2) { return Math.max(-traverseEnd(this.firstRun.end, this.firstRun.end.margin), (-this.firstRun.end.margin) + wrapDimension2); } wrapDimension = this.firstRun.start.margin + this.firstRun.getWrapDimension(); i2 = this.firstRun.end.margin; } return wrapDimension - i2; } private boolean defineTerminalWidget(WidgetRun widgetRun, int i) { if (!widgetRun.widget.isTerminalWidget[i]) { return false; } for (Dependency dependency : widgetRun.start.dependencies) { if (dependency instanceof DependencyNode) { DependencyNode dependencyNode = (DependencyNode) dependency; if (dependencyNode.run != widgetRun && dependencyNode == dependencyNode.run.start) { if (widgetRun instanceof ChainRun) { Iterator it = ((ChainRun) widgetRun).widgets.iterator(); while (it.hasNext()) { defineTerminalWidget(it.next(), i); } } else if (!(widgetRun instanceof HelperReferences)) { widgetRun.widget.isTerminalWidget[i] = false; } defineTerminalWidget(dependencyNode.run, i); } } } for (Dependency dependency2 : widgetRun.end.dependencies) { if (dependency2 instanceof DependencyNode) { DependencyNode dependencyNode2 = (DependencyNode) dependency2; if (dependencyNode2.run != widgetRun && dependencyNode2 == dependencyNode2.run.start) { if (widgetRun instanceof ChainRun) { Iterator it2 = ((ChainRun) widgetRun).widgets.iterator(); while (it2.hasNext()) { defineTerminalWidget(it2.next(), i); } } else if (!(widgetRun instanceof HelperReferences)) { widgetRun.widget.isTerminalWidget[i] = false; } defineTerminalWidget(dependencyNode2.run, i); } } } return false; } public void defineTerminalWidgets(boolean z, boolean z2) { if (z) { WidgetRun widgetRun = this.firstRun; if (widgetRun instanceof HorizontalWidgetRun) { defineTerminalWidget(widgetRun, 0); } } if (z2) { WidgetRun widgetRun2 = this.firstRun; if (widgetRun2 instanceof VerticalWidgetRun) { defineTerminalWidget(widgetRun2, 1); } } } }