jimu-decompiled/sources/androidx/constraintlayout/solver/widgets/Analyzer.java
2025-05-13 19:24:51 +02:00

310 lines
13 KiB
Java

package androidx.constraintlayout.solver.widgets;
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/* loaded from: classes.dex */
public class Analyzer {
public static void a(ConstraintWidgetContainer constraintWidgetContainer) {
if ((constraintWidgetContainer.M() & 32) != 32) {
b(constraintWidgetContainer);
return;
}
constraintWidgetContainer.D0 = true;
constraintWidgetContainer.x0 = false;
constraintWidgetContainer.y0 = false;
constraintWidgetContainer.z0 = false;
ArrayList<ConstraintWidget> arrayList = constraintWidgetContainer.k0;
List<ConstraintWidgetGroup> list = constraintWidgetContainer.w0;
boolean z = constraintWidgetContainer.j() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT;
boolean z2 = constraintWidgetContainer.q() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT;
boolean z3 = z || z2;
list.clear();
for (ConstraintWidget constraintWidget : arrayList) {
constraintWidget.p = null;
constraintWidget.d0 = false;
constraintWidget.F();
}
for (ConstraintWidget constraintWidget2 : arrayList) {
if (constraintWidget2.p == null && !a(constraintWidget2, list, z3)) {
b(constraintWidgetContainer);
constraintWidgetContainer.D0 = false;
return;
}
}
int i = 0;
int i2 = 0;
for (ConstraintWidgetGroup constraintWidgetGroup : list) {
i = Math.max(i, a(constraintWidgetGroup, 0));
i2 = Math.max(i2, a(constraintWidgetGroup, 1));
}
if (z) {
constraintWidgetContainer.a(ConstraintWidget.DimensionBehaviour.FIXED);
constraintWidgetContainer.o(i);
constraintWidgetContainer.x0 = true;
constraintWidgetContainer.y0 = true;
constraintWidgetContainer.A0 = i;
}
if (z2) {
constraintWidgetContainer.b(ConstraintWidget.DimensionBehaviour.FIXED);
constraintWidgetContainer.g(i2);
constraintWidgetContainer.x0 = true;
constraintWidgetContainer.z0 = true;
constraintWidgetContainer.B0 = i2;
}
a(list, 0, constraintWidgetContainer.s());
a(list, 1, constraintWidgetContainer.i());
}
private static void b(ConstraintWidgetContainer constraintWidgetContainer) {
constraintWidgetContainer.w0.clear();
constraintWidgetContainer.w0.add(0, new ConstraintWidgetGroup(constraintWidgetContainer.k0));
}
private static boolean a(ConstraintWidget constraintWidget, List<ConstraintWidgetGroup> list, boolean z) {
ConstraintWidgetGroup constraintWidgetGroup = new ConstraintWidgetGroup(new ArrayList(), true);
list.add(constraintWidgetGroup);
return a(constraintWidget, constraintWidgetGroup, list, z);
}
/* JADX WARN: Code restructure failed: missing block: B:139:0x0181, code lost:
if (r3.b == r4) goto L123;
*/
/* JADX WARN: Code restructure failed: missing block: B:159:0x0128, code lost:
if (r3.b == r4) goto L92;
*/
/* JADX WARN: Removed duplicated region for block: B:134:0x0173 */
/* JADX WARN: Removed duplicated region for block: B:85:0x01a0 */
/* JADX WARN: Removed duplicated region for block: B:99:0x01c2 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
private static boolean a(androidx.constraintlayout.solver.widgets.ConstraintWidget r8, androidx.constraintlayout.solver.widgets.ConstraintWidgetGroup r9, java.util.List<androidx.constraintlayout.solver.widgets.ConstraintWidgetGroup> r10, boolean r11) {
/*
Method dump skipped, instructions count: 560
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.Analyzer.a(androidx.constraintlayout.solver.widgets.ConstraintWidget, androidx.constraintlayout.solver.widgets.ConstraintWidgetGroup, java.util.List, boolean):boolean");
}
private static void a(ConstraintWidgetContainer constraintWidgetContainer, ConstraintWidget constraintWidget, ConstraintWidgetGroup constraintWidgetGroup) {
constraintWidgetGroup.d = false;
constraintWidgetContainer.D0 = false;
constraintWidget.b0 = false;
}
private static int a(ConstraintWidgetGroup constraintWidgetGroup, int i) {
int i2 = i * 2;
List<ConstraintWidget> a = constraintWidgetGroup.a(i);
int size = a.size();
int i3 = 0;
for (int i4 = 0; i4 < size; i4++) {
ConstraintWidget constraintWidget = a.get(i4);
ConstraintAnchor[] constraintAnchorArr = constraintWidget.A;
int i5 = i2 + 1;
i3 = Math.max(i3, a(constraintWidget, i, constraintAnchorArr[i5].d == null || !(constraintAnchorArr[i2].d == null || constraintAnchorArr[i5].d == null), 0));
}
constraintWidgetGroup.e[i] = i3;
return i3;
}
private static int a(ConstraintWidget constraintWidget, int i, boolean z, int i2) {
int i3;
int c;
int i4;
int i5;
int i6;
int i7;
int s;
int i8;
int i9;
int i10;
int i11 = 0;
if (!constraintWidget.b0) {
return 0;
}
boolean z2 = constraintWidget.w.d != null && i == 1;
if (z) {
i3 = constraintWidget.c();
c = constraintWidget.i() - constraintWidget.c();
i5 = i * 2;
i4 = i5 + 1;
} else {
i3 = constraintWidget.i() - constraintWidget.c();
c = constraintWidget.c();
i4 = i * 2;
i5 = i4 + 1;
}
ConstraintAnchor[] constraintAnchorArr = constraintWidget.A;
if (constraintAnchorArr[i4].d == null || constraintAnchorArr[i5].d != null) {
i6 = i4;
i7 = 1;
} else {
i6 = i5;
i5 = i4;
i7 = -1;
}
int i12 = z2 ? i2 - i3 : i2;
int b = (constraintWidget.A[i5].b() * i7) + a(constraintWidget, i);
int i13 = i12 + b;
int s2 = (i == 0 ? constraintWidget.s() : constraintWidget.i()) * i7;
Iterator<ResolutionNode> it = constraintWidget.A[i5].d().a.iterator();
while (it.hasNext()) {
i11 = Math.max(i11, a(((ResolutionAnchor) it.next()).c.b, i, z, i13));
}
int i14 = 0;
for (Iterator<ResolutionNode> it2 = constraintWidget.A[i6].d().a.iterator(); it2.hasNext(); it2 = it2) {
i14 = Math.max(i14, a(((ResolutionAnchor) it2.next()).c.b, i, z, s2 + i13));
}
if (z2) {
i11 -= i3;
s = i14 + c;
} else {
s = i14 + ((i == 0 ? constraintWidget.s() : constraintWidget.i()) * i7);
}
int i15 = 1;
if (i == 1) {
Iterator<ResolutionNode> it3 = constraintWidget.w.d().a.iterator();
int i16 = 0;
while (it3.hasNext()) {
Iterator<ResolutionNode> it4 = it3;
ResolutionAnchor resolutionAnchor = (ResolutionAnchor) it3.next();
if (i7 == i15) {
i16 = Math.max(i16, a(resolutionAnchor.c.b, i, z, i3 + i13));
i10 = i6;
} else {
i10 = i6;
i16 = Math.max(i16, a(resolutionAnchor.c.b, i, z, (c * i7) + i13));
}
it3 = it4;
i6 = i10;
i15 = 1;
}
i8 = i6;
int i17 = i16;
i9 = (constraintWidget.w.d().a.size() <= 0 || z2) ? i17 : i7 == 1 ? i17 + i3 : i17 - c;
} else {
i8 = i6;
i9 = 0;
}
int max = b + Math.max(i11, Math.max(s, i9));
int i18 = i13 + s2;
if (i7 != -1) {
i13 = i18;
i18 = i13;
}
if (z) {
Optimizer.a(constraintWidget, i, i18);
constraintWidget.a(i18, i13, i);
} else {
constraintWidget.p.a(constraintWidget, i);
constraintWidget.d(i18, i);
}
if (constraintWidget.c(i) == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && constraintWidget.G != 0.0f) {
constraintWidget.p.a(constraintWidget, i);
}
ConstraintAnchor[] constraintAnchorArr2 = constraintWidget.A;
if (constraintAnchorArr2[i5].d != null && constraintAnchorArr2[i8].d != null) {
ConstraintWidget k = constraintWidget.k();
ConstraintAnchor[] constraintAnchorArr3 = constraintWidget.A;
if (constraintAnchorArr3[i5].d.b == k && constraintAnchorArr3[i8].d.b == k) {
constraintWidget.p.a(constraintWidget, i);
}
}
return max;
}
private static void a(ConstraintAnchor constraintAnchor) {
ResolutionAnchor d = constraintAnchor.d();
ConstraintAnchor constraintAnchor2 = constraintAnchor.d;
if (constraintAnchor2 == null || constraintAnchor2.d == constraintAnchor) {
return;
}
constraintAnchor2.d().a(d);
}
public static void a(List<ConstraintWidgetGroup> list, int i, int i2) {
int size = list.size();
for (int i3 = 0; i3 < size; i3++) {
for (ConstraintWidget constraintWidget : list.get(i3).b(i)) {
if (constraintWidget.b0) {
a(constraintWidget, i, i2);
}
}
}
}
private static void a(ConstraintWidget constraintWidget, int i, int i2) {
int i3 = i * 2;
ConstraintAnchor[] constraintAnchorArr = constraintWidget.A;
ConstraintAnchor constraintAnchor = constraintAnchorArr[i3];
ConstraintAnchor constraintAnchor2 = constraintAnchorArr[i3 + 1];
if ((constraintAnchor.d == null || constraintAnchor2.d == null) ? false : true) {
Optimizer.a(constraintWidget, i, a(constraintWidget, i) + constraintAnchor.b());
return;
}
if (constraintWidget.G != 0.0f && constraintWidget.c(i) == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
int a = a(constraintWidget);
int i4 = (int) constraintWidget.A[i3].d().g;
constraintAnchor2.d().f = constraintAnchor.d();
constraintAnchor2.d().g = a;
constraintAnchor2.d().b = 1;
constraintWidget.a(i4, i4 + a, i);
return;
}
int e = i2 - constraintWidget.e(i);
int d = e - constraintWidget.d(i);
constraintWidget.a(d, e, i);
Optimizer.a(constraintWidget, i, d);
}
private static int a(ConstraintWidget constraintWidget, int i) {
ConstraintAnchor constraintAnchor;
int i2 = i * 2;
ConstraintAnchor[] constraintAnchorArr = constraintWidget.A;
ConstraintAnchor constraintAnchor2 = constraintAnchorArr[i2];
ConstraintAnchor constraintAnchor3 = constraintAnchorArr[i2 + 1];
ConstraintAnchor constraintAnchor4 = constraintAnchor2.d;
if (constraintAnchor4 == null) {
return 0;
}
ConstraintWidget constraintWidget2 = constraintAnchor4.b;
ConstraintWidget constraintWidget3 = constraintWidget.D;
if (constraintWidget2 != constraintWidget3 || (constraintAnchor = constraintAnchor3.d) == null || constraintAnchor.b != constraintWidget3) {
return 0;
}
return (int) ((((constraintWidget3.d(i) - constraintAnchor2.b()) - constraintAnchor3.b()) - constraintWidget.d(i)) * (i == 0 ? constraintWidget.V : constraintWidget.W));
}
private static int a(ConstraintWidget constraintWidget) {
float s;
float i;
if (constraintWidget.j() == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
if (constraintWidget.H == 0) {
i = constraintWidget.i() * constraintWidget.G;
} else {
i = constraintWidget.i() / constraintWidget.G;
}
int i2 = (int) i;
constraintWidget.o(i2);
return i2;
}
if (constraintWidget.q() != ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
return -1;
}
if (constraintWidget.H == 1) {
s = constraintWidget.s() * constraintWidget.G;
} else {
s = constraintWidget.s() / constraintWidget.G;
}
int i3 = (int) s;
constraintWidget.g(i3);
return i3;
}
}