Initial commit
This commit is contained in:
@@ -0,0 +1,574 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
import java.util.Arrays;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ArrayLinkedVariables {
|
||||
private final ArrayRow b;
|
||||
private final Cache c;
|
||||
private int[] f;
|
||||
private int[] g;
|
||||
private float[] h;
|
||||
private int i;
|
||||
private int j;
|
||||
private boolean k;
|
||||
int a = 0;
|
||||
private int d = 8;
|
||||
private SolverVariable e = null;
|
||||
|
||||
ArrayLinkedVariables(ArrayRow arrayRow, Cache cache) {
|
||||
int i = this.d;
|
||||
this.f = new int[i];
|
||||
this.g = new int[i];
|
||||
this.h = new float[i];
|
||||
this.i = -1;
|
||||
this.j = -1;
|
||||
this.k = false;
|
||||
this.b = arrayRow;
|
||||
this.c = cache;
|
||||
}
|
||||
|
||||
public final void a(SolverVariable solverVariable, float f) {
|
||||
if (f == 0.0f) {
|
||||
a(solverVariable, true);
|
||||
return;
|
||||
}
|
||||
int i = this.i;
|
||||
if (i == -1) {
|
||||
this.i = 0;
|
||||
float[] fArr = this.h;
|
||||
int i2 = this.i;
|
||||
fArr[i2] = f;
|
||||
this.f[i2] = solverVariable.b;
|
||||
this.g[i2] = -1;
|
||||
solverVariable.j++;
|
||||
solverVariable.a(this.b);
|
||||
this.a++;
|
||||
if (this.k) {
|
||||
return;
|
||||
}
|
||||
this.j++;
|
||||
int i3 = this.j;
|
||||
int[] iArr = this.f;
|
||||
if (i3 >= iArr.length) {
|
||||
this.k = true;
|
||||
this.j = iArr.length - 1;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
int i4 = -1;
|
||||
for (int i5 = 0; i != -1 && i5 < this.a; i5++) {
|
||||
int[] iArr2 = this.f;
|
||||
int i6 = iArr2[i];
|
||||
int i7 = solverVariable.b;
|
||||
if (i6 == i7) {
|
||||
this.h[i] = f;
|
||||
return;
|
||||
}
|
||||
if (iArr2[i] < i7) {
|
||||
i4 = i;
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
int i8 = this.j;
|
||||
int i9 = i8 + 1;
|
||||
if (this.k) {
|
||||
int[] iArr3 = this.f;
|
||||
if (iArr3[i8] != -1) {
|
||||
i8 = iArr3.length;
|
||||
}
|
||||
} else {
|
||||
i8 = i9;
|
||||
}
|
||||
int[] iArr4 = this.f;
|
||||
if (i8 >= iArr4.length && this.a < iArr4.length) {
|
||||
int i10 = 0;
|
||||
while (true) {
|
||||
int[] iArr5 = this.f;
|
||||
if (i10 >= iArr5.length) {
|
||||
break;
|
||||
}
|
||||
if (iArr5[i10] == -1) {
|
||||
i8 = i10;
|
||||
break;
|
||||
}
|
||||
i10++;
|
||||
}
|
||||
}
|
||||
int[] iArr6 = this.f;
|
||||
if (i8 >= iArr6.length) {
|
||||
i8 = iArr6.length;
|
||||
this.d *= 2;
|
||||
this.k = false;
|
||||
this.j = i8 - 1;
|
||||
this.h = Arrays.copyOf(this.h, this.d);
|
||||
this.f = Arrays.copyOf(this.f, this.d);
|
||||
this.g = Arrays.copyOf(this.g, this.d);
|
||||
}
|
||||
this.f[i8] = solverVariable.b;
|
||||
this.h[i8] = f;
|
||||
if (i4 != -1) {
|
||||
int[] iArr7 = this.g;
|
||||
iArr7[i8] = iArr7[i4];
|
||||
iArr7[i4] = i8;
|
||||
} else {
|
||||
this.g[i8] = this.i;
|
||||
this.i = i8;
|
||||
}
|
||||
solverVariable.j++;
|
||||
solverVariable.a(this.b);
|
||||
this.a++;
|
||||
if (!this.k) {
|
||||
this.j++;
|
||||
}
|
||||
if (this.a >= this.f.length) {
|
||||
this.k = true;
|
||||
}
|
||||
int i11 = this.j;
|
||||
int[] iArr8 = this.f;
|
||||
if (i11 >= iArr8.length) {
|
||||
this.k = true;
|
||||
this.j = iArr8.length - 1;
|
||||
}
|
||||
}
|
||||
|
||||
void b() {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
float[] fArr = this.h;
|
||||
fArr[i] = fArr[i] * (-1.0f);
|
||||
i = this.g[i];
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
int i = this.i;
|
||||
String str = "";
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
str = ((str + " -> ") + this.h[i] + " : ") + this.c.c[this.f[i]];
|
||||
i = this.g[i];
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
final float b(int i) {
|
||||
int i2 = this.i;
|
||||
for (int i3 = 0; i2 != -1 && i3 < this.a; i3++) {
|
||||
if (i3 == i) {
|
||||
return this.h[i2];
|
||||
}
|
||||
i2 = this.g[i2];
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
public final float b(SolverVariable solverVariable) {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
if (this.f[i] == solverVariable.b) {
|
||||
return this.h[i];
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
final void a(SolverVariable solverVariable, float f, boolean z) {
|
||||
if (f == 0.0f) {
|
||||
return;
|
||||
}
|
||||
int i = this.i;
|
||||
if (i == -1) {
|
||||
this.i = 0;
|
||||
float[] fArr = this.h;
|
||||
int i2 = this.i;
|
||||
fArr[i2] = f;
|
||||
this.f[i2] = solverVariable.b;
|
||||
this.g[i2] = -1;
|
||||
solverVariable.j++;
|
||||
solverVariable.a(this.b);
|
||||
this.a++;
|
||||
if (this.k) {
|
||||
return;
|
||||
}
|
||||
this.j++;
|
||||
int i3 = this.j;
|
||||
int[] iArr = this.f;
|
||||
if (i3 >= iArr.length) {
|
||||
this.k = true;
|
||||
this.j = iArr.length - 1;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
int i4 = -1;
|
||||
for (int i5 = 0; i != -1 && i5 < this.a; i5++) {
|
||||
int[] iArr2 = this.f;
|
||||
int i6 = iArr2[i];
|
||||
int i7 = solverVariable.b;
|
||||
if (i6 == i7) {
|
||||
float[] fArr2 = this.h;
|
||||
fArr2[i] = fArr2[i] + f;
|
||||
if (fArr2[i] == 0.0f) {
|
||||
if (i == this.i) {
|
||||
this.i = this.g[i];
|
||||
} else {
|
||||
int[] iArr3 = this.g;
|
||||
iArr3[i4] = iArr3[i];
|
||||
}
|
||||
if (z) {
|
||||
solverVariable.b(this.b);
|
||||
}
|
||||
if (this.k) {
|
||||
this.j = i;
|
||||
}
|
||||
solverVariable.j--;
|
||||
this.a--;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (iArr2[i] < i7) {
|
||||
i4 = i;
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
int i8 = this.j;
|
||||
int i9 = i8 + 1;
|
||||
if (this.k) {
|
||||
int[] iArr4 = this.f;
|
||||
if (iArr4[i8] != -1) {
|
||||
i8 = iArr4.length;
|
||||
}
|
||||
} else {
|
||||
i8 = i9;
|
||||
}
|
||||
int[] iArr5 = this.f;
|
||||
if (i8 >= iArr5.length && this.a < iArr5.length) {
|
||||
int i10 = 0;
|
||||
while (true) {
|
||||
int[] iArr6 = this.f;
|
||||
if (i10 >= iArr6.length) {
|
||||
break;
|
||||
}
|
||||
if (iArr6[i10] == -1) {
|
||||
i8 = i10;
|
||||
break;
|
||||
}
|
||||
i10++;
|
||||
}
|
||||
}
|
||||
int[] iArr7 = this.f;
|
||||
if (i8 >= iArr7.length) {
|
||||
i8 = iArr7.length;
|
||||
this.d *= 2;
|
||||
this.k = false;
|
||||
this.j = i8 - 1;
|
||||
this.h = Arrays.copyOf(this.h, this.d);
|
||||
this.f = Arrays.copyOf(this.f, this.d);
|
||||
this.g = Arrays.copyOf(this.g, this.d);
|
||||
}
|
||||
this.f[i8] = solverVariable.b;
|
||||
this.h[i8] = f;
|
||||
if (i4 != -1) {
|
||||
int[] iArr8 = this.g;
|
||||
iArr8[i8] = iArr8[i4];
|
||||
iArr8[i4] = i8;
|
||||
} else {
|
||||
this.g[i8] = this.i;
|
||||
this.i = i8;
|
||||
}
|
||||
solverVariable.j++;
|
||||
solverVariable.a(this.b);
|
||||
this.a++;
|
||||
if (!this.k) {
|
||||
this.j++;
|
||||
}
|
||||
int i11 = this.j;
|
||||
int[] iArr9 = this.f;
|
||||
if (i11 >= iArr9.length) {
|
||||
this.k = true;
|
||||
this.j = iArr9.length - 1;
|
||||
}
|
||||
}
|
||||
|
||||
public final float a(SolverVariable solverVariable, boolean z) {
|
||||
if (this.e == solverVariable) {
|
||||
this.e = null;
|
||||
}
|
||||
int i = this.i;
|
||||
if (i == -1) {
|
||||
return 0.0f;
|
||||
}
|
||||
int i2 = 0;
|
||||
int i3 = -1;
|
||||
while (i != -1 && i2 < this.a) {
|
||||
if (this.f[i] == solverVariable.b) {
|
||||
if (i == this.i) {
|
||||
this.i = this.g[i];
|
||||
} else {
|
||||
int[] iArr = this.g;
|
||||
iArr[i3] = iArr[i];
|
||||
}
|
||||
if (z) {
|
||||
solverVariable.b(this.b);
|
||||
}
|
||||
solverVariable.j--;
|
||||
this.a--;
|
||||
this.f[i] = -1;
|
||||
if (this.k) {
|
||||
this.j = i;
|
||||
}
|
||||
return this.h[i];
|
||||
}
|
||||
i2++;
|
||||
i3 = i;
|
||||
i = this.g[i];
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
public final void a() {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
SolverVariable solverVariable = this.c.c[this.f[i]];
|
||||
if (solverVariable != null) {
|
||||
solverVariable.b(this.b);
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
this.i = -1;
|
||||
this.j = -1;
|
||||
this.k = false;
|
||||
this.a = 0;
|
||||
}
|
||||
|
||||
final boolean a(SolverVariable solverVariable) {
|
||||
int i = this.i;
|
||||
if (i == -1) {
|
||||
return false;
|
||||
}
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
if (this.f[i] == solverVariable.b) {
|
||||
return true;
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void a(float f) {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
float[] fArr = this.h;
|
||||
fArr[i] = fArr[i] / f;
|
||||
i = this.g[i];
|
||||
}
|
||||
}
|
||||
|
||||
private boolean a(SolverVariable solverVariable, LinearSystem linearSystem) {
|
||||
return solverVariable.j <= 1;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:14:0x0046 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:50:0x008f A[SYNTHETIC] */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
androidx.constraintlayout.solver.SolverVariable a(androidx.constraintlayout.solver.LinearSystem r15) {
|
||||
/*
|
||||
r14 = this;
|
||||
int r0 = r14.i
|
||||
r1 = 0
|
||||
r2 = 0
|
||||
r3 = 0
|
||||
r4 = r1
|
||||
r5 = 0
|
||||
r6 = 0
|
||||
r7 = 0
|
||||
r8 = 0
|
||||
La:
|
||||
r9 = -1
|
||||
if (r0 == r9) goto L97
|
||||
int r9 = r14.a
|
||||
if (r2 >= r9) goto L97
|
||||
float[] r9 = r14.h
|
||||
r10 = r9[r0]
|
||||
r11 = 981668463(0x3a83126f, float:0.001)
|
||||
androidx.constraintlayout.solver.Cache r12 = r14.c
|
||||
androidx.constraintlayout.solver.SolverVariable[] r12 = r12.c
|
||||
int[] r13 = r14.f
|
||||
r13 = r13[r0]
|
||||
r12 = r12[r13]
|
||||
int r13 = (r10 > r3 ? 1 : (r10 == r3 ? 0 : -1))
|
||||
if (r13 >= 0) goto L35
|
||||
r11 = -1165815185(0xffffffffba83126f, float:-0.001)
|
||||
int r11 = (r10 > r11 ? 1 : (r10 == r11 ? 0 : -1))
|
||||
if (r11 <= 0) goto L41
|
||||
r9[r0] = r3
|
||||
androidx.constraintlayout.solver.ArrayRow r9 = r14.b
|
||||
r12.b(r9)
|
||||
goto L40
|
||||
L35:
|
||||
int r11 = (r10 > r11 ? 1 : (r10 == r11 ? 0 : -1))
|
||||
if (r11 >= 0) goto L41
|
||||
r9[r0] = r3
|
||||
androidx.constraintlayout.solver.ArrayRow r9 = r14.b
|
||||
r12.b(r9)
|
||||
L40:
|
||||
r10 = 0
|
||||
L41:
|
||||
r9 = 1
|
||||
int r11 = (r10 > r3 ? 1 : (r10 == r3 ? 0 : -1))
|
||||
if (r11 == 0) goto L8f
|
||||
androidx.constraintlayout.solver.SolverVariable$Type r11 = r12.g
|
||||
androidx.constraintlayout.solver.SolverVariable$Type r13 = androidx.constraintlayout.solver.SolverVariable.Type.UNRESTRICTED
|
||||
if (r11 != r13) goto L6b
|
||||
if (r4 != 0) goto L56
|
||||
boolean r4 = r14.a(r12, r15)
|
||||
L52:
|
||||
r6 = r4
|
||||
r5 = r10
|
||||
r4 = r12
|
||||
goto L8f
|
||||
L56:
|
||||
int r11 = (r5 > r10 ? 1 : (r5 == r10 ? 0 : -1))
|
||||
if (r11 <= 0) goto L5f
|
||||
boolean r4 = r14.a(r12, r15)
|
||||
goto L52
|
||||
L5f:
|
||||
if (r6 != 0) goto L8f
|
||||
boolean r11 = r14.a(r12, r15)
|
||||
if (r11 == 0) goto L8f
|
||||
r5 = r10
|
||||
r4 = r12
|
||||
r6 = 1
|
||||
goto L8f
|
||||
L6b:
|
||||
if (r4 != 0) goto L8f
|
||||
int r11 = (r10 > r3 ? 1 : (r10 == r3 ? 0 : -1))
|
||||
if (r11 >= 0) goto L8f
|
||||
if (r1 != 0) goto L7b
|
||||
boolean r1 = r14.a(r12, r15)
|
||||
L77:
|
||||
r8 = r1
|
||||
r7 = r10
|
||||
r1 = r12
|
||||
goto L8f
|
||||
L7b:
|
||||
int r11 = (r7 > r10 ? 1 : (r7 == r10 ? 0 : -1))
|
||||
if (r11 <= 0) goto L84
|
||||
boolean r1 = r14.a(r12, r15)
|
||||
goto L77
|
||||
L84:
|
||||
if (r8 != 0) goto L8f
|
||||
boolean r11 = r14.a(r12, r15)
|
||||
if (r11 == 0) goto L8f
|
||||
r7 = r10
|
||||
r1 = r12
|
||||
r8 = 1
|
||||
L8f:
|
||||
int[] r9 = r14.g
|
||||
r0 = r9[r0]
|
||||
int r2 = r2 + 1
|
||||
goto La
|
||||
L97:
|
||||
if (r4 == 0) goto L9a
|
||||
return r4
|
||||
L9a:
|
||||
return r1
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.ArrayLinkedVariables.a(androidx.constraintlayout.solver.LinearSystem):androidx.constraintlayout.solver.SolverVariable");
|
||||
}
|
||||
|
||||
final void a(ArrayRow arrayRow, ArrayRow arrayRow2, boolean z) {
|
||||
int i = this.i;
|
||||
while (true) {
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
int i3 = this.f[i];
|
||||
SolverVariable solverVariable = arrayRow2.a;
|
||||
if (i3 == solverVariable.b) {
|
||||
float f = this.h[i];
|
||||
a(solverVariable, z);
|
||||
ArrayLinkedVariables arrayLinkedVariables = arrayRow2.d;
|
||||
int i4 = arrayLinkedVariables.i;
|
||||
for (int i5 = 0; i4 != -1 && i5 < arrayLinkedVariables.a; i5++) {
|
||||
a(this.c.c[arrayLinkedVariables.f[i4]], arrayLinkedVariables.h[i4] * f, z);
|
||||
i4 = arrayLinkedVariables.g[i4];
|
||||
}
|
||||
arrayRow.b += arrayRow2.b * f;
|
||||
if (z) {
|
||||
arrayRow2.a.b(arrayRow);
|
||||
}
|
||||
i = this.i;
|
||||
} else {
|
||||
i = this.g[i];
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void a(ArrayRow arrayRow, ArrayRow[] arrayRowArr) {
|
||||
int i = this.i;
|
||||
while (true) {
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
SolverVariable solverVariable = this.c.c[this.f[i]];
|
||||
if (solverVariable.c != -1) {
|
||||
float f = this.h[i];
|
||||
a(solverVariable, true);
|
||||
ArrayRow arrayRow2 = arrayRowArr[solverVariable.c];
|
||||
if (!arrayRow2.e) {
|
||||
ArrayLinkedVariables arrayLinkedVariables = arrayRow2.d;
|
||||
int i3 = arrayLinkedVariables.i;
|
||||
for (int i4 = 0; i3 != -1 && i4 < arrayLinkedVariables.a; i4++) {
|
||||
a(this.c.c[arrayLinkedVariables.f[i3]], arrayLinkedVariables.h[i3] * f, true);
|
||||
i3 = arrayLinkedVariables.g[i3];
|
||||
}
|
||||
}
|
||||
arrayRow.b += arrayRow2.b * f;
|
||||
arrayRow2.a.b(arrayRow);
|
||||
i = this.i;
|
||||
} else {
|
||||
i = this.g[i];
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
SolverVariable a(boolean[] zArr, SolverVariable solverVariable) {
|
||||
SolverVariable.Type type;
|
||||
int i = this.i;
|
||||
SolverVariable solverVariable2 = null;
|
||||
float f = 0.0f;
|
||||
for (int i2 = 0; i != -1 && i2 < this.a; i2++) {
|
||||
if (this.h[i] < 0.0f) {
|
||||
SolverVariable solverVariable3 = this.c.c[this.f[i]];
|
||||
if ((zArr == null || !zArr[solverVariable3.b]) && solverVariable3 != solverVariable && ((type = solverVariable3.g) == SolverVariable.Type.SLACK || type == SolverVariable.Type.ERROR)) {
|
||||
float f2 = this.h[i];
|
||||
if (f2 < f) {
|
||||
solverVariable2 = solverVariable3;
|
||||
f = f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
i = this.g[i];
|
||||
}
|
||||
return solverVariable2;
|
||||
}
|
||||
|
||||
final SolverVariable a(int i) {
|
||||
int i2 = this.i;
|
||||
for (int i3 = 0; i2 != -1 && i3 < this.a; i3++) {
|
||||
if (i3 == i) {
|
||||
return this.c.c[this.f[i2]];
|
||||
}
|
||||
i2 = this.g[i2];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
326
sources/androidx/constraintlayout/solver/ArrayRow.java
Normal file
326
sources/androidx/constraintlayout/solver/ArrayRow.java
Normal file
@@ -0,0 +1,326 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ArrayRow implements LinearSystem.Row {
|
||||
boolean c;
|
||||
public final ArrayLinkedVariables d;
|
||||
SolverVariable a = null;
|
||||
float b = 0.0f;
|
||||
boolean e = false;
|
||||
|
||||
public ArrayRow(Cache cache) {
|
||||
this.d = new ArrayLinkedVariables(this, cache);
|
||||
}
|
||||
|
||||
public ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, int i) {
|
||||
boolean z = false;
|
||||
if (i != 0) {
|
||||
if (i < 0) {
|
||||
i *= -1;
|
||||
z = true;
|
||||
}
|
||||
this.b = i;
|
||||
}
|
||||
if (z) {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
} else {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
boolean b() {
|
||||
SolverVariable solverVariable = this.a;
|
||||
return solverVariable != null && (solverVariable.g == SolverVariable.Type.UNRESTRICTED || this.b >= 0.0f);
|
||||
}
|
||||
|
||||
public ArrayRow c(SolverVariable solverVariable, int i) {
|
||||
if (i < 0) {
|
||||
this.b = i * (-1);
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
} else {
|
||||
this.b = i;
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public void clear() {
|
||||
this.d.a();
|
||||
this.a = null;
|
||||
this.b = 0.0f;
|
||||
}
|
||||
|
||||
public void d() {
|
||||
this.a = null;
|
||||
this.d.a();
|
||||
this.b = 0.0f;
|
||||
this.e = false;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:21:0x00be */
|
||||
/* JADX WARN: Removed duplicated region for block: B:25:0x00ce */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
java.lang.String e() {
|
||||
/*
|
||||
Method dump skipped, instructions count: 254
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.ArrayRow.e():java.lang.String");
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public SolverVariable getKey() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return e();
|
||||
}
|
||||
|
||||
boolean b(SolverVariable solverVariable) {
|
||||
return this.d.a(solverVariable);
|
||||
}
|
||||
|
||||
ArrayRow b(SolverVariable solverVariable, int i) {
|
||||
this.a = solverVariable;
|
||||
float f = i;
|
||||
solverVariable.e = f;
|
||||
this.b = f;
|
||||
this.e = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
SolverVariable c(SolverVariable solverVariable) {
|
||||
return this.d.a((boolean[]) null, solverVariable);
|
||||
}
|
||||
|
||||
void d(SolverVariable solverVariable) {
|
||||
SolverVariable solverVariable2 = this.a;
|
||||
if (solverVariable2 != null) {
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.a = null;
|
||||
}
|
||||
float a = this.d.a(solverVariable, true) * (-1.0f);
|
||||
this.a = solverVariable;
|
||||
if (a == 1.0f) {
|
||||
return;
|
||||
}
|
||||
this.b /= a;
|
||||
this.d.a(a);
|
||||
}
|
||||
|
||||
ArrayRow a(SolverVariable solverVariable, int i) {
|
||||
this.d.a(solverVariable, i);
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean c() {
|
||||
return this.a == null && this.b == 0.0f && this.d.a == 0;
|
||||
}
|
||||
|
||||
public ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, int i) {
|
||||
boolean z = false;
|
||||
if (i != 0) {
|
||||
if (i < 0) {
|
||||
i *= -1;
|
||||
z = true;
|
||||
}
|
||||
this.b = i;
|
||||
}
|
||||
if (!z) {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f);
|
||||
this.d.a(solverVariable3, 1.0f);
|
||||
} else {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.d.a(solverVariable3, -1.0f);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayRow b(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, int i) {
|
||||
boolean z = false;
|
||||
if (i != 0) {
|
||||
if (i < 0) {
|
||||
i *= -1;
|
||||
z = true;
|
||||
}
|
||||
this.b = i;
|
||||
}
|
||||
if (!z) {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f);
|
||||
this.d.a(solverVariable3, -1.0f);
|
||||
} else {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.d.a(solverVariable3, 1.0f);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayRow a(float f, float f2, float f3, SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, SolverVariable solverVariable4) {
|
||||
this.b = 0.0f;
|
||||
if (f2 == 0.0f || f == f3) {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.d.a(solverVariable4, 1.0f);
|
||||
this.d.a(solverVariable3, -1.0f);
|
||||
} else if (f == 0.0f) {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
} else if (f3 == 0.0f) {
|
||||
this.d.a(solverVariable3, 1.0f);
|
||||
this.d.a(solverVariable4, -1.0f);
|
||||
} else {
|
||||
float f4 = (f / f2) / (f3 / f2);
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.d.a(solverVariable4, f4);
|
||||
this.d.a(solverVariable3, -f4);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayRow b(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, SolverVariable solverVariable4, float f) {
|
||||
this.d.a(solverVariable3, 0.5f);
|
||||
this.d.a(solverVariable4, 0.5f);
|
||||
this.d.a(solverVariable, -0.5f);
|
||||
this.d.a(solverVariable2, -0.5f);
|
||||
this.b = -f;
|
||||
return this;
|
||||
}
|
||||
|
||||
ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, int i, float f, SolverVariable solverVariable3, SolverVariable solverVariable4, int i2) {
|
||||
if (solverVariable2 == solverVariable3) {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable4, 1.0f);
|
||||
this.d.a(solverVariable2, -2.0f);
|
||||
return this;
|
||||
}
|
||||
if (f == 0.5f) {
|
||||
this.d.a(solverVariable, 1.0f);
|
||||
this.d.a(solverVariable2, -1.0f);
|
||||
this.d.a(solverVariable3, -1.0f);
|
||||
this.d.a(solverVariable4, 1.0f);
|
||||
if (i > 0 || i2 > 0) {
|
||||
this.b = (-i) + i2;
|
||||
}
|
||||
} else if (f <= 0.0f) {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f);
|
||||
this.b = i;
|
||||
} else if (f >= 1.0f) {
|
||||
this.d.a(solverVariable3, -1.0f);
|
||||
this.d.a(solverVariable4, 1.0f);
|
||||
this.b = i2;
|
||||
} else {
|
||||
float f2 = 1.0f - f;
|
||||
this.d.a(solverVariable, f2 * 1.0f);
|
||||
this.d.a(solverVariable2, f2 * (-1.0f));
|
||||
this.d.a(solverVariable3, (-1.0f) * f);
|
||||
this.d.a(solverVariable4, 1.0f * f);
|
||||
if (i > 0 || i2 > 0) {
|
||||
this.b = ((-i) * f2) + (i2 * f);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayRow a(LinearSystem linearSystem, int i) {
|
||||
this.d.a(linearSystem.a(i, "ep"), 1.0f);
|
||||
this.d.a(linearSystem.a(i, "em"), -1.0f);
|
||||
return this;
|
||||
}
|
||||
|
||||
ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, float f) {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f - f);
|
||||
this.d.a(solverVariable3, f);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, SolverVariable solverVariable4, float f) {
|
||||
this.d.a(solverVariable, -1.0f);
|
||||
this.d.a(solverVariable2, 1.0f);
|
||||
this.d.a(solverVariable3, f);
|
||||
this.d.a(solverVariable4, -f);
|
||||
return this;
|
||||
}
|
||||
|
||||
void a() {
|
||||
float f = this.b;
|
||||
if (f < 0.0f) {
|
||||
this.b = f * (-1.0f);
|
||||
this.d.b();
|
||||
}
|
||||
}
|
||||
|
||||
boolean a(LinearSystem linearSystem) {
|
||||
boolean z;
|
||||
SolverVariable a = this.d.a(linearSystem);
|
||||
if (a == null) {
|
||||
z = true;
|
||||
} else {
|
||||
d(a);
|
||||
z = false;
|
||||
}
|
||||
if (this.d.a == 0) {
|
||||
this.e = true;
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public SolverVariable a(LinearSystem linearSystem, boolean[] zArr) {
|
||||
return this.d.a(zArr, (SolverVariable) null);
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public void a(LinearSystem.Row row) {
|
||||
if (!(row instanceof ArrayRow)) {
|
||||
return;
|
||||
}
|
||||
ArrayRow arrayRow = (ArrayRow) row;
|
||||
this.a = null;
|
||||
this.d.a();
|
||||
int i = 0;
|
||||
while (true) {
|
||||
ArrayLinkedVariables arrayLinkedVariables = arrayRow.d;
|
||||
if (i >= arrayLinkedVariables.a) {
|
||||
return;
|
||||
}
|
||||
this.d.a(arrayLinkedVariables.a(i), arrayRow.d.b(i), true);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public void a(SolverVariable solverVariable) {
|
||||
int i = solverVariable.d;
|
||||
float f = 1.0f;
|
||||
if (i != 1) {
|
||||
if (i == 2) {
|
||||
f = 1000.0f;
|
||||
} else if (i == 3) {
|
||||
f = 1000000.0f;
|
||||
} else if (i == 4) {
|
||||
f = 1.0E9f;
|
||||
} else if (i == 5) {
|
||||
f = 1.0E12f;
|
||||
}
|
||||
}
|
||||
this.d.a(solverVariable, f);
|
||||
}
|
||||
}
|
121
sources/androidx/constraintlayout/solver/Cache.java
Normal file
121
sources/androidx/constraintlayout/solver/Cache.java
Normal file
@@ -0,0 +1,121 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
import com.ijm.dataencryption.de.DataDecryptTool;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Cache {
|
||||
Pools$Pool<ArrayRow> a;
|
||||
Pools$Pool<SolverVariable> b;
|
||||
SolverVariable[] c;
|
||||
|
||||
public Cache() {
|
||||
final int i = DataDecryptTool.DECRYPT_ALL_FILE;
|
||||
this.a = new Pools$Pool<T>(i) { // from class: androidx.constraintlayout.solver.Pools$SimplePool
|
||||
private final Object[] a;
|
||||
private int b;
|
||||
|
||||
{
|
||||
if (i <= 0) {
|
||||
throw new IllegalArgumentException("The max pool size must be > 0");
|
||||
}
|
||||
this.a = new Object[i];
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public T a() {
|
||||
int i2 = this.b;
|
||||
if (i2 <= 0) {
|
||||
return null;
|
||||
}
|
||||
int i3 = i2 - 1;
|
||||
Object[] objArr = this.a;
|
||||
T t = (T) objArr[i3];
|
||||
objArr[i3] = null;
|
||||
this.b = i2 - 1;
|
||||
return t;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public boolean a(T t) {
|
||||
int i2 = this.b;
|
||||
Object[] objArr = this.a;
|
||||
if (i2 >= objArr.length) {
|
||||
return false;
|
||||
}
|
||||
objArr[i2] = t;
|
||||
this.b = i2 + 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public void a(T[] tArr, int i2) {
|
||||
if (i2 > tArr.length) {
|
||||
i2 = tArr.length;
|
||||
}
|
||||
for (int i3 = 0; i3 < i2; i3++) {
|
||||
T t = tArr[i3];
|
||||
int i4 = this.b;
|
||||
Object[] objArr = this.a;
|
||||
if (i4 < objArr.length) {
|
||||
objArr[i4] = t;
|
||||
this.b = i4 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
this.b = new Pools$Pool<T>(i) { // from class: androidx.constraintlayout.solver.Pools$SimplePool
|
||||
private final Object[] a;
|
||||
private int b;
|
||||
|
||||
{
|
||||
if (i <= 0) {
|
||||
throw new IllegalArgumentException("The max pool size must be > 0");
|
||||
}
|
||||
this.a = new Object[i];
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public T a() {
|
||||
int i2 = this.b;
|
||||
if (i2 <= 0) {
|
||||
return null;
|
||||
}
|
||||
int i3 = i2 - 1;
|
||||
Object[] objArr = this.a;
|
||||
T t = (T) objArr[i3];
|
||||
objArr[i3] = null;
|
||||
this.b = i2 - 1;
|
||||
return t;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public boolean a(T t) {
|
||||
int i2 = this.b;
|
||||
Object[] objArr = this.a;
|
||||
if (i2 >= objArr.length) {
|
||||
return false;
|
||||
}
|
||||
objArr[i2] = t;
|
||||
this.b = i2 + 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.Pools$Pool
|
||||
public void a(T[] tArr, int i2) {
|
||||
if (i2 > tArr.length) {
|
||||
i2 = tArr.length;
|
||||
}
|
||||
for (int i3 = 0; i3 < i2; i3++) {
|
||||
T t = tArr[i3];
|
||||
int i4 = this.b;
|
||||
Object[] objArr = this.a;
|
||||
if (i4 < objArr.length) {
|
||||
objArr[i4] = t;
|
||||
this.b = i4 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
this.c = new SolverVariable[32];
|
||||
}
|
||||
}
|
14
sources/androidx/constraintlayout/solver/GoalRow.java
Normal file
14
sources/androidx/constraintlayout/solver/GoalRow.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class GoalRow extends ArrayRow {
|
||||
public GoalRow(Cache cache) {
|
||||
super(cache);
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.ArrayRow, androidx.constraintlayout.solver.LinearSystem.Row
|
||||
public void a(SolverVariable solverVariable) {
|
||||
super.a(solverVariable);
|
||||
solverVariable.j--;
|
||||
}
|
||||
}
|
677
sources/androidx/constraintlayout/solver/LinearSystem.java
Normal file
677
sources/androidx/constraintlayout/solver/LinearSystem.java
Normal file
@@ -0,0 +1,677 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class LinearSystem {
|
||||
private static int p = 1000;
|
||||
public static Metrics q;
|
||||
private Row c;
|
||||
private int e;
|
||||
ArrayRow[] f;
|
||||
public boolean g;
|
||||
private boolean[] h;
|
||||
int i;
|
||||
int j;
|
||||
private int k;
|
||||
final Cache l;
|
||||
private SolverVariable[] m;
|
||||
private int n;
|
||||
private final Row o;
|
||||
int a = 0;
|
||||
private HashMap<String, SolverVariable> b = null;
|
||||
private int d = 32;
|
||||
|
||||
interface Row {
|
||||
SolverVariable a(LinearSystem linearSystem, boolean[] zArr);
|
||||
|
||||
void a(Row row);
|
||||
|
||||
void a(SolverVariable solverVariable);
|
||||
|
||||
void clear();
|
||||
|
||||
SolverVariable getKey();
|
||||
}
|
||||
|
||||
public LinearSystem() {
|
||||
int i = this.d;
|
||||
this.e = i;
|
||||
this.f = null;
|
||||
this.g = false;
|
||||
this.h = new boolean[i];
|
||||
this.i = 1;
|
||||
this.j = 0;
|
||||
this.k = i;
|
||||
this.m = new SolverVariable[p];
|
||||
this.n = 0;
|
||||
ArrayRow[] arrayRowArr = new ArrayRow[i];
|
||||
this.f = new ArrayRow[i];
|
||||
j();
|
||||
this.l = new Cache();
|
||||
this.c = new GoalRow(this.l);
|
||||
this.o = new ArrayRow(this.l);
|
||||
}
|
||||
|
||||
private final void d(ArrayRow arrayRow) {
|
||||
if (this.j > 0) {
|
||||
arrayRow.d.a(arrayRow, this.f);
|
||||
if (arrayRow.d.a == 0) {
|
||||
arrayRow.e = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void g() {
|
||||
for (int i = 0; i < this.j; i++) {
|
||||
ArrayRow arrayRow = this.f[i];
|
||||
arrayRow.a.e = arrayRow.b;
|
||||
}
|
||||
}
|
||||
|
||||
public static Metrics h() {
|
||||
return q;
|
||||
}
|
||||
|
||||
private void i() {
|
||||
this.d *= 2;
|
||||
this.f = (ArrayRow[]) Arrays.copyOf(this.f, this.d);
|
||||
Cache cache = this.l;
|
||||
cache.c = (SolverVariable[]) Arrays.copyOf(cache.c, this.d);
|
||||
int i = this.d;
|
||||
this.h = new boolean[i];
|
||||
this.e = i;
|
||||
this.k = i;
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.d++;
|
||||
metrics.o = Math.max(metrics.o, i);
|
||||
Metrics metrics2 = q;
|
||||
metrics2.A = metrics2.o;
|
||||
}
|
||||
}
|
||||
|
||||
private void j() {
|
||||
int i = 0;
|
||||
while (true) {
|
||||
ArrayRow[] arrayRowArr = this.f;
|
||||
if (i >= arrayRowArr.length) {
|
||||
return;
|
||||
}
|
||||
ArrayRow arrayRow = arrayRowArr[i];
|
||||
if (arrayRow != null) {
|
||||
this.l.a.a(arrayRow);
|
||||
}
|
||||
this.f[i] = null;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
public SolverVariable a(Object obj) {
|
||||
SolverVariable solverVariable = null;
|
||||
if (obj == null) {
|
||||
return null;
|
||||
}
|
||||
if (this.i + 1 >= this.e) {
|
||||
i();
|
||||
}
|
||||
if (obj instanceof ConstraintAnchor) {
|
||||
ConstraintAnchor constraintAnchor = (ConstraintAnchor) obj;
|
||||
solverVariable = constraintAnchor.e();
|
||||
if (solverVariable == null) {
|
||||
constraintAnchor.a(this.l);
|
||||
solverVariable = constraintAnchor.e();
|
||||
}
|
||||
int i = solverVariable.b;
|
||||
if (i == -1 || i > this.a || this.l.c[i] == null) {
|
||||
if (solverVariable.b != -1) {
|
||||
solverVariable.a();
|
||||
}
|
||||
this.a++;
|
||||
this.i++;
|
||||
int i2 = this.a;
|
||||
solverVariable.b = i2;
|
||||
solverVariable.g = SolverVariable.Type.UNRESTRICTED;
|
||||
this.l.c[i2] = solverVariable;
|
||||
}
|
||||
}
|
||||
return solverVariable;
|
||||
}
|
||||
|
||||
public ArrayRow b() {
|
||||
ArrayRow a = this.l.a.a();
|
||||
if (a == null) {
|
||||
a = new ArrayRow(this.l);
|
||||
} else {
|
||||
a.d();
|
||||
}
|
||||
SolverVariable.b();
|
||||
return a;
|
||||
}
|
||||
|
||||
public SolverVariable c() {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.m++;
|
||||
}
|
||||
if (this.i + 1 >= this.e) {
|
||||
i();
|
||||
}
|
||||
SolverVariable a = a(SolverVariable.Type.SLACK, (String) null);
|
||||
this.a++;
|
||||
this.i++;
|
||||
int i = this.a;
|
||||
a.b = i;
|
||||
this.l.c[i] = a;
|
||||
return a;
|
||||
}
|
||||
|
||||
public void e() throws Exception {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.e++;
|
||||
}
|
||||
if (!this.g) {
|
||||
a(this.c);
|
||||
return;
|
||||
}
|
||||
Metrics metrics2 = q;
|
||||
if (metrics2 != null) {
|
||||
metrics2.q++;
|
||||
}
|
||||
boolean z = false;
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (i >= this.j) {
|
||||
z = true;
|
||||
break;
|
||||
} else if (!this.f[i].e) {
|
||||
break;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if (!z) {
|
||||
a(this.c);
|
||||
return;
|
||||
}
|
||||
Metrics metrics3 = q;
|
||||
if (metrics3 != null) {
|
||||
metrics3.p++;
|
||||
}
|
||||
g();
|
||||
}
|
||||
|
||||
public void f() {
|
||||
Cache cache;
|
||||
int i = 0;
|
||||
while (true) {
|
||||
cache = this.l;
|
||||
SolverVariable[] solverVariableArr = cache.c;
|
||||
if (i >= solverVariableArr.length) {
|
||||
break;
|
||||
}
|
||||
SolverVariable solverVariable = solverVariableArr[i];
|
||||
if (solverVariable != null) {
|
||||
solverVariable.a();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
cache.b.a(this.m, this.n);
|
||||
this.n = 0;
|
||||
Arrays.fill(this.l.c, (Object) null);
|
||||
HashMap<String, SolverVariable> hashMap = this.b;
|
||||
if (hashMap != null) {
|
||||
hashMap.clear();
|
||||
}
|
||||
this.a = 0;
|
||||
this.c.clear();
|
||||
this.i = 1;
|
||||
for (int i2 = 0; i2 < this.j; i2++) {
|
||||
this.f[i2].c = false;
|
||||
}
|
||||
j();
|
||||
this.j = 0;
|
||||
}
|
||||
|
||||
private void b(ArrayRow arrayRow) {
|
||||
arrayRow.a(this, 0);
|
||||
}
|
||||
|
||||
public Cache d() {
|
||||
return this.l;
|
||||
}
|
||||
|
||||
public int b(Object obj) {
|
||||
SolverVariable e = ((ConstraintAnchor) obj).e();
|
||||
if (e != null) {
|
||||
return (int) (e.e + 0.5f);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int b(Row row) throws Exception {
|
||||
float f;
|
||||
boolean z;
|
||||
int i = 0;
|
||||
while (true) {
|
||||
f = 0.0f;
|
||||
if (i >= this.j) {
|
||||
z = false;
|
||||
break;
|
||||
}
|
||||
ArrayRow[] arrayRowArr = this.f;
|
||||
if (arrayRowArr[i].a.g != SolverVariable.Type.UNRESTRICTED && arrayRowArr[i].b < 0.0f) {
|
||||
z = true;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (!z) {
|
||||
return 0;
|
||||
}
|
||||
boolean z2 = false;
|
||||
int i2 = 0;
|
||||
while (!z2) {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.k++;
|
||||
}
|
||||
i2++;
|
||||
int i3 = 0;
|
||||
int i4 = -1;
|
||||
int i5 = -1;
|
||||
float f2 = Float.MAX_VALUE;
|
||||
int i6 = 0;
|
||||
while (i3 < this.j) {
|
||||
ArrayRow arrayRow = this.f[i3];
|
||||
if (arrayRow.a.g != SolverVariable.Type.UNRESTRICTED && !arrayRow.e && arrayRow.b < f) {
|
||||
int i7 = 1;
|
||||
while (i7 < this.i) {
|
||||
SolverVariable solverVariable = this.l.c[i7];
|
||||
float b = arrayRow.d.b(solverVariable);
|
||||
if (b > f) {
|
||||
int i8 = i6;
|
||||
float f3 = f2;
|
||||
int i9 = i5;
|
||||
int i10 = i4;
|
||||
for (int i11 = 0; i11 < 7; i11++) {
|
||||
float f4 = solverVariable.f[i11] / b;
|
||||
if ((f4 < f3 && i11 == i8) || i11 > i8) {
|
||||
i9 = i7;
|
||||
i10 = i3;
|
||||
f3 = f4;
|
||||
i8 = i11;
|
||||
}
|
||||
}
|
||||
i4 = i10;
|
||||
i5 = i9;
|
||||
f2 = f3;
|
||||
i6 = i8;
|
||||
}
|
||||
i7++;
|
||||
f = 0.0f;
|
||||
}
|
||||
}
|
||||
i3++;
|
||||
f = 0.0f;
|
||||
}
|
||||
if (i4 != -1) {
|
||||
ArrayRow arrayRow2 = this.f[i4];
|
||||
arrayRow2.a.c = -1;
|
||||
Metrics metrics2 = q;
|
||||
if (metrics2 != null) {
|
||||
metrics2.j++;
|
||||
}
|
||||
arrayRow2.d(this.l.c[i5]);
|
||||
SolverVariable solverVariable2 = arrayRow2.a;
|
||||
solverVariable2.c = i4;
|
||||
solverVariable2.c(arrayRow2);
|
||||
} else {
|
||||
z2 = true;
|
||||
}
|
||||
if (i2 > this.i / 2) {
|
||||
z2 = true;
|
||||
}
|
||||
f = 0.0f;
|
||||
}
|
||||
return i2;
|
||||
}
|
||||
|
||||
private final void c(ArrayRow arrayRow) {
|
||||
ArrayRow[] arrayRowArr = this.f;
|
||||
int i = this.j;
|
||||
if (arrayRowArr[i] != null) {
|
||||
this.l.a.a(arrayRowArr[i]);
|
||||
}
|
||||
ArrayRow[] arrayRowArr2 = this.f;
|
||||
int i2 = this.j;
|
||||
arrayRowArr2[i2] = arrayRow;
|
||||
SolverVariable solverVariable = arrayRow.a;
|
||||
solverVariable.c = i2;
|
||||
this.j = i2 + 1;
|
||||
solverVariable.c(arrayRow);
|
||||
}
|
||||
|
||||
public SolverVariable a() {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.n++;
|
||||
}
|
||||
if (this.i + 1 >= this.e) {
|
||||
i();
|
||||
}
|
||||
SolverVariable a = a(SolverVariable.Type.SLACK, (String) null);
|
||||
this.a++;
|
||||
this.i++;
|
||||
int i = this.a;
|
||||
a.b = i;
|
||||
this.l.c[i] = a;
|
||||
return a;
|
||||
}
|
||||
|
||||
public void c(SolverVariable solverVariable, SolverVariable solverVariable2, int i, int i2) {
|
||||
ArrayRow b = b();
|
||||
SolverVariable c = c();
|
||||
c.d = 0;
|
||||
b.b(solverVariable, solverVariable2, c, i);
|
||||
if (i2 != 6) {
|
||||
a(b, (int) (b.d.b(c) * (-1.0f)), i2);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
void a(ArrayRow arrayRow, int i, int i2) {
|
||||
arrayRow.a(a(i2, (String) null), i);
|
||||
}
|
||||
|
||||
public SolverVariable a(int i, String str) {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.l++;
|
||||
}
|
||||
if (this.i + 1 >= this.e) {
|
||||
i();
|
||||
}
|
||||
SolverVariable a = a(SolverVariable.Type.ERROR, str);
|
||||
this.a++;
|
||||
this.i++;
|
||||
int i2 = this.a;
|
||||
a.b = i2;
|
||||
a.d = i;
|
||||
this.l.c[i2] = a;
|
||||
this.c.a(a);
|
||||
return a;
|
||||
}
|
||||
|
||||
public void b(SolverVariable solverVariable, SolverVariable solverVariable2, int i, int i2) {
|
||||
ArrayRow b = b();
|
||||
SolverVariable c = c();
|
||||
c.d = 0;
|
||||
b.a(solverVariable, solverVariable2, c, i);
|
||||
if (i2 != 6) {
|
||||
a(b, (int) (b.d.b(c) * (-1.0f)), i2);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
private SolverVariable a(SolverVariable.Type type, String str) {
|
||||
SolverVariable a = this.l.b.a();
|
||||
if (a == null) {
|
||||
a = new SolverVariable(type, str);
|
||||
a.a(type, str);
|
||||
} else {
|
||||
a.a();
|
||||
a.a(type, str);
|
||||
}
|
||||
int i = this.n;
|
||||
int i2 = p;
|
||||
if (i >= i2) {
|
||||
p = i2 * 2;
|
||||
this.m = (SolverVariable[]) Arrays.copyOf(this.m, p);
|
||||
}
|
||||
SolverVariable[] solverVariableArr = this.m;
|
||||
int i3 = this.n;
|
||||
this.n = i3 + 1;
|
||||
solverVariableArr[i3] = a;
|
||||
return a;
|
||||
}
|
||||
|
||||
public void b(SolverVariable solverVariable, SolverVariable solverVariable2, boolean z) {
|
||||
ArrayRow b = b();
|
||||
SolverVariable c = c();
|
||||
c.d = 0;
|
||||
b.b(solverVariable, solverVariable2, c, 0);
|
||||
if (z) {
|
||||
a(b, (int) (b.d.b(c) * (-1.0f)), 1);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
void a(Row row) throws Exception {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.s++;
|
||||
metrics.t = Math.max(metrics.t, this.i);
|
||||
Metrics metrics2 = q;
|
||||
metrics2.u = Math.max(metrics2.u, this.j);
|
||||
}
|
||||
d((ArrayRow) row);
|
||||
b(row);
|
||||
a(row, false);
|
||||
g();
|
||||
}
|
||||
|
||||
public void a(ArrayRow arrayRow) {
|
||||
SolverVariable c;
|
||||
if (arrayRow == null) {
|
||||
return;
|
||||
}
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.f++;
|
||||
if (arrayRow.e) {
|
||||
metrics.g++;
|
||||
}
|
||||
}
|
||||
if (this.j + 1 >= this.k || this.i + 1 >= this.e) {
|
||||
i();
|
||||
}
|
||||
boolean z = false;
|
||||
if (!arrayRow.e) {
|
||||
d(arrayRow);
|
||||
if (arrayRow.c()) {
|
||||
return;
|
||||
}
|
||||
arrayRow.a();
|
||||
if (arrayRow.a(this)) {
|
||||
SolverVariable a = a();
|
||||
arrayRow.a = a;
|
||||
c(arrayRow);
|
||||
this.o.a(arrayRow);
|
||||
a(this.o, true);
|
||||
if (a.c == -1) {
|
||||
if (arrayRow.a == a && (c = arrayRow.c(a)) != null) {
|
||||
Metrics metrics2 = q;
|
||||
if (metrics2 != null) {
|
||||
metrics2.j++;
|
||||
}
|
||||
arrayRow.d(c);
|
||||
}
|
||||
if (!arrayRow.e) {
|
||||
arrayRow.a.c(arrayRow);
|
||||
}
|
||||
this.j--;
|
||||
}
|
||||
z = true;
|
||||
}
|
||||
if (!arrayRow.b()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
c(arrayRow);
|
||||
}
|
||||
|
||||
private final int a(Row row, boolean z) {
|
||||
Metrics metrics = q;
|
||||
if (metrics != null) {
|
||||
metrics.h++;
|
||||
}
|
||||
for (int i = 0; i < this.i; i++) {
|
||||
this.h[i] = false;
|
||||
}
|
||||
boolean z2 = false;
|
||||
int i2 = 0;
|
||||
while (!z2) {
|
||||
Metrics metrics2 = q;
|
||||
if (metrics2 != null) {
|
||||
metrics2.i++;
|
||||
}
|
||||
i2++;
|
||||
if (i2 >= this.i * 2) {
|
||||
return i2;
|
||||
}
|
||||
if (row.getKey() != null) {
|
||||
this.h[row.getKey().b] = true;
|
||||
}
|
||||
SolverVariable a = row.a(this, this.h);
|
||||
if (a != null) {
|
||||
boolean[] zArr = this.h;
|
||||
int i3 = a.b;
|
||||
if (zArr[i3]) {
|
||||
return i2;
|
||||
}
|
||||
zArr[i3] = true;
|
||||
}
|
||||
if (a != null) {
|
||||
int i4 = -1;
|
||||
float f = Float.MAX_VALUE;
|
||||
for (int i5 = 0; i5 < this.j; i5++) {
|
||||
ArrayRow arrayRow = this.f[i5];
|
||||
if (arrayRow.a.g != SolverVariable.Type.UNRESTRICTED && !arrayRow.e && arrayRow.b(a)) {
|
||||
float b = arrayRow.d.b(a);
|
||||
if (b < 0.0f) {
|
||||
float f2 = (-arrayRow.b) / b;
|
||||
if (f2 < f) {
|
||||
i4 = i5;
|
||||
f = f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (i4 > -1) {
|
||||
ArrayRow arrayRow2 = this.f[i4];
|
||||
arrayRow2.a.c = -1;
|
||||
Metrics metrics3 = q;
|
||||
if (metrics3 != null) {
|
||||
metrics3.j++;
|
||||
}
|
||||
arrayRow2.d(a);
|
||||
SolverVariable solverVariable = arrayRow2.a;
|
||||
solverVariable.c = i4;
|
||||
solverVariable.c(arrayRow2);
|
||||
}
|
||||
}
|
||||
z2 = true;
|
||||
}
|
||||
return i2;
|
||||
}
|
||||
|
||||
public void a(SolverVariable solverVariable, SolverVariable solverVariable2, boolean z) {
|
||||
ArrayRow b = b();
|
||||
SolverVariable c = c();
|
||||
c.d = 0;
|
||||
b.a(solverVariable, solverVariable2, c, 0);
|
||||
if (z) {
|
||||
a(b, (int) (b.d.b(c) * (-1.0f)), 1);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
public void a(SolverVariable solverVariable, SolverVariable solverVariable2, int i, float f, SolverVariable solverVariable3, SolverVariable solverVariable4, int i2, int i3) {
|
||||
ArrayRow b = b();
|
||||
b.a(solverVariable, solverVariable2, i, f, solverVariable3, solverVariable4, i2);
|
||||
if (i3 != 6) {
|
||||
b.a(this, i3);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
public void a(SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, SolverVariable solverVariable4, float f, int i) {
|
||||
ArrayRow b = b();
|
||||
b.a(solverVariable, solverVariable2, solverVariable3, solverVariable4, f);
|
||||
if (i != 6) {
|
||||
b.a(this, i);
|
||||
}
|
||||
a(b);
|
||||
}
|
||||
|
||||
public ArrayRow a(SolverVariable solverVariable, SolverVariable solverVariable2, int i, int i2) {
|
||||
ArrayRow b = b();
|
||||
b.a(solverVariable, solverVariable2, i);
|
||||
if (i2 != 6) {
|
||||
b.a(this, i2);
|
||||
}
|
||||
a(b);
|
||||
return b;
|
||||
}
|
||||
|
||||
public void a(SolverVariable solverVariable, int i) {
|
||||
int i2 = solverVariable.c;
|
||||
if (i2 != -1) {
|
||||
ArrayRow arrayRow = this.f[i2];
|
||||
if (arrayRow.e) {
|
||||
arrayRow.b = i;
|
||||
return;
|
||||
}
|
||||
if (arrayRow.d.a == 0) {
|
||||
arrayRow.e = true;
|
||||
arrayRow.b = i;
|
||||
return;
|
||||
} else {
|
||||
ArrayRow b = b();
|
||||
b.c(solverVariable, i);
|
||||
a(b);
|
||||
return;
|
||||
}
|
||||
}
|
||||
ArrayRow b2 = b();
|
||||
b2.b(solverVariable, i);
|
||||
a(b2);
|
||||
}
|
||||
|
||||
public static ArrayRow a(LinearSystem linearSystem, SolverVariable solverVariable, SolverVariable solverVariable2, SolverVariable solverVariable3, float f, boolean z) {
|
||||
ArrayRow b = linearSystem.b();
|
||||
if (z) {
|
||||
linearSystem.b(b);
|
||||
}
|
||||
b.a(solverVariable, solverVariable2, solverVariable3, f);
|
||||
return b;
|
||||
}
|
||||
|
||||
public void a(ConstraintWidget constraintWidget, ConstraintWidget constraintWidget2, float f, int i) {
|
||||
SolverVariable a = a(constraintWidget.a(ConstraintAnchor.Type.LEFT));
|
||||
SolverVariable a2 = a(constraintWidget.a(ConstraintAnchor.Type.TOP));
|
||||
SolverVariable a3 = a(constraintWidget.a(ConstraintAnchor.Type.RIGHT));
|
||||
SolverVariable a4 = a(constraintWidget.a(ConstraintAnchor.Type.BOTTOM));
|
||||
SolverVariable a5 = a(constraintWidget2.a(ConstraintAnchor.Type.LEFT));
|
||||
SolverVariable a6 = a(constraintWidget2.a(ConstraintAnchor.Type.TOP));
|
||||
SolverVariable a7 = a(constraintWidget2.a(ConstraintAnchor.Type.RIGHT));
|
||||
SolverVariable a8 = a(constraintWidget2.a(ConstraintAnchor.Type.BOTTOM));
|
||||
ArrayRow b = b();
|
||||
double d = f;
|
||||
double d2 = i;
|
||||
b.b(a2, a4, a6, a8, (float) (Math.sin(d) * d2));
|
||||
a(b);
|
||||
ArrayRow b2 = b();
|
||||
b2.b(a, a3, a5, a7, (float) (Math.cos(d) * d2));
|
||||
a(b2);
|
||||
}
|
||||
}
|
32
sources/androidx/constraintlayout/solver/Metrics.java
Normal file
32
sources/androidx/constraintlayout/solver/Metrics.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Metrics {
|
||||
public long A;
|
||||
public long a;
|
||||
public long b;
|
||||
public long c;
|
||||
public long d;
|
||||
public long e;
|
||||
public long f;
|
||||
public long g;
|
||||
public long h;
|
||||
public long i;
|
||||
public long j;
|
||||
public long k;
|
||||
public long l;
|
||||
public long m;
|
||||
public long n;
|
||||
public long o;
|
||||
public long p;
|
||||
public long q;
|
||||
public long r;
|
||||
public long s;
|
||||
public long t;
|
||||
public long u;
|
||||
public long v;
|
||||
public long w;
|
||||
public long x;
|
||||
public long y;
|
||||
public long z;
|
||||
}
|
10
sources/androidx/constraintlayout/solver/Pools$Pool.java
Normal file
10
sources/androidx/constraintlayout/solver/Pools$Pool.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
interface Pools$Pool<T> {
|
||||
T a();
|
||||
|
||||
void a(T[] tArr, int i);
|
||||
|
||||
boolean a(T t);
|
||||
}
|
100
sources/androidx/constraintlayout/solver/SolverVariable.java
Normal file
100
sources/androidx/constraintlayout/solver/SolverVariable.java
Normal file
@@ -0,0 +1,100 @@
|
||||
package androidx.constraintlayout.solver;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class SolverVariable {
|
||||
private static int k = 1;
|
||||
private String a;
|
||||
public float e;
|
||||
Type g;
|
||||
public int b = -1;
|
||||
int c = -1;
|
||||
public int d = 0;
|
||||
float[] f = new float[7];
|
||||
ArrayRow[] h = new ArrayRow[8];
|
||||
int i = 0;
|
||||
public int j = 0;
|
||||
|
||||
public enum Type {
|
||||
UNRESTRICTED,
|
||||
CONSTANT,
|
||||
SLACK,
|
||||
ERROR,
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
public SolverVariable(Type type, String str) {
|
||||
this.g = type;
|
||||
}
|
||||
|
||||
static void b() {
|
||||
k++;
|
||||
}
|
||||
|
||||
public final void a(ArrayRow arrayRow) {
|
||||
int i = 0;
|
||||
while (true) {
|
||||
int i2 = this.i;
|
||||
if (i >= i2) {
|
||||
ArrayRow[] arrayRowArr = this.h;
|
||||
if (i2 >= arrayRowArr.length) {
|
||||
this.h = (ArrayRow[]) Arrays.copyOf(arrayRowArr, arrayRowArr.length * 2);
|
||||
}
|
||||
ArrayRow[] arrayRowArr2 = this.h;
|
||||
int i3 = this.i;
|
||||
arrayRowArr2[i3] = arrayRow;
|
||||
this.i = i3 + 1;
|
||||
return;
|
||||
}
|
||||
if (this.h[i] == arrayRow) {
|
||||
return;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public final void c(ArrayRow arrayRow) {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i2 < i; i2++) {
|
||||
ArrayRow[] arrayRowArr = this.h;
|
||||
arrayRowArr[i2].d.a(arrayRowArr[i2], arrayRow, false);
|
||||
}
|
||||
this.i = 0;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "" + this.a;
|
||||
}
|
||||
|
||||
public final void b(ArrayRow arrayRow) {
|
||||
int i = this.i;
|
||||
for (int i2 = 0; i2 < i; i2++) {
|
||||
if (this.h[i2] == arrayRow) {
|
||||
for (int i3 = 0; i3 < (i - i2) - 1; i3++) {
|
||||
ArrayRow[] arrayRowArr = this.h;
|
||||
int i4 = i2 + i3;
|
||||
arrayRowArr[i4] = arrayRowArr[i4 + 1];
|
||||
}
|
||||
this.i--;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void a() {
|
||||
this.a = null;
|
||||
this.g = Type.UNKNOWN;
|
||||
this.d = 0;
|
||||
this.b = -1;
|
||||
this.c = -1;
|
||||
this.e = 0.0f;
|
||||
this.i = 0;
|
||||
this.j = 0;
|
||||
}
|
||||
|
||||
public void a(Type type, String str) {
|
||||
this.g = type;
|
||||
}
|
||||
}
|
309
sources/androidx/constraintlayout/solver/widgets/Analyzer.java
Normal file
309
sources/androidx/constraintlayout/solver/widgets/Analyzer.java
Normal file
@@ -0,0 +1,309 @@
|
||||
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;
|
||||
}
|
||||
}
|
226
sources/androidx/constraintlayout/solver/widgets/Barrier.java
Normal file
226
sources/androidx/constraintlayout/solver/widgets/Barrier.java
Normal file
@@ -0,0 +1,226 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Barrier extends Helper {
|
||||
private int m0 = 0;
|
||||
private ArrayList<ResolutionAnchor> n0 = new ArrayList<>(4);
|
||||
private boolean o0 = true;
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void F() {
|
||||
super.F();
|
||||
this.n0.clear();
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void G() {
|
||||
ResolutionAnchor d;
|
||||
float f;
|
||||
ResolutionAnchor resolutionAnchor;
|
||||
int i = this.m0;
|
||||
float f2 = Float.MAX_VALUE;
|
||||
if (i != 0) {
|
||||
if (i == 1) {
|
||||
d = this.u.d();
|
||||
} else if (i == 2) {
|
||||
d = this.t.d();
|
||||
} else if (i != 3) {
|
||||
return;
|
||||
} else {
|
||||
d = this.v.d();
|
||||
}
|
||||
f2 = 0.0f;
|
||||
} else {
|
||||
d = this.s.d();
|
||||
}
|
||||
int size = this.n0.size();
|
||||
ResolutionAnchor resolutionAnchor2 = null;
|
||||
for (int i2 = 0; i2 < size; i2++) {
|
||||
ResolutionAnchor resolutionAnchor3 = this.n0.get(i2);
|
||||
if (resolutionAnchor3.b != 1) {
|
||||
return;
|
||||
}
|
||||
int i3 = this.m0;
|
||||
if (i3 == 0 || i3 == 2) {
|
||||
f = resolutionAnchor3.g;
|
||||
if (f < f2) {
|
||||
resolutionAnchor = resolutionAnchor3.f;
|
||||
resolutionAnchor2 = resolutionAnchor;
|
||||
f2 = f;
|
||||
}
|
||||
} else {
|
||||
f = resolutionAnchor3.g;
|
||||
if (f > f2) {
|
||||
resolutionAnchor = resolutionAnchor3.f;
|
||||
resolutionAnchor2 = resolutionAnchor;
|
||||
f2 = f;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (LinearSystem.h() != null) {
|
||||
LinearSystem.h().y++;
|
||||
}
|
||||
d.f = resolutionAnchor2;
|
||||
d.g = f2;
|
||||
d.a();
|
||||
int i4 = this.m0;
|
||||
if (i4 == 0) {
|
||||
this.u.d().a(resolutionAnchor2, f2);
|
||||
return;
|
||||
}
|
||||
if (i4 == 1) {
|
||||
this.s.d().a(resolutionAnchor2, f2);
|
||||
} else if (i4 == 2) {
|
||||
this.v.d().a(resolutionAnchor2, f2);
|
||||
} else {
|
||||
if (i4 != 3) {
|
||||
return;
|
||||
}
|
||||
this.t.d().a(resolutionAnchor2, f2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(int i) {
|
||||
ResolutionAnchor d;
|
||||
ConstraintWidget constraintWidget = this.D;
|
||||
if (constraintWidget != null && ((ConstraintWidgetContainer) constraintWidget).t(2)) {
|
||||
int i2 = this.m0;
|
||||
if (i2 == 0) {
|
||||
d = this.s.d();
|
||||
} else if (i2 == 1) {
|
||||
d = this.u.d();
|
||||
} else if (i2 == 2) {
|
||||
d = this.t.d();
|
||||
} else if (i2 != 3) {
|
||||
return;
|
||||
} else {
|
||||
d = this.v.d();
|
||||
}
|
||||
d.b(5);
|
||||
int i3 = this.m0;
|
||||
if (i3 == 0 || i3 == 1) {
|
||||
this.t.d().a((ResolutionAnchor) null, 0.0f);
|
||||
this.v.d().a((ResolutionAnchor) null, 0.0f);
|
||||
} else {
|
||||
this.s.d().a((ResolutionAnchor) null, 0.0f);
|
||||
this.u.d().a((ResolutionAnchor) null, 0.0f);
|
||||
}
|
||||
this.n0.clear();
|
||||
for (int i4 = 0; i4 < this.l0; i4++) {
|
||||
ConstraintWidget constraintWidget2 = this.k0[i4];
|
||||
if (this.o0 || constraintWidget2.a()) {
|
||||
int i5 = this.m0;
|
||||
ResolutionAnchor d2 = i5 != 0 ? i5 != 1 ? i5 != 2 ? i5 != 3 ? null : constraintWidget2.v.d() : constraintWidget2.t.d() : constraintWidget2.u.d() : constraintWidget2.s.d();
|
||||
if (d2 != null) {
|
||||
this.n0.add(d2);
|
||||
d2.a(d);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public boolean a() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void c(boolean z) {
|
||||
this.o0 = z;
|
||||
}
|
||||
|
||||
public void t(int i) {
|
||||
this.m0 = i;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(LinearSystem linearSystem) {
|
||||
ConstraintAnchor[] constraintAnchorArr;
|
||||
boolean z;
|
||||
int i;
|
||||
int i2;
|
||||
ConstraintAnchor[] constraintAnchorArr2 = this.A;
|
||||
constraintAnchorArr2[0] = this.s;
|
||||
constraintAnchorArr2[2] = this.t;
|
||||
constraintAnchorArr2[1] = this.u;
|
||||
constraintAnchorArr2[3] = this.v;
|
||||
int i3 = 0;
|
||||
while (true) {
|
||||
constraintAnchorArr = this.A;
|
||||
if (i3 >= constraintAnchorArr.length) {
|
||||
break;
|
||||
}
|
||||
constraintAnchorArr[i3].i = linearSystem.a(constraintAnchorArr[i3]);
|
||||
i3++;
|
||||
}
|
||||
int i4 = this.m0;
|
||||
if (i4 < 0 || i4 >= 4) {
|
||||
return;
|
||||
}
|
||||
ConstraintAnchor constraintAnchor = constraintAnchorArr[i4];
|
||||
for (int i5 = 0; i5 < this.l0; i5++) {
|
||||
ConstraintWidget constraintWidget = this.k0[i5];
|
||||
if ((this.o0 || constraintWidget.a()) && ((((i = this.m0) == 0 || i == 1) && constraintWidget.j() == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) || (((i2 = this.m0) == 2 || i2 == 3) && constraintWidget.q() == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT))) {
|
||||
z = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
z = false;
|
||||
int i6 = this.m0;
|
||||
if (i6 == 0 || i6 == 1 ? k().j() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT : k().q() == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) {
|
||||
z = false;
|
||||
}
|
||||
for (int i7 = 0; i7 < this.l0; i7++) {
|
||||
ConstraintWidget constraintWidget2 = this.k0[i7];
|
||||
if (this.o0 || constraintWidget2.a()) {
|
||||
SolverVariable a = linearSystem.a(constraintWidget2.A[this.m0]);
|
||||
ConstraintAnchor[] constraintAnchorArr3 = constraintWidget2.A;
|
||||
int i8 = this.m0;
|
||||
constraintAnchorArr3[i8].i = a;
|
||||
if (i8 != 0 && i8 != 2) {
|
||||
linearSystem.a(constraintAnchor.i, a, z);
|
||||
} else {
|
||||
linearSystem.b(constraintAnchor.i, a, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
int i9 = this.m0;
|
||||
if (i9 == 0) {
|
||||
linearSystem.a(this.u.i, this.s.i, 0, 6);
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
linearSystem.a(this.s.i, this.D.u.i, 0, 5);
|
||||
return;
|
||||
}
|
||||
if (i9 == 1) {
|
||||
linearSystem.a(this.s.i, this.u.i, 0, 6);
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
linearSystem.a(this.s.i, this.D.s.i, 0, 5);
|
||||
return;
|
||||
}
|
||||
if (i9 == 2) {
|
||||
linearSystem.a(this.v.i, this.t.i, 0, 6);
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
linearSystem.a(this.t.i, this.D.v.i, 0, 5);
|
||||
return;
|
||||
}
|
||||
if (i9 == 3) {
|
||||
linearSystem.a(this.t.i, this.v.i, 0, 6);
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
linearSystem.a(this.t.i, this.D.t.i, 0, 5);
|
||||
}
|
||||
}
|
||||
}
|
72
sources/androidx/constraintlayout/solver/widgets/Chain.java
Normal file
72
sources/androidx/constraintlayout/solver/widgets/Chain.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
class Chain {
|
||||
static void a(ConstraintWidgetContainer constraintWidgetContainer, LinearSystem linearSystem, int i) {
|
||||
int i2;
|
||||
int i3;
|
||||
ChainHead[] chainHeadArr;
|
||||
if (i == 0) {
|
||||
int i4 = constraintWidgetContainer.s0;
|
||||
chainHeadArr = constraintWidgetContainer.v0;
|
||||
i3 = i4;
|
||||
i2 = 0;
|
||||
} else {
|
||||
i2 = 2;
|
||||
i3 = constraintWidgetContainer.t0;
|
||||
chainHeadArr = constraintWidgetContainer.u0;
|
||||
}
|
||||
for (int i5 = 0; i5 < i3; i5++) {
|
||||
ChainHead chainHead = chainHeadArr[i5];
|
||||
chainHead.a();
|
||||
if (!constraintWidgetContainer.t(4)) {
|
||||
a(constraintWidgetContainer, linearSystem, i, i2, chainHead);
|
||||
} else if (!Optimizer.a(constraintWidgetContainer, linearSystem, i, i2, chainHead)) {
|
||||
a(constraintWidgetContainer, linearSystem, i, i2, chainHead);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:13:0x0035, code lost:
|
||||
|
||||
if (r2.e0 == 2) goto L29;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:14:0x004c, code lost:
|
||||
|
||||
r5 = false;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:294:0x004a, code lost:
|
||||
|
||||
r5 = true;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:304:0x0048, code lost:
|
||||
|
||||
if (r2.f0 == 2) goto L29;
|
||||
*/
|
||||
/* JADX WARN: Removed duplicated region for block: B:128:0x04ae */
|
||||
/* JADX WARN: Removed duplicated region for block: B:131:0x04b7 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:133:0x04be */
|
||||
/* JADX WARN: Removed duplicated region for block: B:139:0x04ce */
|
||||
/* JADX WARN: Removed duplicated region for block: B:149:0x04ba */
|
||||
/* JADX WARN: Removed duplicated region for block: B:150:0x04b1 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:174:0x0366 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:177:0x0367 A[SYNTHETIC] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:230:0x0386 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:283:0x0454 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:291:0x0489 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:71:0x014f */
|
||||
/* JADX WARN: Removed duplicated region for block: B:83:0x0188 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
static void a(androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer r36, androidx.constraintlayout.solver.LinearSystem r37, int r38, int r39, androidx.constraintlayout.solver.widgets.ChainHead r40) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 1279
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.Chain.a(androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer, androidx.constraintlayout.solver.LinearSystem, int, int, androidx.constraintlayout.solver.widgets.ChainHead):void");
|
||||
}
|
||||
}
|
131
sources/androidx/constraintlayout/solver/widgets/ChainHead.java
Normal file
131
sources/androidx/constraintlayout/solver/widgets/ChainHead.java
Normal file
@@ -0,0 +1,131 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ChainHead {
|
||||
protected ConstraintWidget a;
|
||||
protected ConstraintWidget b;
|
||||
protected ConstraintWidget c;
|
||||
protected ConstraintWidget d;
|
||||
protected ConstraintWidget e;
|
||||
protected ConstraintWidget f;
|
||||
protected ConstraintWidget g;
|
||||
protected ArrayList<ConstraintWidget> h;
|
||||
protected int i;
|
||||
protected int j;
|
||||
protected float k = 0.0f;
|
||||
private int l;
|
||||
private boolean m;
|
||||
protected boolean n;
|
||||
protected boolean o;
|
||||
protected boolean p;
|
||||
private boolean q;
|
||||
|
||||
public ChainHead(ConstraintWidget constraintWidget, int i, boolean z) {
|
||||
this.m = false;
|
||||
this.a = constraintWidget;
|
||||
this.l = i;
|
||||
this.m = z;
|
||||
}
|
||||
|
||||
private static boolean a(ConstraintWidget constraintWidget, int i) {
|
||||
if (constraintWidget.r() != 8 && constraintWidget.C[i] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
|
||||
int[] iArr = constraintWidget.g;
|
||||
if (iArr[i] == 0 || iArr[i] == 3) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void b() {
|
||||
int i = this.l * 2;
|
||||
boolean z = false;
|
||||
ConstraintWidget constraintWidget = this.a;
|
||||
ConstraintWidget constraintWidget2 = constraintWidget;
|
||||
boolean z2 = false;
|
||||
while (!z2) {
|
||||
this.i++;
|
||||
ConstraintWidget[] constraintWidgetArr = constraintWidget.i0;
|
||||
int i2 = this.l;
|
||||
ConstraintWidget constraintWidget3 = null;
|
||||
constraintWidgetArr[i2] = null;
|
||||
constraintWidget.h0[i2] = null;
|
||||
if (constraintWidget.r() != 8) {
|
||||
if (this.b == null) {
|
||||
this.b = constraintWidget;
|
||||
}
|
||||
this.d = constraintWidget;
|
||||
ConstraintWidget.DimensionBehaviour[] dimensionBehaviourArr = constraintWidget.C;
|
||||
int i3 = this.l;
|
||||
if (dimensionBehaviourArr[i3] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
|
||||
int[] iArr = constraintWidget.g;
|
||||
if (iArr[i3] == 0 || iArr[i3] == 3 || iArr[i3] == 2) {
|
||||
this.j++;
|
||||
float[] fArr = constraintWidget.g0;
|
||||
int i4 = this.l;
|
||||
float f = fArr[i4];
|
||||
if (f > 0.0f) {
|
||||
this.k += fArr[i4];
|
||||
}
|
||||
if (a(constraintWidget, this.l)) {
|
||||
if (f < 0.0f) {
|
||||
this.n = true;
|
||||
} else {
|
||||
this.o = true;
|
||||
}
|
||||
if (this.h == null) {
|
||||
this.h = new ArrayList<>();
|
||||
}
|
||||
this.h.add(constraintWidget);
|
||||
}
|
||||
if (this.f == null) {
|
||||
this.f = constraintWidget;
|
||||
}
|
||||
ConstraintWidget constraintWidget4 = this.g;
|
||||
if (constraintWidget4 != null) {
|
||||
constraintWidget4.h0[this.l] = constraintWidget;
|
||||
}
|
||||
this.g = constraintWidget;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (constraintWidget2 != constraintWidget) {
|
||||
constraintWidget2.i0[this.l] = constraintWidget;
|
||||
}
|
||||
ConstraintAnchor constraintAnchor = constraintWidget.A[i + 1].d;
|
||||
if (constraintAnchor != null) {
|
||||
ConstraintWidget constraintWidget5 = constraintAnchor.b;
|
||||
ConstraintAnchor[] constraintAnchorArr = constraintWidget5.A;
|
||||
if (constraintAnchorArr[i].d != null && constraintAnchorArr[i].d.b == constraintWidget) {
|
||||
constraintWidget3 = constraintWidget5;
|
||||
}
|
||||
}
|
||||
if (constraintWidget3 == null) {
|
||||
constraintWidget3 = constraintWidget;
|
||||
z2 = true;
|
||||
}
|
||||
constraintWidget2 = constraintWidget;
|
||||
constraintWidget = constraintWidget3;
|
||||
}
|
||||
this.c = constraintWidget;
|
||||
if (this.l == 0 && this.m) {
|
||||
this.e = this.c;
|
||||
} else {
|
||||
this.e = this.a;
|
||||
}
|
||||
if (this.o && this.n) {
|
||||
z = true;
|
||||
}
|
||||
this.p = z;
|
||||
}
|
||||
|
||||
public void a() {
|
||||
if (!this.q) {
|
||||
b();
|
||||
}
|
||||
this.q = true;
|
||||
}
|
||||
}
|
@@ -0,0 +1,212 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.Cache;
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ConstraintAnchor {
|
||||
final ConstraintWidget b;
|
||||
final Type c;
|
||||
ConstraintAnchor d;
|
||||
private int h;
|
||||
SolverVariable i;
|
||||
private ResolutionAnchor a = new ResolutionAnchor(this);
|
||||
public int e = 0;
|
||||
int f = -1;
|
||||
private Strength g = Strength.NONE;
|
||||
|
||||
/* renamed from: androidx.constraintlayout.solver.widgets.ConstraintAnchor$1, reason: invalid class name */
|
||||
static /* synthetic */ class AnonymousClass1 {
|
||||
static final /* synthetic */ int[] a = new int[Type.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
a[Type.CENTER.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused) {
|
||||
}
|
||||
try {
|
||||
a[Type.LEFT.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused2) {
|
||||
}
|
||||
try {
|
||||
a[Type.RIGHT.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused3) {
|
||||
}
|
||||
try {
|
||||
a[Type.TOP.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused4) {
|
||||
}
|
||||
try {
|
||||
a[Type.BOTTOM.ordinal()] = 5;
|
||||
} catch (NoSuchFieldError unused5) {
|
||||
}
|
||||
try {
|
||||
a[Type.BASELINE.ordinal()] = 6;
|
||||
} catch (NoSuchFieldError unused6) {
|
||||
}
|
||||
try {
|
||||
a[Type.CENTER_X.ordinal()] = 7;
|
||||
} catch (NoSuchFieldError unused7) {
|
||||
}
|
||||
try {
|
||||
a[Type.CENTER_Y.ordinal()] = 8;
|
||||
} catch (NoSuchFieldError unused8) {
|
||||
}
|
||||
try {
|
||||
a[Type.NONE.ordinal()] = 9;
|
||||
} catch (NoSuchFieldError unused9) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum ConnectionType {
|
||||
RELAXED,
|
||||
STRICT
|
||||
}
|
||||
|
||||
public enum Strength {
|
||||
NONE,
|
||||
STRONG,
|
||||
WEAK
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
NONE,
|
||||
LEFT,
|
||||
TOP,
|
||||
RIGHT,
|
||||
BOTTOM,
|
||||
BASELINE,
|
||||
CENTER,
|
||||
CENTER_X,
|
||||
CENTER_Y
|
||||
}
|
||||
|
||||
public ConstraintAnchor(ConstraintWidget constraintWidget, Type type) {
|
||||
ConnectionType connectionType = ConnectionType.RELAXED;
|
||||
this.h = 0;
|
||||
this.b = constraintWidget;
|
||||
this.c = type;
|
||||
}
|
||||
|
||||
public void a(Cache cache) {
|
||||
SolverVariable solverVariable = this.i;
|
||||
if (solverVariable == null) {
|
||||
this.i = new SolverVariable(SolverVariable.Type.UNRESTRICTED, null);
|
||||
} else {
|
||||
solverVariable.a();
|
||||
}
|
||||
}
|
||||
|
||||
public int b() {
|
||||
ConstraintAnchor constraintAnchor;
|
||||
if (this.b.r() == 8) {
|
||||
return 0;
|
||||
}
|
||||
return (this.f <= -1 || (constraintAnchor = this.d) == null || constraintAnchor.b.r() != 8) ? this.e : this.f;
|
||||
}
|
||||
|
||||
public ConstraintWidget c() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public ResolutionAnchor d() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public SolverVariable e() {
|
||||
return this.i;
|
||||
}
|
||||
|
||||
public Strength f() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public ConstraintAnchor g() {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public Type h() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public boolean i() {
|
||||
return this.d != null;
|
||||
}
|
||||
|
||||
public void j() {
|
||||
this.d = null;
|
||||
this.e = 0;
|
||||
this.f = -1;
|
||||
this.g = Strength.STRONG;
|
||||
this.h = 0;
|
||||
ConnectionType connectionType = ConnectionType.RELAXED;
|
||||
this.a.d();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.b.f() + ":" + this.c.toString();
|
||||
}
|
||||
|
||||
public int a() {
|
||||
return this.h;
|
||||
}
|
||||
|
||||
public boolean a(ConstraintAnchor constraintAnchor, int i, Strength strength, int i2) {
|
||||
return a(constraintAnchor, i, -1, strength, i2, false);
|
||||
}
|
||||
|
||||
public boolean a(ConstraintAnchor constraintAnchor, int i, int i2, Strength strength, int i3, boolean z) {
|
||||
if (constraintAnchor == null) {
|
||||
this.d = null;
|
||||
this.e = 0;
|
||||
this.f = -1;
|
||||
this.g = Strength.NONE;
|
||||
this.h = 2;
|
||||
return true;
|
||||
}
|
||||
if (!z && !a(constraintAnchor)) {
|
||||
return false;
|
||||
}
|
||||
this.d = constraintAnchor;
|
||||
if (i > 0) {
|
||||
this.e = i;
|
||||
} else {
|
||||
this.e = 0;
|
||||
}
|
||||
this.f = i2;
|
||||
this.g = strength;
|
||||
this.h = i3;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean a(ConstraintAnchor constraintAnchor) {
|
||||
if (constraintAnchor == null) {
|
||||
return false;
|
||||
}
|
||||
Type h = constraintAnchor.h();
|
||||
Type type = this.c;
|
||||
if (h == type) {
|
||||
return type != Type.BASELINE || (constraintAnchor.c().x() && c().x());
|
||||
}
|
||||
switch (AnonymousClass1.a[type.ordinal()]) {
|
||||
case 1:
|
||||
return (h == Type.BASELINE || h == Type.CENTER_X || h == Type.CENTER_Y) ? false : true;
|
||||
case 2:
|
||||
case 3:
|
||||
boolean z = h == Type.LEFT || h == Type.RIGHT;
|
||||
return constraintAnchor.c() instanceof Guideline ? z || h == Type.CENTER_X : z;
|
||||
case 4:
|
||||
case 5:
|
||||
boolean z2 = h == Type.TOP || h == Type.BOTTOM;
|
||||
return constraintAnchor.c() instanceof Guideline ? z2 || h == Type.CENTER_Y : z2;
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
return false;
|
||||
default:
|
||||
throw new AssertionError(this.c.name());
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public enum ConstraintHorizontalLayout$ContentAlignment {
|
||||
BEGIN,
|
||||
MIDDLE,
|
||||
END,
|
||||
TOP,
|
||||
VERTICAL_MIDDLE,
|
||||
BOTTOM,
|
||||
LEFT,
|
||||
RIGHT
|
||||
}
|
@@ -0,0 +1,972 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.Cache;
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ConstraintWidget {
|
||||
public static float j0 = 0.5f;
|
||||
protected DimensionBehaviour[] C;
|
||||
ConstraintWidget D;
|
||||
int E;
|
||||
int F;
|
||||
protected float G;
|
||||
protected int H;
|
||||
protected int I;
|
||||
protected int J;
|
||||
int K;
|
||||
int L;
|
||||
private int M;
|
||||
private int N;
|
||||
protected int O;
|
||||
protected int P;
|
||||
int Q;
|
||||
protected int R;
|
||||
protected int S;
|
||||
private int T;
|
||||
private int U;
|
||||
float V;
|
||||
float W;
|
||||
private Object X;
|
||||
private int Y;
|
||||
private String Z;
|
||||
private String a0;
|
||||
boolean b0;
|
||||
ResolutionDimension c;
|
||||
boolean c0;
|
||||
ResolutionDimension d;
|
||||
boolean d0;
|
||||
int e0;
|
||||
int f0;
|
||||
float[] g0;
|
||||
protected ConstraintWidget[] h0;
|
||||
protected ConstraintWidget[] i0;
|
||||
public int a = -1;
|
||||
public int b = -1;
|
||||
int e = 0;
|
||||
int f = 0;
|
||||
int[] g = new int[2];
|
||||
int h = 0;
|
||||
int i = 0;
|
||||
float j = 1.0f;
|
||||
int k = 0;
|
||||
int l = 0;
|
||||
float m = 1.0f;
|
||||
int n = -1;
|
||||
float o = 1.0f;
|
||||
ConstraintWidgetGroup p = null;
|
||||
private int[] q = {Integer.MAX_VALUE, Integer.MAX_VALUE};
|
||||
private float r = 0.0f;
|
||||
ConstraintAnchor s = new ConstraintAnchor(this, ConstraintAnchor.Type.LEFT);
|
||||
ConstraintAnchor t = new ConstraintAnchor(this, ConstraintAnchor.Type.TOP);
|
||||
ConstraintAnchor u = new ConstraintAnchor(this, ConstraintAnchor.Type.RIGHT);
|
||||
ConstraintAnchor v = new ConstraintAnchor(this, ConstraintAnchor.Type.BOTTOM);
|
||||
ConstraintAnchor w = new ConstraintAnchor(this, ConstraintAnchor.Type.BASELINE);
|
||||
ConstraintAnchor x = new ConstraintAnchor(this, ConstraintAnchor.Type.CENTER_X);
|
||||
ConstraintAnchor y = new ConstraintAnchor(this, ConstraintAnchor.Type.CENTER_Y);
|
||||
ConstraintAnchor z = new ConstraintAnchor(this, ConstraintAnchor.Type.CENTER);
|
||||
protected ConstraintAnchor[] A = {this.s, this.u, this.t, this.v, this.w, this.z};
|
||||
protected ArrayList<ConstraintAnchor> B = new ArrayList<>();
|
||||
|
||||
/* renamed from: androidx.constraintlayout.solver.widgets.ConstraintWidget$1, reason: invalid class name */
|
||||
static /* synthetic */ class AnonymousClass1 {
|
||||
static final /* synthetic */ int[] a;
|
||||
static final /* synthetic */ int[] b = new int[DimensionBehaviour.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
b[DimensionBehaviour.FIXED.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused) {
|
||||
}
|
||||
try {
|
||||
b[DimensionBehaviour.WRAP_CONTENT.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused2) {
|
||||
}
|
||||
try {
|
||||
b[DimensionBehaviour.MATCH_PARENT.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused3) {
|
||||
}
|
||||
try {
|
||||
b[DimensionBehaviour.MATCH_CONSTRAINT.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused4) {
|
||||
}
|
||||
a = new int[ConstraintAnchor.Type.values().length];
|
||||
try {
|
||||
a[ConstraintAnchor.Type.LEFT.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused5) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.TOP.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused6) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.RIGHT.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused7) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.BOTTOM.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused8) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.BASELINE.ordinal()] = 5;
|
||||
} catch (NoSuchFieldError unused9) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER.ordinal()] = 6;
|
||||
} catch (NoSuchFieldError unused10) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER_X.ordinal()] = 7;
|
||||
} catch (NoSuchFieldError unused11) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER_Y.ordinal()] = 8;
|
||||
} catch (NoSuchFieldError unused12) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.NONE.ordinal()] = 9;
|
||||
} catch (NoSuchFieldError unused13) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum ContentAlignment {
|
||||
BEGIN,
|
||||
MIDDLE,
|
||||
END,
|
||||
TOP,
|
||||
VERTICAL_MIDDLE,
|
||||
BOTTOM,
|
||||
LEFT,
|
||||
RIGHT
|
||||
}
|
||||
|
||||
public enum DimensionBehaviour {
|
||||
FIXED,
|
||||
WRAP_CONTENT,
|
||||
MATCH_CONSTRAINT,
|
||||
MATCH_PARENT
|
||||
}
|
||||
|
||||
public ConstraintWidget() {
|
||||
DimensionBehaviour dimensionBehaviour = DimensionBehaviour.FIXED;
|
||||
this.C = new DimensionBehaviour[]{dimensionBehaviour, dimensionBehaviour};
|
||||
this.D = null;
|
||||
this.E = 0;
|
||||
this.F = 0;
|
||||
this.G = 0.0f;
|
||||
this.H = -1;
|
||||
this.I = 0;
|
||||
this.J = 0;
|
||||
this.K = 0;
|
||||
this.L = 0;
|
||||
this.M = 0;
|
||||
this.N = 0;
|
||||
this.O = 0;
|
||||
this.P = 0;
|
||||
this.Q = 0;
|
||||
float f = j0;
|
||||
this.V = f;
|
||||
this.W = f;
|
||||
this.Y = 0;
|
||||
this.Z = null;
|
||||
this.a0 = null;
|
||||
this.b0 = false;
|
||||
this.c0 = false;
|
||||
this.d0 = false;
|
||||
this.e0 = 0;
|
||||
this.f0 = 0;
|
||||
this.g0 = new float[]{-1.0f, -1.0f};
|
||||
this.h0 = new ConstraintWidget[]{null, null};
|
||||
this.i0 = new ConstraintWidget[]{null, null};
|
||||
J();
|
||||
}
|
||||
|
||||
private void J() {
|
||||
this.B.add(this.s);
|
||||
this.B.add(this.t);
|
||||
this.B.add(this.u);
|
||||
this.B.add(this.v);
|
||||
this.B.add(this.x);
|
||||
this.B.add(this.y);
|
||||
this.B.add(this.z);
|
||||
this.B.add(this.w);
|
||||
}
|
||||
|
||||
public boolean A() {
|
||||
ConstraintAnchor constraintAnchor = this.t;
|
||||
ConstraintAnchor constraintAnchor2 = constraintAnchor.d;
|
||||
if (constraintAnchor2 != null && constraintAnchor2.d == constraintAnchor) {
|
||||
return true;
|
||||
}
|
||||
ConstraintAnchor constraintAnchor3 = this.v;
|
||||
ConstraintAnchor constraintAnchor4 = constraintAnchor3.d;
|
||||
return constraintAnchor4 != null && constraintAnchor4.d == constraintAnchor3;
|
||||
}
|
||||
|
||||
public boolean B() {
|
||||
return this.f == 0 && this.G == 0.0f && this.k == 0 && this.l == 0 && this.C[1] == DimensionBehaviour.MATCH_CONSTRAINT;
|
||||
}
|
||||
|
||||
public boolean C() {
|
||||
return this.e == 0 && this.G == 0.0f && this.h == 0 && this.i == 0 && this.C[0] == DimensionBehaviour.MATCH_CONSTRAINT;
|
||||
}
|
||||
|
||||
public void D() {
|
||||
this.s.j();
|
||||
this.t.j();
|
||||
this.u.j();
|
||||
this.v.j();
|
||||
this.w.j();
|
||||
this.x.j();
|
||||
this.y.j();
|
||||
this.z.j();
|
||||
this.D = null;
|
||||
this.r = 0.0f;
|
||||
this.E = 0;
|
||||
this.F = 0;
|
||||
this.G = 0.0f;
|
||||
this.H = -1;
|
||||
this.I = 0;
|
||||
this.J = 0;
|
||||
this.M = 0;
|
||||
this.N = 0;
|
||||
this.O = 0;
|
||||
this.P = 0;
|
||||
this.Q = 0;
|
||||
this.R = 0;
|
||||
this.S = 0;
|
||||
this.T = 0;
|
||||
this.U = 0;
|
||||
float f = j0;
|
||||
this.V = f;
|
||||
this.W = f;
|
||||
DimensionBehaviour[] dimensionBehaviourArr = this.C;
|
||||
DimensionBehaviour dimensionBehaviour = DimensionBehaviour.FIXED;
|
||||
dimensionBehaviourArr[0] = dimensionBehaviour;
|
||||
dimensionBehaviourArr[1] = dimensionBehaviour;
|
||||
this.X = null;
|
||||
this.Y = 0;
|
||||
this.a0 = null;
|
||||
this.e0 = 0;
|
||||
this.f0 = 0;
|
||||
float[] fArr = this.g0;
|
||||
fArr[0] = -1.0f;
|
||||
fArr[1] = -1.0f;
|
||||
this.a = -1;
|
||||
this.b = -1;
|
||||
int[] iArr = this.q;
|
||||
iArr[0] = Integer.MAX_VALUE;
|
||||
iArr[1] = Integer.MAX_VALUE;
|
||||
this.e = 0;
|
||||
this.f = 0;
|
||||
this.j = 1.0f;
|
||||
this.m = 1.0f;
|
||||
this.i = Integer.MAX_VALUE;
|
||||
this.l = Integer.MAX_VALUE;
|
||||
this.h = 0;
|
||||
this.k = 0;
|
||||
this.n = -1;
|
||||
this.o = 1.0f;
|
||||
ResolutionDimension resolutionDimension = this.c;
|
||||
if (resolutionDimension != null) {
|
||||
resolutionDimension.d();
|
||||
}
|
||||
ResolutionDimension resolutionDimension2 = this.d;
|
||||
if (resolutionDimension2 != null) {
|
||||
resolutionDimension2.d();
|
||||
}
|
||||
this.p = null;
|
||||
this.b0 = false;
|
||||
this.c0 = false;
|
||||
this.d0 = false;
|
||||
}
|
||||
|
||||
public void E() {
|
||||
ConstraintWidget k = k();
|
||||
if (k != null && (k instanceof ConstraintWidgetContainer) && ((ConstraintWidgetContainer) k()).N()) {
|
||||
return;
|
||||
}
|
||||
int size = this.B.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.B.get(i).j();
|
||||
}
|
||||
}
|
||||
|
||||
public void F() {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
this.A[i].d().d();
|
||||
}
|
||||
}
|
||||
|
||||
public void G() {
|
||||
}
|
||||
|
||||
public void H() {
|
||||
int i = this.I;
|
||||
int i2 = this.J;
|
||||
this.M = i;
|
||||
this.N = i2;
|
||||
}
|
||||
|
||||
public void I() {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
this.A[i].d().g();
|
||||
}
|
||||
}
|
||||
|
||||
public void a(int i) {
|
||||
Optimizer.a(i, this);
|
||||
}
|
||||
|
||||
public void a(boolean z) {
|
||||
}
|
||||
|
||||
public void b(LinearSystem linearSystem) {
|
||||
linearSystem.a(this.s);
|
||||
linearSystem.a(this.t);
|
||||
linearSystem.a(this.u);
|
||||
linearSystem.a(this.v);
|
||||
if (this.Q > 0) {
|
||||
linearSystem.a(this.w);
|
||||
}
|
||||
}
|
||||
|
||||
public void b(boolean z) {
|
||||
}
|
||||
|
||||
public int c() {
|
||||
return this.Q;
|
||||
}
|
||||
|
||||
public int d(int i) {
|
||||
if (i == 0) {
|
||||
return s();
|
||||
}
|
||||
if (i == 1) {
|
||||
return i();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public Object e() {
|
||||
return this.X;
|
||||
}
|
||||
|
||||
public String f() {
|
||||
return this.Z;
|
||||
}
|
||||
|
||||
public int g() {
|
||||
return this.M + this.O;
|
||||
}
|
||||
|
||||
public int h() {
|
||||
return this.N + this.P;
|
||||
}
|
||||
|
||||
public void i(int i) {
|
||||
this.q[1] = i;
|
||||
}
|
||||
|
||||
public void j(int i) {
|
||||
this.q[0] = i;
|
||||
}
|
||||
|
||||
public ConstraintWidget k() {
|
||||
return this.D;
|
||||
}
|
||||
|
||||
public ResolutionDimension l() {
|
||||
if (this.d == null) {
|
||||
this.d = new ResolutionDimension();
|
||||
}
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public ResolutionDimension m() {
|
||||
if (this.c == null) {
|
||||
this.c = new ResolutionDimension();
|
||||
}
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public void n(int i) {
|
||||
this.Y = i;
|
||||
}
|
||||
|
||||
protected int o() {
|
||||
return this.I + this.O;
|
||||
}
|
||||
|
||||
protected int p() {
|
||||
return this.J + this.P;
|
||||
}
|
||||
|
||||
public void q(int i) {
|
||||
this.T = i;
|
||||
}
|
||||
|
||||
public int r() {
|
||||
return this.Y;
|
||||
}
|
||||
|
||||
public int s() {
|
||||
if (this.Y == 8) {
|
||||
return 0;
|
||||
}
|
||||
return this.E;
|
||||
}
|
||||
|
||||
public int t() {
|
||||
return this.U;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
String str;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String str2 = "";
|
||||
if (this.a0 != null) {
|
||||
str = "type: " + this.a0 + " ";
|
||||
} else {
|
||||
str = "";
|
||||
}
|
||||
sb.append(str);
|
||||
if (this.Z != null) {
|
||||
str2 = "id: " + this.Z + " ";
|
||||
}
|
||||
sb.append(str2);
|
||||
sb.append("(");
|
||||
sb.append(this.I);
|
||||
sb.append(", ");
|
||||
sb.append(this.J);
|
||||
sb.append(") - (");
|
||||
sb.append(this.E);
|
||||
sb.append(" x ");
|
||||
sb.append(this.F);
|
||||
sb.append(") wrap: (");
|
||||
sb.append(this.T);
|
||||
sb.append(" x ");
|
||||
sb.append(this.U);
|
||||
sb.append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public int u() {
|
||||
return this.T;
|
||||
}
|
||||
|
||||
public int v() {
|
||||
return this.I;
|
||||
}
|
||||
|
||||
public int w() {
|
||||
return this.J;
|
||||
}
|
||||
|
||||
public boolean x() {
|
||||
return this.Q > 0;
|
||||
}
|
||||
|
||||
public boolean y() {
|
||||
return this.s.d().b == 1 && this.u.d().b == 1 && this.t.d().b == 1 && this.v.d().b == 1;
|
||||
}
|
||||
|
||||
public boolean z() {
|
||||
ConstraintAnchor constraintAnchor = this.s;
|
||||
ConstraintAnchor constraintAnchor2 = constraintAnchor.d;
|
||||
if (constraintAnchor2 != null && constraintAnchor2.d == constraintAnchor) {
|
||||
return true;
|
||||
}
|
||||
ConstraintAnchor constraintAnchor3 = this.u;
|
||||
ConstraintAnchor constraintAnchor4 = constraintAnchor3.d;
|
||||
return constraintAnchor4 != null && constraintAnchor4.d == constraintAnchor3;
|
||||
}
|
||||
|
||||
private boolean t(int i) {
|
||||
int i2 = i * 2;
|
||||
ConstraintAnchor[] constraintAnchorArr = this.A;
|
||||
if (constraintAnchorArr[i2].d != null && constraintAnchorArr[i2].d.d != constraintAnchorArr[i2]) {
|
||||
int i3 = i2 + 1;
|
||||
if (constraintAnchorArr[i3].d != null && constraintAnchorArr[i3].d.d == constraintAnchorArr[i3]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void a(Cache cache) {
|
||||
this.s.a(cache);
|
||||
this.t.a(cache);
|
||||
this.u.a(cache);
|
||||
this.v.a(cache);
|
||||
this.w.a(cache);
|
||||
this.z.a(cache);
|
||||
this.x.a(cache);
|
||||
this.y.a(cache);
|
||||
}
|
||||
|
||||
public void c(int i, int i2) {
|
||||
this.I = i;
|
||||
this.J = i2;
|
||||
}
|
||||
|
||||
public void e(int i, int i2) {
|
||||
this.J = i;
|
||||
this.F = i2 - i;
|
||||
int i3 = this.F;
|
||||
int i4 = this.S;
|
||||
if (i3 < i4) {
|
||||
this.F = i4;
|
||||
}
|
||||
}
|
||||
|
||||
public void f(int i) {
|
||||
this.Q = i;
|
||||
}
|
||||
|
||||
public void g(int i) {
|
||||
this.F = i;
|
||||
int i2 = this.F;
|
||||
int i3 = this.S;
|
||||
if (i2 < i3) {
|
||||
this.F = i3;
|
||||
}
|
||||
}
|
||||
|
||||
public void h(int i) {
|
||||
this.e0 = i;
|
||||
}
|
||||
|
||||
public int i() {
|
||||
if (this.Y == 8) {
|
||||
return 0;
|
||||
}
|
||||
return this.F;
|
||||
}
|
||||
|
||||
public DimensionBehaviour j() {
|
||||
return this.C[0];
|
||||
}
|
||||
|
||||
public void k(int i) {
|
||||
if (i < 0) {
|
||||
this.S = 0;
|
||||
} else {
|
||||
this.S = i;
|
||||
}
|
||||
}
|
||||
|
||||
public int n() {
|
||||
return v() + this.E;
|
||||
}
|
||||
|
||||
public void o(int i) {
|
||||
this.E = i;
|
||||
int i2 = this.E;
|
||||
int i3 = this.R;
|
||||
if (i2 < i3) {
|
||||
this.E = i3;
|
||||
}
|
||||
}
|
||||
|
||||
public void p(int i) {
|
||||
this.U = i;
|
||||
}
|
||||
|
||||
public DimensionBehaviour q() {
|
||||
return this.C[1];
|
||||
}
|
||||
|
||||
public void r(int i) {
|
||||
this.I = i;
|
||||
}
|
||||
|
||||
public int d() {
|
||||
return w() + this.F;
|
||||
}
|
||||
|
||||
public void s(int i) {
|
||||
this.J = i;
|
||||
}
|
||||
|
||||
public void c(float f) {
|
||||
this.W = f;
|
||||
}
|
||||
|
||||
void d(int i, int i2) {
|
||||
if (i2 == 0) {
|
||||
this.K = i;
|
||||
} else if (i2 == 1) {
|
||||
this.L = i;
|
||||
}
|
||||
}
|
||||
|
||||
public void l(int i) {
|
||||
if (i < 0) {
|
||||
this.R = 0;
|
||||
} else {
|
||||
this.R = i;
|
||||
}
|
||||
}
|
||||
|
||||
public void m(int i) {
|
||||
this.f0 = i;
|
||||
}
|
||||
|
||||
public DimensionBehaviour c(int i) {
|
||||
if (i == 0) {
|
||||
return j();
|
||||
}
|
||||
if (i == 1) {
|
||||
return q();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void d(float f) {
|
||||
this.g0[1] = f;
|
||||
}
|
||||
|
||||
int e(int i) {
|
||||
if (i == 0) {
|
||||
return this.K;
|
||||
}
|
||||
if (i == 1) {
|
||||
return this.L;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public float b(int i) {
|
||||
if (i == 0) {
|
||||
return this.V;
|
||||
}
|
||||
if (i == 1) {
|
||||
return this.W;
|
||||
}
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
public void c(LinearSystem linearSystem) {
|
||||
int b = linearSystem.b(this.s);
|
||||
int b2 = linearSystem.b(this.t);
|
||||
int b3 = linearSystem.b(this.u);
|
||||
int b4 = linearSystem.b(this.v);
|
||||
int i = b4 - b2;
|
||||
if (b3 - b < 0 || i < 0 || b == Integer.MIN_VALUE || b == Integer.MAX_VALUE || b2 == Integer.MIN_VALUE || b2 == Integer.MAX_VALUE || b3 == Integer.MIN_VALUE || b3 == Integer.MAX_VALUE || b4 == Integer.MIN_VALUE || b4 == Integer.MAX_VALUE) {
|
||||
b4 = 0;
|
||||
b = 0;
|
||||
b2 = 0;
|
||||
b3 = 0;
|
||||
}
|
||||
a(b, b2, b3, b4);
|
||||
}
|
||||
|
||||
public ArrayList<ConstraintAnchor> b() {
|
||||
return this.B;
|
||||
}
|
||||
|
||||
public void a(ConstraintWidget constraintWidget) {
|
||||
this.D = constraintWidget;
|
||||
}
|
||||
|
||||
public void b(int i, int i2) {
|
||||
this.O = i;
|
||||
this.P = i2;
|
||||
}
|
||||
|
||||
public void a(ConstraintWidget constraintWidget, float f, int i) {
|
||||
ConstraintAnchor.Type type = ConstraintAnchor.Type.CENTER;
|
||||
a(type, constraintWidget, type, i, 0);
|
||||
this.r = f;
|
||||
}
|
||||
|
||||
public void b(int i, int i2, int i3, float f) {
|
||||
this.f = i;
|
||||
this.k = i2;
|
||||
this.l = i3;
|
||||
this.m = f;
|
||||
if (f >= 1.0f || this.f != 0) {
|
||||
return;
|
||||
}
|
||||
this.f = 2;
|
||||
}
|
||||
|
||||
public void a(String str) {
|
||||
this.Z = str;
|
||||
}
|
||||
|
||||
public void a(int i, int i2, int i3, float f) {
|
||||
this.e = i;
|
||||
this.h = i2;
|
||||
this.i = i3;
|
||||
this.j = f;
|
||||
if (f >= 1.0f || this.e != 0) {
|
||||
return;
|
||||
}
|
||||
this.e = 2;
|
||||
}
|
||||
|
||||
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:38:0x0084 -> B:31:0x0085). Please report as a decompilation issue!!! */
|
||||
public void b(String str) {
|
||||
float f;
|
||||
int i = 0;
|
||||
if (str != null && str.length() != 0) {
|
||||
int i2 = -1;
|
||||
int length = str.length();
|
||||
int indexOf = str.indexOf(44);
|
||||
int i3 = 0;
|
||||
if (indexOf > 0 && indexOf < length - 1) {
|
||||
String substring = str.substring(0, indexOf);
|
||||
if (substring.equalsIgnoreCase("W")) {
|
||||
i2 = 0;
|
||||
} else if (substring.equalsIgnoreCase("H")) {
|
||||
i2 = 1;
|
||||
}
|
||||
i3 = indexOf + 1;
|
||||
}
|
||||
int indexOf2 = str.indexOf(58);
|
||||
if (indexOf2 >= 0 && indexOf2 < length - 1) {
|
||||
String substring2 = str.substring(i3, indexOf2);
|
||||
String substring3 = str.substring(indexOf2 + 1);
|
||||
if (substring2.length() > 0 && substring3.length() > 0) {
|
||||
float parseFloat = Float.parseFloat(substring2);
|
||||
float parseFloat2 = Float.parseFloat(substring3);
|
||||
if (parseFloat > 0.0f && parseFloat2 > 0.0f) {
|
||||
if (i2 == 1) {
|
||||
f = Math.abs(parseFloat2 / parseFloat);
|
||||
} else {
|
||||
f = Math.abs(parseFloat / parseFloat2);
|
||||
}
|
||||
}
|
||||
}
|
||||
f = 0.0f;
|
||||
} else {
|
||||
String substring4 = str.substring(i3);
|
||||
if (substring4.length() > 0) {
|
||||
f = Float.parseFloat(substring4);
|
||||
}
|
||||
f = 0.0f;
|
||||
}
|
||||
i = (f > i ? 1 : (f == i ? 0 : -1));
|
||||
if (i > 0) {
|
||||
this.G = f;
|
||||
this.H = i2;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
this.G = 0.0f;
|
||||
}
|
||||
|
||||
public void a(float f) {
|
||||
this.V = f;
|
||||
}
|
||||
|
||||
public void a(int i, int i2, int i3, int i4) {
|
||||
int i5;
|
||||
int i6;
|
||||
int i7 = i3 - i;
|
||||
int i8 = i4 - i2;
|
||||
this.I = i;
|
||||
this.J = i2;
|
||||
if (this.Y == 8) {
|
||||
this.E = 0;
|
||||
this.F = 0;
|
||||
return;
|
||||
}
|
||||
if (this.C[0] != DimensionBehaviour.FIXED || i7 >= (i5 = this.E)) {
|
||||
i5 = i7;
|
||||
}
|
||||
if (this.C[1] != DimensionBehaviour.FIXED || i8 >= (i6 = this.F)) {
|
||||
i6 = i8;
|
||||
}
|
||||
this.E = i5;
|
||||
this.F = i6;
|
||||
int i9 = this.F;
|
||||
int i10 = this.S;
|
||||
if (i9 < i10) {
|
||||
this.F = i10;
|
||||
}
|
||||
int i11 = this.E;
|
||||
int i12 = this.R;
|
||||
if (i11 < i12) {
|
||||
this.E = i12;
|
||||
}
|
||||
this.c0 = true;
|
||||
}
|
||||
|
||||
public void a(int i, int i2, int i3) {
|
||||
if (i3 == 0) {
|
||||
a(i, i2);
|
||||
} else if (i3 == 1) {
|
||||
e(i, i2);
|
||||
}
|
||||
this.c0 = true;
|
||||
}
|
||||
|
||||
public void a(int i, int i2) {
|
||||
this.I = i;
|
||||
this.E = i2 - i;
|
||||
int i3 = this.E;
|
||||
int i4 = this.R;
|
||||
if (i3 < i4) {
|
||||
this.E = i4;
|
||||
}
|
||||
}
|
||||
|
||||
public void b(float f) {
|
||||
this.g0[0] = f;
|
||||
}
|
||||
|
||||
public void b(DimensionBehaviour dimensionBehaviour) {
|
||||
this.C[1] = dimensionBehaviour;
|
||||
if (dimensionBehaviour == DimensionBehaviour.WRAP_CONTENT) {
|
||||
g(this.U);
|
||||
}
|
||||
}
|
||||
|
||||
public void a(Object obj) {
|
||||
this.X = obj;
|
||||
}
|
||||
|
||||
public boolean a() {
|
||||
return this.Y != 8;
|
||||
}
|
||||
|
||||
public void a(ConstraintAnchor.Type type, ConstraintWidget constraintWidget, ConstraintAnchor.Type type2, int i, int i2) {
|
||||
a(type).a(constraintWidget.a(type2), i, i2, ConstraintAnchor.Strength.STRONG, 0, true);
|
||||
}
|
||||
|
||||
public ConstraintAnchor a(ConstraintAnchor.Type type) {
|
||||
switch (AnonymousClass1.a[type.ordinal()]) {
|
||||
case 1:
|
||||
return this.s;
|
||||
case 2:
|
||||
return this.t;
|
||||
case 3:
|
||||
return this.u;
|
||||
case 4:
|
||||
return this.v;
|
||||
case 5:
|
||||
return this.w;
|
||||
case 6:
|
||||
return this.z;
|
||||
case 7:
|
||||
return this.x;
|
||||
case 8:
|
||||
return this.y;
|
||||
case 9:
|
||||
return null;
|
||||
default:
|
||||
throw new AssertionError(type.name());
|
||||
}
|
||||
}
|
||||
|
||||
public void a(DimensionBehaviour dimensionBehaviour) {
|
||||
this.C[0] = dimensionBehaviour;
|
||||
if (dimensionBehaviour == DimensionBehaviour.WRAP_CONTENT) {
|
||||
o(this.T);
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:116:0x02aa */
|
||||
/* JADX WARN: Removed duplicated region for block: B:119:0x02b9 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:122:0x02f8 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:127:0x032b */
|
||||
/* JADX WARN: Removed duplicated region for block: B:129:? A[RETURN, SYNTHETIC] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:131:0x0321 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:132:0x02c1 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:133:0x02b3 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:142:0x0237 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:145:0x01ab A[ADDED_TO_REGION] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:74:0x01a1 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:80:0x01b7 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:85:0x01d0 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:94:0x0248 A[RETURN] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:96:0x0249 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
public void a(androidx.constraintlayout.solver.LinearSystem r39) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 844
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.ConstraintWidget.a(androidx.constraintlayout.solver.LinearSystem):void");
|
||||
}
|
||||
|
||||
public void a(boolean z, boolean z2, boolean z3, boolean z4) {
|
||||
if (this.n == -1) {
|
||||
if (z3 && !z4) {
|
||||
this.n = 0;
|
||||
} else if (!z3 && z4) {
|
||||
this.n = 1;
|
||||
if (this.H == -1) {
|
||||
this.o = 1.0f / this.o;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.n == 0 && (!this.t.i() || !this.v.i())) {
|
||||
this.n = 1;
|
||||
} else if (this.n == 1 && (!this.s.i() || !this.u.i())) {
|
||||
this.n = 0;
|
||||
}
|
||||
if (this.n == -1 && (!this.t.i() || !this.v.i() || !this.s.i() || !this.u.i())) {
|
||||
if (this.t.i() && this.v.i()) {
|
||||
this.n = 0;
|
||||
} else if (this.s.i() && this.u.i()) {
|
||||
this.o = 1.0f / this.o;
|
||||
this.n = 1;
|
||||
}
|
||||
}
|
||||
if (this.n == -1) {
|
||||
if (z && !z2) {
|
||||
this.n = 0;
|
||||
} else if (!z && z2) {
|
||||
this.o = 1.0f / this.o;
|
||||
this.n = 1;
|
||||
}
|
||||
}
|
||||
if (this.n == -1) {
|
||||
if (this.h > 0 && this.k == 0) {
|
||||
this.n = 0;
|
||||
} else if (this.h == 0 && this.k > 0) {
|
||||
this.o = 1.0f / this.o;
|
||||
this.n = 1;
|
||||
}
|
||||
}
|
||||
if (this.n == -1 && z && z2) {
|
||||
this.o = 1.0f / this.o;
|
||||
this.n = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:102:0x02a2 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:107:0x02f4 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:109:0x02f8 A[ADDED_TO_REGION] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:112:0x0305 A[ADDED_TO_REGION] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:115:0x0313 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:116:0x031c */
|
||||
/* JADX WARN: Removed duplicated region for block: B:124:0x02e5 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:151:0x0107 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:168:0x01d8 A[ADDED_TO_REGION] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:51:0x00dd */
|
||||
/* JADX WARN: Removed duplicated region for block: B:71:0x0323 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:73:? A[RETURN, SYNTHETIC] */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
private void a(androidx.constraintlayout.solver.LinearSystem r26, boolean r27, androidx.constraintlayout.solver.SolverVariable r28, androidx.constraintlayout.solver.SolverVariable r29, androidx.constraintlayout.solver.widgets.ConstraintWidget.DimensionBehaviour r30, boolean r31, androidx.constraintlayout.solver.widgets.ConstraintAnchor r32, androidx.constraintlayout.solver.widgets.ConstraintAnchor r33, int r34, int r35, int r36, int r37, float r38, boolean r39, boolean r40, int r41, int r42, int r43, float r44, boolean r45) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 827
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.ConstraintWidget.a(androidx.constraintlayout.solver.LinearSystem, boolean, androidx.constraintlayout.solver.SolverVariable, androidx.constraintlayout.solver.SolverVariable, androidx.constraintlayout.solver.widgets.ConstraintWidget$DimensionBehaviour, boolean, androidx.constraintlayout.solver.widgets.ConstraintAnchor, androidx.constraintlayout.solver.widgets.ConstraintAnchor, int, int, int, int, float, boolean, boolean, int, int, int, float, boolean):void");
|
||||
}
|
||||
}
|
@@ -0,0 +1,233 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ConstraintWidgetContainer extends WidgetContainer {
|
||||
private Snapshot n0;
|
||||
int o0;
|
||||
int p0;
|
||||
int q0;
|
||||
int r0;
|
||||
private boolean l0 = false;
|
||||
protected LinearSystem m0 = new LinearSystem();
|
||||
int s0 = 0;
|
||||
int t0 = 0;
|
||||
ChainHead[] u0 = new ChainHead[4];
|
||||
ChainHead[] v0 = new ChainHead[4];
|
||||
public List<ConstraintWidgetGroup> w0 = new ArrayList();
|
||||
public boolean x0 = false;
|
||||
public boolean y0 = false;
|
||||
public boolean z0 = false;
|
||||
public int A0 = 0;
|
||||
public int B0 = 0;
|
||||
private int C0 = 7;
|
||||
public boolean D0 = false;
|
||||
private boolean E0 = false;
|
||||
private boolean F0 = false;
|
||||
|
||||
private void V() {
|
||||
this.s0 = 0;
|
||||
this.t0 = 0;
|
||||
}
|
||||
|
||||
private void e(ConstraintWidget constraintWidget) {
|
||||
int i = this.t0 + 1;
|
||||
ChainHead[] chainHeadArr = this.u0;
|
||||
if (i >= chainHeadArr.length) {
|
||||
this.u0 = (ChainHead[]) Arrays.copyOf(chainHeadArr, chainHeadArr.length * 2);
|
||||
}
|
||||
this.u0[this.t0] = new ChainHead(constraintWidget, 1, P());
|
||||
this.t0++;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.WidgetContainer, androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void D() {
|
||||
this.m0.f();
|
||||
this.o0 = 0;
|
||||
this.q0 = 0;
|
||||
this.p0 = 0;
|
||||
this.r0 = 0;
|
||||
this.w0.clear();
|
||||
this.D0 = false;
|
||||
super.D();
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:110:0x0290 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:114:0x018f */
|
||||
/* JADX WARN: Removed duplicated region for block: B:66:0x0186 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:69:0x01da */
|
||||
/* JADX WARN: Removed duplicated region for block: B:89:0x0267 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:92:0x0283 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:94:0x0293 */
|
||||
/* JADX WARN: Type inference failed for: r8v20 */
|
||||
/* JADX WARN: Type inference failed for: r8v21, types: [boolean] */
|
||||
/* JADX WARN: Type inference failed for: r8v22 */
|
||||
@Override // androidx.constraintlayout.solver.widgets.WidgetContainer
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
public void K() {
|
||||
/*
|
||||
Method dump skipped, instructions count: 839
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer.K():void");
|
||||
}
|
||||
|
||||
public int M() {
|
||||
return this.C0;
|
||||
}
|
||||
|
||||
public boolean N() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean O() {
|
||||
return this.F0;
|
||||
}
|
||||
|
||||
public boolean P() {
|
||||
return this.l0;
|
||||
}
|
||||
|
||||
public boolean Q() {
|
||||
return this.E0;
|
||||
}
|
||||
|
||||
public void R() {
|
||||
if (!t(8)) {
|
||||
a(this.C0);
|
||||
}
|
||||
U();
|
||||
}
|
||||
|
||||
public void S() {
|
||||
int size = this.k0.size();
|
||||
F();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.k0.get(i).F();
|
||||
}
|
||||
}
|
||||
|
||||
public void T() {
|
||||
S();
|
||||
a(this.C0);
|
||||
}
|
||||
|
||||
public void U() {
|
||||
ResolutionAnchor d = a(ConstraintAnchor.Type.LEFT).d();
|
||||
ResolutionAnchor d2 = a(ConstraintAnchor.Type.TOP).d();
|
||||
d.a((ResolutionAnchor) null, 0.0f);
|
||||
d2.a((ResolutionAnchor) null, 0.0f);
|
||||
}
|
||||
|
||||
public void a(LinearSystem linearSystem, boolean[] zArr) {
|
||||
zArr[2] = false;
|
||||
c(linearSystem);
|
||||
int size = this.k0.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
ConstraintWidget constraintWidget = this.k0.get(i);
|
||||
constraintWidget.c(linearSystem);
|
||||
if (constraintWidget.C[0] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && constraintWidget.s() < constraintWidget.u()) {
|
||||
zArr[2] = true;
|
||||
}
|
||||
if (constraintWidget.C[1] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && constraintWidget.i() < constraintWidget.t()) {
|
||||
zArr[2] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void c(boolean z) {
|
||||
this.l0 = z;
|
||||
}
|
||||
|
||||
public boolean d(LinearSystem linearSystem) {
|
||||
a(linearSystem);
|
||||
int size = this.k0.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
ConstraintWidget constraintWidget = this.k0.get(i);
|
||||
if (constraintWidget instanceof ConstraintWidgetContainer) {
|
||||
ConstraintWidget.DimensionBehaviour[] dimensionBehaviourArr = constraintWidget.C;
|
||||
ConstraintWidget.DimensionBehaviour dimensionBehaviour = dimensionBehaviourArr[0];
|
||||
ConstraintWidget.DimensionBehaviour dimensionBehaviour2 = dimensionBehaviourArr[1];
|
||||
if (dimensionBehaviour == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) {
|
||||
constraintWidget.a(ConstraintWidget.DimensionBehaviour.FIXED);
|
||||
}
|
||||
if (dimensionBehaviour2 == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) {
|
||||
constraintWidget.b(ConstraintWidget.DimensionBehaviour.FIXED);
|
||||
}
|
||||
constraintWidget.a(linearSystem);
|
||||
if (dimensionBehaviour == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) {
|
||||
constraintWidget.a(dimensionBehaviour);
|
||||
}
|
||||
if (dimensionBehaviour2 == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT) {
|
||||
constraintWidget.b(dimensionBehaviour2);
|
||||
}
|
||||
} else {
|
||||
Optimizer.a(this, linearSystem, constraintWidget);
|
||||
constraintWidget.a(linearSystem);
|
||||
}
|
||||
}
|
||||
if (this.s0 > 0) {
|
||||
Chain.a(this, linearSystem, 0);
|
||||
}
|
||||
if (this.t0 > 0) {
|
||||
Chain.a(this, linearSystem, 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void f(int i, int i2) {
|
||||
ResolutionDimension resolutionDimension;
|
||||
ResolutionDimension resolutionDimension2;
|
||||
if (this.C[0] != ConstraintWidget.DimensionBehaviour.WRAP_CONTENT && (resolutionDimension2 = this.c) != null) {
|
||||
resolutionDimension2.a(i);
|
||||
}
|
||||
if (this.C[1] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT || (resolutionDimension = this.d) == null) {
|
||||
return;
|
||||
}
|
||||
resolutionDimension.a(i2);
|
||||
}
|
||||
|
||||
public boolean t(int i) {
|
||||
return (this.C0 & i) == i;
|
||||
}
|
||||
|
||||
public void u(int i) {
|
||||
this.C0 = i;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(int i) {
|
||||
super.a(i);
|
||||
int size = this.k0.size();
|
||||
for (int i2 = 0; i2 < size; i2++) {
|
||||
this.k0.get(i2).a(i);
|
||||
}
|
||||
}
|
||||
|
||||
void a(ConstraintWidget constraintWidget, int i) {
|
||||
if (i == 0) {
|
||||
d(constraintWidget);
|
||||
} else if (i == 1) {
|
||||
e(constraintWidget);
|
||||
}
|
||||
}
|
||||
|
||||
private void d(ConstraintWidget constraintWidget) {
|
||||
int i = this.s0 + 1;
|
||||
ChainHead[] chainHeadArr = this.v0;
|
||||
if (i >= chainHeadArr.length) {
|
||||
this.v0 = (ChainHead[]) Arrays.copyOf(chainHeadArr, chainHeadArr.length * 2);
|
||||
}
|
||||
this.v0[this.s0] = new ChainHead(constraintWidget, 0, P());
|
||||
this.s0++;
|
||||
}
|
||||
}
|
@@ -0,0 +1,146 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ConstraintWidgetGroup {
|
||||
public List<ConstraintWidget> a;
|
||||
int b;
|
||||
int c;
|
||||
public boolean d;
|
||||
public final int[] e;
|
||||
List<ConstraintWidget> f;
|
||||
List<ConstraintWidget> g;
|
||||
HashSet<ConstraintWidget> h;
|
||||
HashSet<ConstraintWidget> i;
|
||||
List<ConstraintWidget> j;
|
||||
List<ConstraintWidget> k;
|
||||
|
||||
ConstraintWidgetGroup(List<ConstraintWidget> list) {
|
||||
this.b = -1;
|
||||
this.c = -1;
|
||||
this.d = false;
|
||||
this.e = new int[]{this.b, this.c};
|
||||
this.f = new ArrayList();
|
||||
this.g = new ArrayList();
|
||||
this.h = new HashSet<>();
|
||||
this.i = new HashSet<>();
|
||||
this.j = new ArrayList();
|
||||
this.k = new ArrayList();
|
||||
this.a = list;
|
||||
}
|
||||
|
||||
public List<ConstraintWidget> a(int i) {
|
||||
if (i == 0) {
|
||||
return this.f;
|
||||
}
|
||||
if (i == 1) {
|
||||
return this.g;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Set<ConstraintWidget> b(int i) {
|
||||
if (i == 0) {
|
||||
return this.h;
|
||||
}
|
||||
if (i == 1) {
|
||||
return this.i;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
void a(ConstraintWidget constraintWidget, int i) {
|
||||
if (i == 0) {
|
||||
this.h.add(constraintWidget);
|
||||
} else if (i == 1) {
|
||||
this.i.add(constraintWidget);
|
||||
}
|
||||
}
|
||||
|
||||
void b() {
|
||||
int size = this.k.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
a(this.k.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
List<ConstraintWidget> a() {
|
||||
if (!this.j.isEmpty()) {
|
||||
return this.j;
|
||||
}
|
||||
int size = this.a.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
ConstraintWidget constraintWidget = this.a.get(i);
|
||||
if (!constraintWidget.b0) {
|
||||
a((ArrayList<ConstraintWidget>) this.j, constraintWidget);
|
||||
}
|
||||
}
|
||||
this.k.clear();
|
||||
this.k.addAll(this.a);
|
||||
this.k.removeAll(this.j);
|
||||
return this.j;
|
||||
}
|
||||
|
||||
ConstraintWidgetGroup(List<ConstraintWidget> list, boolean z) {
|
||||
this.b = -1;
|
||||
this.c = -1;
|
||||
this.d = false;
|
||||
this.e = new int[]{this.b, this.c};
|
||||
this.f = new ArrayList();
|
||||
this.g = new ArrayList();
|
||||
this.h = new HashSet<>();
|
||||
this.i = new HashSet<>();
|
||||
this.j = new ArrayList();
|
||||
this.k = new ArrayList();
|
||||
this.a = list;
|
||||
this.d = z;
|
||||
}
|
||||
|
||||
private void a(ArrayList<ConstraintWidget> arrayList, ConstraintWidget constraintWidget) {
|
||||
if (constraintWidget.d0) {
|
||||
return;
|
||||
}
|
||||
arrayList.add(constraintWidget);
|
||||
constraintWidget.d0 = true;
|
||||
if (constraintWidget.y()) {
|
||||
return;
|
||||
}
|
||||
if (constraintWidget instanceof Helper) {
|
||||
Helper helper = (Helper) constraintWidget;
|
||||
int i = helper.l0;
|
||||
for (int i2 = 0; i2 < i; i2++) {
|
||||
a(arrayList, helper.k0[i2]);
|
||||
}
|
||||
}
|
||||
int length = constraintWidget.A.length;
|
||||
for (int i3 = 0; i3 < length; i3++) {
|
||||
ConstraintAnchor constraintAnchor = constraintWidget.A[i3].d;
|
||||
if (constraintAnchor != null) {
|
||||
ConstraintWidget constraintWidget2 = constraintAnchor.b;
|
||||
if (constraintAnchor != null && constraintWidget2 != constraintWidget.k()) {
|
||||
a(arrayList, constraintWidget2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:20:0x0048 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:23:0x006b */
|
||||
/* JADX WARN: Removed duplicated region for block: B:28:0x0087 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:49:0x0050 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
private void a(androidx.constraintlayout.solver.widgets.ConstraintWidget r7) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 222
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.ConstraintWidgetGroup.a(androidx.constraintlayout.solver.widgets.ConstraintWidget):void");
|
||||
}
|
||||
}
|
257
sources/androidx/constraintlayout/solver/widgets/Guideline.java
Normal file
257
sources/androidx/constraintlayout/solver/widgets/Guideline.java
Normal file
@@ -0,0 +1,257 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Guideline extends ConstraintWidget {
|
||||
protected float k0 = -1.0f;
|
||||
protected int l0 = -1;
|
||||
protected int m0 = -1;
|
||||
private ConstraintAnchor n0 = this.t;
|
||||
private int o0 = 0;
|
||||
private boolean p0 = false;
|
||||
|
||||
/* renamed from: androidx.constraintlayout.solver.widgets.Guideline$1, reason: invalid class name */
|
||||
static /* synthetic */ class AnonymousClass1 {
|
||||
static final /* synthetic */ int[] a = new int[ConstraintAnchor.Type.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
a[ConstraintAnchor.Type.LEFT.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.RIGHT.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused2) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.TOP.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused3) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.BOTTOM.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused4) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.BASELINE.ordinal()] = 5;
|
||||
} catch (NoSuchFieldError unused5) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER.ordinal()] = 6;
|
||||
} catch (NoSuchFieldError unused6) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER_X.ordinal()] = 7;
|
||||
} catch (NoSuchFieldError unused7) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.CENTER_Y.ordinal()] = 8;
|
||||
} catch (NoSuchFieldError unused8) {
|
||||
}
|
||||
try {
|
||||
a[ConstraintAnchor.Type.NONE.ordinal()] = 9;
|
||||
} catch (NoSuchFieldError unused9) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Guideline() {
|
||||
new Rectangle();
|
||||
this.B.clear();
|
||||
this.B.add(this.n0);
|
||||
int length = this.A.length;
|
||||
for (int i = 0; i < length; i++) {
|
||||
this.A[i] = this.n0;
|
||||
}
|
||||
}
|
||||
|
||||
public int J() {
|
||||
return this.o0;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public ConstraintAnchor a(ConstraintAnchor.Type type) {
|
||||
switch (AnonymousClass1.a[type.ordinal()]) {
|
||||
case 1:
|
||||
case 2:
|
||||
if (this.o0 == 1) {
|
||||
return this.n0;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (this.o0 == 0) {
|
||||
return this.n0;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
return null;
|
||||
}
|
||||
throw new AssertionError(type.name());
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public boolean a() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public ArrayList<ConstraintAnchor> b() {
|
||||
return this.B;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void c(LinearSystem linearSystem) {
|
||||
if (k() == null) {
|
||||
return;
|
||||
}
|
||||
int b = linearSystem.b(this.n0);
|
||||
if (this.o0 == 1) {
|
||||
r(b);
|
||||
s(0);
|
||||
g(k().i());
|
||||
o(0);
|
||||
return;
|
||||
}
|
||||
r(0);
|
||||
s(b);
|
||||
o(k().s());
|
||||
g(0);
|
||||
}
|
||||
|
||||
public void e(float f) {
|
||||
if (f > -1.0f) {
|
||||
this.k0 = f;
|
||||
this.l0 = -1;
|
||||
this.m0 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
public void t(int i) {
|
||||
if (i > -1) {
|
||||
this.k0 = -1.0f;
|
||||
this.l0 = i;
|
||||
this.m0 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
public void u(int i) {
|
||||
if (i > -1) {
|
||||
this.k0 = -1.0f;
|
||||
this.l0 = -1;
|
||||
this.m0 = i;
|
||||
}
|
||||
}
|
||||
|
||||
public void v(int i) {
|
||||
if (this.o0 == i) {
|
||||
return;
|
||||
}
|
||||
this.o0 = i;
|
||||
this.B.clear();
|
||||
if (this.o0 == 1) {
|
||||
this.n0 = this.s;
|
||||
} else {
|
||||
this.n0 = this.t;
|
||||
}
|
||||
this.B.add(this.n0);
|
||||
int length = this.A.length;
|
||||
for (int i2 = 0; i2 < length; i2++) {
|
||||
this.A[i2] = this.n0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(int i) {
|
||||
ConstraintWidget k = k();
|
||||
if (k == null) {
|
||||
return;
|
||||
}
|
||||
if (J() == 1) {
|
||||
this.t.d().a(1, k.t.d(), 0);
|
||||
this.v.d().a(1, k.t.d(), 0);
|
||||
if (this.l0 != -1) {
|
||||
this.s.d().a(1, k.s.d(), this.l0);
|
||||
this.u.d().a(1, k.s.d(), this.l0);
|
||||
return;
|
||||
} else if (this.m0 != -1) {
|
||||
this.s.d().a(1, k.u.d(), -this.m0);
|
||||
this.u.d().a(1, k.u.d(), -this.m0);
|
||||
return;
|
||||
} else {
|
||||
if (this.k0 == -1.0f || k.j() != ConstraintWidget.DimensionBehaviour.FIXED) {
|
||||
return;
|
||||
}
|
||||
int i2 = (int) (k.E * this.k0);
|
||||
this.s.d().a(1, k.s.d(), i2);
|
||||
this.u.d().a(1, k.s.d(), i2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.s.d().a(1, k.s.d(), 0);
|
||||
this.u.d().a(1, k.s.d(), 0);
|
||||
if (this.l0 != -1) {
|
||||
this.t.d().a(1, k.t.d(), this.l0);
|
||||
this.v.d().a(1, k.t.d(), this.l0);
|
||||
} else if (this.m0 != -1) {
|
||||
this.t.d().a(1, k.v.d(), -this.m0);
|
||||
this.v.d().a(1, k.v.d(), -this.m0);
|
||||
} else {
|
||||
if (this.k0 == -1.0f || k.q() != ConstraintWidget.DimensionBehaviour.FIXED) {
|
||||
return;
|
||||
}
|
||||
int i3 = (int) (k.F * this.k0);
|
||||
this.t.d().a(1, k.t.d(), i3);
|
||||
this.v.d().a(1, k.t.d(), i3);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(LinearSystem linearSystem) {
|
||||
ConstraintWidgetContainer constraintWidgetContainer = (ConstraintWidgetContainer) k();
|
||||
if (constraintWidgetContainer == null) {
|
||||
return;
|
||||
}
|
||||
ConstraintAnchor a = constraintWidgetContainer.a(ConstraintAnchor.Type.LEFT);
|
||||
ConstraintAnchor a2 = constraintWidgetContainer.a(ConstraintAnchor.Type.RIGHT);
|
||||
ConstraintWidget constraintWidget = this.D;
|
||||
boolean z = constraintWidget != null && constraintWidget.C[0] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT;
|
||||
if (this.o0 == 0) {
|
||||
a = constraintWidgetContainer.a(ConstraintAnchor.Type.TOP);
|
||||
a2 = constraintWidgetContainer.a(ConstraintAnchor.Type.BOTTOM);
|
||||
ConstraintWidget constraintWidget2 = this.D;
|
||||
z = constraintWidget2 != null && constraintWidget2.C[1] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT;
|
||||
}
|
||||
if (this.l0 != -1) {
|
||||
SolverVariable a3 = linearSystem.a(this.n0);
|
||||
linearSystem.a(a3, linearSystem.a(a), this.l0, 6);
|
||||
if (z) {
|
||||
linearSystem.b(linearSystem.a(a2), a3, 0, 5);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (this.m0 == -1) {
|
||||
if (this.k0 != -1.0f) {
|
||||
linearSystem.a(LinearSystem.a(linearSystem, linearSystem.a(this.n0), linearSystem.a(a), linearSystem.a(a2), this.k0, this.p0));
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
SolverVariable a4 = linearSystem.a(this.n0);
|
||||
SolverVariable a5 = linearSystem.a(a2);
|
||||
linearSystem.a(a4, a5, -this.m0, 6);
|
||||
if (z) {
|
||||
linearSystem.b(a4, linearSystem.a(a), 0, 5);
|
||||
linearSystem.b(a5, a4, 0, 5);
|
||||
}
|
||||
}
|
||||
}
|
25
sources/androidx/constraintlayout/solver/widgets/Helper.java
Normal file
25
sources/androidx/constraintlayout/solver/widgets/Helper.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Helper extends ConstraintWidget {
|
||||
protected ConstraintWidget[] k0 = new ConstraintWidget[4];
|
||||
protected int l0 = 0;
|
||||
|
||||
public void J() {
|
||||
this.l0 = 0;
|
||||
}
|
||||
|
||||
public void b(ConstraintWidget constraintWidget) {
|
||||
int i = this.l0 + 1;
|
||||
ConstraintWidget[] constraintWidgetArr = this.k0;
|
||||
if (i > constraintWidgetArr.length) {
|
||||
this.k0 = (ConstraintWidget[]) Arrays.copyOf(constraintWidgetArr, constraintWidgetArr.length * 2);
|
||||
}
|
||||
ConstraintWidget[] constraintWidgetArr2 = this.k0;
|
||||
int i2 = this.l0;
|
||||
constraintWidgetArr2[i2] = constraintWidget;
|
||||
this.l0 = i2 + 1;
|
||||
}
|
||||
}
|
320
sources/androidx/constraintlayout/solver/widgets/Optimizer.java
Normal file
320
sources/androidx/constraintlayout/solver/widgets/Optimizer.java
Normal file
@@ -0,0 +1,320 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Optimizer {
|
||||
static boolean[] a = new boolean[3];
|
||||
|
||||
static void a(ConstraintWidgetContainer constraintWidgetContainer, LinearSystem linearSystem, ConstraintWidget constraintWidget) {
|
||||
if (constraintWidgetContainer.C[0] != ConstraintWidget.DimensionBehaviour.WRAP_CONTENT && constraintWidget.C[0] == ConstraintWidget.DimensionBehaviour.MATCH_PARENT) {
|
||||
int i = constraintWidget.s.e;
|
||||
int s = constraintWidgetContainer.s() - constraintWidget.u.e;
|
||||
ConstraintAnchor constraintAnchor = constraintWidget.s;
|
||||
constraintAnchor.i = linearSystem.a(constraintAnchor);
|
||||
ConstraintAnchor constraintAnchor2 = constraintWidget.u;
|
||||
constraintAnchor2.i = linearSystem.a(constraintAnchor2);
|
||||
linearSystem.a(constraintWidget.s.i, i);
|
||||
linearSystem.a(constraintWidget.u.i, s);
|
||||
constraintWidget.a = 2;
|
||||
constraintWidget.a(i, s);
|
||||
}
|
||||
if (constraintWidgetContainer.C[1] == ConstraintWidget.DimensionBehaviour.WRAP_CONTENT || constraintWidget.C[1] != ConstraintWidget.DimensionBehaviour.MATCH_PARENT) {
|
||||
return;
|
||||
}
|
||||
int i2 = constraintWidget.t.e;
|
||||
int i3 = constraintWidgetContainer.i() - constraintWidget.v.e;
|
||||
ConstraintAnchor constraintAnchor3 = constraintWidget.t;
|
||||
constraintAnchor3.i = linearSystem.a(constraintAnchor3);
|
||||
ConstraintAnchor constraintAnchor4 = constraintWidget.v;
|
||||
constraintAnchor4.i = linearSystem.a(constraintAnchor4);
|
||||
linearSystem.a(constraintWidget.t.i, i2);
|
||||
linearSystem.a(constraintWidget.v.i, i3);
|
||||
if (constraintWidget.Q > 0 || constraintWidget.r() == 8) {
|
||||
ConstraintAnchor constraintAnchor5 = constraintWidget.w;
|
||||
constraintAnchor5.i = linearSystem.a(constraintAnchor5);
|
||||
linearSystem.a(constraintWidget.w.i, constraintWidget.Q + i2);
|
||||
}
|
||||
constraintWidget.b = 2;
|
||||
constraintWidget.e(i2, i3);
|
||||
}
|
||||
|
||||
private static boolean a(ConstraintWidget constraintWidget, int i) {
|
||||
ConstraintWidget.DimensionBehaviour[] dimensionBehaviourArr = constraintWidget.C;
|
||||
if (dimensionBehaviourArr[i] != ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
|
||||
return false;
|
||||
}
|
||||
if (constraintWidget.G != 0.0f) {
|
||||
if (dimensionBehaviourArr[i != 0 ? (char) 0 : (char) 1] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (i == 0) {
|
||||
if (constraintWidget.e != 0 || constraintWidget.h != 0 || constraintWidget.i != 0) {
|
||||
return false;
|
||||
}
|
||||
} else if (constraintWidget.f != 0 || constraintWidget.k != 0 || constraintWidget.l != 0) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static void a(int i, ConstraintWidget constraintWidget) {
|
||||
constraintWidget.I();
|
||||
ResolutionAnchor d = constraintWidget.s.d();
|
||||
ResolutionAnchor d2 = constraintWidget.t.d();
|
||||
ResolutionAnchor d3 = constraintWidget.u.d();
|
||||
ResolutionAnchor d4 = constraintWidget.v.d();
|
||||
boolean z = (i & 8) == 8;
|
||||
boolean z2 = constraintWidget.C[0] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && a(constraintWidget, 0);
|
||||
if (d.h != 4 && d3.h != 4) {
|
||||
if (constraintWidget.C[0] == ConstraintWidget.DimensionBehaviour.FIXED || (z2 && constraintWidget.r() == 8)) {
|
||||
if (constraintWidget.s.d == null && constraintWidget.u.d == null) {
|
||||
d.b(1);
|
||||
d3.b(1);
|
||||
if (z) {
|
||||
d3.a(d, 1, constraintWidget.m());
|
||||
} else {
|
||||
d3.a(d, constraintWidget.s());
|
||||
}
|
||||
} else if (constraintWidget.s.d != null && constraintWidget.u.d == null) {
|
||||
d.b(1);
|
||||
d3.b(1);
|
||||
if (z) {
|
||||
d3.a(d, 1, constraintWidget.m());
|
||||
} else {
|
||||
d3.a(d, constraintWidget.s());
|
||||
}
|
||||
} else if (constraintWidget.s.d == null && constraintWidget.u.d != null) {
|
||||
d.b(1);
|
||||
d3.b(1);
|
||||
d.a(d3, -constraintWidget.s());
|
||||
if (z) {
|
||||
d.a(d3, -1, constraintWidget.m());
|
||||
} else {
|
||||
d.a(d3, -constraintWidget.s());
|
||||
}
|
||||
} else if (constraintWidget.s.d != null && constraintWidget.u.d != null) {
|
||||
d.b(2);
|
||||
d3.b(2);
|
||||
if (z) {
|
||||
constraintWidget.m().a(d);
|
||||
constraintWidget.m().a(d3);
|
||||
d.b(d3, -1, constraintWidget.m());
|
||||
d3.b(d, 1, constraintWidget.m());
|
||||
} else {
|
||||
d.b(d3, -constraintWidget.s());
|
||||
d3.b(d, constraintWidget.s());
|
||||
}
|
||||
}
|
||||
} else if (z2) {
|
||||
int s = constraintWidget.s();
|
||||
d.b(1);
|
||||
d3.b(1);
|
||||
if (constraintWidget.s.d == null && constraintWidget.u.d == null) {
|
||||
if (z) {
|
||||
d3.a(d, 1, constraintWidget.m());
|
||||
} else {
|
||||
d3.a(d, s);
|
||||
}
|
||||
} else if (constraintWidget.s.d == null || constraintWidget.u.d != null) {
|
||||
if (constraintWidget.s.d != null || constraintWidget.u.d == null) {
|
||||
if (constraintWidget.s.d != null && constraintWidget.u.d != null) {
|
||||
if (z) {
|
||||
constraintWidget.m().a(d);
|
||||
constraintWidget.m().a(d3);
|
||||
}
|
||||
if (constraintWidget.G == 0.0f) {
|
||||
d.b(3);
|
||||
d3.b(3);
|
||||
d.b(d3, 0.0f);
|
||||
d3.b(d, 0.0f);
|
||||
} else {
|
||||
d.b(2);
|
||||
d3.b(2);
|
||||
d.b(d3, -s);
|
||||
d3.b(d, s);
|
||||
constraintWidget.o(s);
|
||||
}
|
||||
}
|
||||
} else if (z) {
|
||||
d.a(d3, -1, constraintWidget.m());
|
||||
} else {
|
||||
d.a(d3, -s);
|
||||
}
|
||||
} else if (z) {
|
||||
d3.a(d, 1, constraintWidget.m());
|
||||
} else {
|
||||
d3.a(d, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
boolean z3 = constraintWidget.C[1] == ConstraintWidget.DimensionBehaviour.MATCH_CONSTRAINT && a(constraintWidget, 1);
|
||||
if (d2.h == 4 || d4.h == 4) {
|
||||
return;
|
||||
}
|
||||
if (constraintWidget.C[1] != ConstraintWidget.DimensionBehaviour.FIXED && (!z3 || constraintWidget.r() != 8)) {
|
||||
if (z3) {
|
||||
int i2 = constraintWidget.i();
|
||||
d2.b(1);
|
||||
d4.b(1);
|
||||
if (constraintWidget.t.d == null && constraintWidget.v.d == null) {
|
||||
if (z) {
|
||||
d4.a(d2, 1, constraintWidget.l());
|
||||
return;
|
||||
} else {
|
||||
d4.a(d2, i2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (constraintWidget.t.d != null && constraintWidget.v.d == null) {
|
||||
if (z) {
|
||||
d4.a(d2, 1, constraintWidget.l());
|
||||
return;
|
||||
} else {
|
||||
d4.a(d2, i2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (constraintWidget.t.d == null && constraintWidget.v.d != null) {
|
||||
if (z) {
|
||||
d2.a(d4, -1, constraintWidget.l());
|
||||
return;
|
||||
} else {
|
||||
d2.a(d4, -i2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (constraintWidget.t.d == null || constraintWidget.v.d == null) {
|
||||
return;
|
||||
}
|
||||
if (z) {
|
||||
constraintWidget.l().a(d2);
|
||||
constraintWidget.m().a(d4);
|
||||
}
|
||||
if (constraintWidget.G == 0.0f) {
|
||||
d2.b(3);
|
||||
d4.b(3);
|
||||
d2.b(d4, 0.0f);
|
||||
d4.b(d2, 0.0f);
|
||||
return;
|
||||
}
|
||||
d2.b(2);
|
||||
d4.b(2);
|
||||
d2.b(d4, -i2);
|
||||
d4.b(d2, i2);
|
||||
constraintWidget.g(i2);
|
||||
if (constraintWidget.Q > 0) {
|
||||
constraintWidget.w.d().a(1, d2, constraintWidget.Q);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (constraintWidget.t.d == null && constraintWidget.v.d == null) {
|
||||
d2.b(1);
|
||||
d4.b(1);
|
||||
if (z) {
|
||||
d4.a(d2, 1, constraintWidget.l());
|
||||
} else {
|
||||
d4.a(d2, constraintWidget.i());
|
||||
}
|
||||
ConstraintAnchor constraintAnchor = constraintWidget.w;
|
||||
if (constraintAnchor.d != null) {
|
||||
constraintAnchor.d().b(1);
|
||||
d2.a(1, constraintWidget.w.d(), -constraintWidget.Q);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (constraintWidget.t.d != null && constraintWidget.v.d == null) {
|
||||
d2.b(1);
|
||||
d4.b(1);
|
||||
if (z) {
|
||||
d4.a(d2, 1, constraintWidget.l());
|
||||
} else {
|
||||
d4.a(d2, constraintWidget.i());
|
||||
}
|
||||
if (constraintWidget.Q > 0) {
|
||||
constraintWidget.w.d().a(1, d2, constraintWidget.Q);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (constraintWidget.t.d == null && constraintWidget.v.d != null) {
|
||||
d2.b(1);
|
||||
d4.b(1);
|
||||
if (z) {
|
||||
d2.a(d4, -1, constraintWidget.l());
|
||||
} else {
|
||||
d2.a(d4, -constraintWidget.i());
|
||||
}
|
||||
if (constraintWidget.Q > 0) {
|
||||
constraintWidget.w.d().a(1, d2, constraintWidget.Q);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (constraintWidget.t.d == null || constraintWidget.v.d == null) {
|
||||
return;
|
||||
}
|
||||
d2.b(2);
|
||||
d4.b(2);
|
||||
if (z) {
|
||||
d2.b(d4, -1, constraintWidget.l());
|
||||
d4.b(d2, 1, constraintWidget.l());
|
||||
constraintWidget.l().a(d2);
|
||||
constraintWidget.m().a(d4);
|
||||
} else {
|
||||
d2.b(d4, -constraintWidget.i());
|
||||
d4.b(d2, constraintWidget.i());
|
||||
}
|
||||
if (constraintWidget.Q > 0) {
|
||||
constraintWidget.w.d().a(1, d2, constraintWidget.Q);
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:10:0x0032, code lost:
|
||||
|
||||
if (r7.e0 == 2) goto L14;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:11:0x0034, code lost:
|
||||
|
||||
r2 = true;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:209:0x0036, code lost:
|
||||
|
||||
r2 = false;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:219:0x0048, code lost:
|
||||
|
||||
if (r7.f0 == 2) goto L14;
|
||||
*/
|
||||
/* JADX WARN: Removed duplicated region for block: B:120:0x01d6 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:67:0x0109 A[SYNTHETIC] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:71:0x0105 A[SYNTHETIC] */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
static boolean a(androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer r24, androidx.constraintlayout.solver.LinearSystem r25, int r26, int r27, androidx.constraintlayout.solver.widgets.ChainHead r28) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 900
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.constraintlayout.solver.widgets.Optimizer.a(androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer, androidx.constraintlayout.solver.LinearSystem, int, int, androidx.constraintlayout.solver.widgets.ChainHead):boolean");
|
||||
}
|
||||
|
||||
static void a(ConstraintWidget constraintWidget, int i, int i2) {
|
||||
int i3 = i * 2;
|
||||
int i4 = i3 + 1;
|
||||
constraintWidget.A[i3].d().f = constraintWidget.k().s.d();
|
||||
constraintWidget.A[i3].d().g = i2;
|
||||
constraintWidget.A[i3].d().b = 1;
|
||||
constraintWidget.A[i4].d().f = constraintWidget.A[i3].d();
|
||||
constraintWidget.A[i4].d().g = constraintWidget.d(i);
|
||||
constraintWidget.A[i4].d().b = 1;
|
||||
}
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Rectangle {
|
||||
}
|
@@ -0,0 +1,248 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.LinearSystem;
|
||||
import androidx.constraintlayout.solver.SolverVariable;
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ResolutionAnchor extends ResolutionNode {
|
||||
ConstraintAnchor c;
|
||||
ResolutionAnchor d;
|
||||
float e;
|
||||
ResolutionAnchor f;
|
||||
float g;
|
||||
private ResolutionAnchor i;
|
||||
int h = 0;
|
||||
private ResolutionDimension j = null;
|
||||
private int k = 1;
|
||||
private ResolutionDimension l = null;
|
||||
private int m = 1;
|
||||
|
||||
public ResolutionAnchor(ConstraintAnchor constraintAnchor) {
|
||||
this.c = constraintAnchor;
|
||||
}
|
||||
|
||||
String a(int i) {
|
||||
return i == 1 ? "DIRECT" : i == 2 ? "CENTER" : i == 3 ? "MATCH" : i == 4 ? "CHAIN" : i == 5 ? "BARRIER" : "UNCONNECTED";
|
||||
}
|
||||
|
||||
public void a(ResolutionAnchor resolutionAnchor, float f) {
|
||||
if (this.b == 0 || !(this.f == resolutionAnchor || this.g == f)) {
|
||||
this.f = resolutionAnchor;
|
||||
this.g = f;
|
||||
if (this.b == 1) {
|
||||
b();
|
||||
}
|
||||
a();
|
||||
}
|
||||
}
|
||||
|
||||
public void b(int i) {
|
||||
this.h = i;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ResolutionNode
|
||||
public void d() {
|
||||
super.d();
|
||||
this.d = null;
|
||||
this.e = 0.0f;
|
||||
this.j = null;
|
||||
this.k = 1;
|
||||
this.l = null;
|
||||
this.m = 1;
|
||||
this.f = null;
|
||||
this.g = 0.0f;
|
||||
this.i = null;
|
||||
this.h = 0;
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ResolutionNode
|
||||
public void e() {
|
||||
ResolutionAnchor resolutionAnchor;
|
||||
ResolutionAnchor resolutionAnchor2;
|
||||
ResolutionAnchor resolutionAnchor3;
|
||||
ResolutionAnchor resolutionAnchor4;
|
||||
ResolutionAnchor resolutionAnchor5;
|
||||
ResolutionAnchor resolutionAnchor6;
|
||||
float f;
|
||||
float f2;
|
||||
float s;
|
||||
float f3;
|
||||
ResolutionAnchor resolutionAnchor7;
|
||||
boolean z = true;
|
||||
if (this.b == 1 || this.h == 4) {
|
||||
return;
|
||||
}
|
||||
ResolutionDimension resolutionDimension = this.j;
|
||||
if (resolutionDimension != null) {
|
||||
if (resolutionDimension.b != 1) {
|
||||
return;
|
||||
} else {
|
||||
this.e = this.k * resolutionDimension.c;
|
||||
}
|
||||
}
|
||||
ResolutionDimension resolutionDimension2 = this.l;
|
||||
if (resolutionDimension2 != null) {
|
||||
if (resolutionDimension2.b != 1) {
|
||||
return;
|
||||
} else {
|
||||
float f4 = resolutionDimension2.c;
|
||||
}
|
||||
}
|
||||
if (this.h == 1 && ((resolutionAnchor7 = this.d) == null || resolutionAnchor7.b == 1)) {
|
||||
ResolutionAnchor resolutionAnchor8 = this.d;
|
||||
if (resolutionAnchor8 == null) {
|
||||
this.f = this;
|
||||
this.g = this.e;
|
||||
} else {
|
||||
this.f = resolutionAnchor8.f;
|
||||
this.g = resolutionAnchor8.g + this.e;
|
||||
}
|
||||
a();
|
||||
return;
|
||||
}
|
||||
if (this.h != 2 || (resolutionAnchor4 = this.d) == null || resolutionAnchor4.b != 1 || (resolutionAnchor5 = this.i) == null || (resolutionAnchor6 = resolutionAnchor5.d) == null || resolutionAnchor6.b != 1) {
|
||||
if (this.h != 3 || (resolutionAnchor = this.d) == null || resolutionAnchor.b != 1 || (resolutionAnchor2 = this.i) == null || (resolutionAnchor3 = resolutionAnchor2.d) == null || resolutionAnchor3.b != 1) {
|
||||
if (this.h == 5) {
|
||||
this.c.b.G();
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (LinearSystem.h() != null) {
|
||||
LinearSystem.h().w++;
|
||||
}
|
||||
ResolutionAnchor resolutionAnchor9 = this.d;
|
||||
this.f = resolutionAnchor9.f;
|
||||
ResolutionAnchor resolutionAnchor10 = this.i;
|
||||
ResolutionAnchor resolutionAnchor11 = resolutionAnchor10.d;
|
||||
resolutionAnchor10.f = resolutionAnchor11.f;
|
||||
this.g = resolutionAnchor9.g + this.e;
|
||||
resolutionAnchor10.g = resolutionAnchor11.g + resolutionAnchor10.e;
|
||||
a();
|
||||
this.i.a();
|
||||
return;
|
||||
}
|
||||
if (LinearSystem.h() != null) {
|
||||
LinearSystem.h().v++;
|
||||
}
|
||||
this.f = this.d.f;
|
||||
ResolutionAnchor resolutionAnchor12 = this.i;
|
||||
resolutionAnchor12.f = resolutionAnchor12.d.f;
|
||||
ConstraintAnchor.Type type = this.c.c;
|
||||
int i = 0;
|
||||
if (type != ConstraintAnchor.Type.RIGHT && type != ConstraintAnchor.Type.BOTTOM) {
|
||||
z = false;
|
||||
}
|
||||
if (z) {
|
||||
f = this.d.g;
|
||||
f2 = this.i.d.g;
|
||||
} else {
|
||||
f = this.i.d.g;
|
||||
f2 = this.d.g;
|
||||
}
|
||||
float f5 = f - f2;
|
||||
ConstraintAnchor.Type type2 = this.c.c;
|
||||
if (type2 == ConstraintAnchor.Type.LEFT || type2 == ConstraintAnchor.Type.RIGHT) {
|
||||
s = f5 - this.c.b.s();
|
||||
f3 = this.c.b.V;
|
||||
} else {
|
||||
s = f5 - r2.b.i();
|
||||
f3 = this.c.b.W;
|
||||
}
|
||||
int b = this.c.b();
|
||||
int b2 = this.i.c.b();
|
||||
if (this.c.g() == this.i.c.g()) {
|
||||
f3 = 0.5f;
|
||||
b2 = 0;
|
||||
} else {
|
||||
i = b;
|
||||
}
|
||||
float f6 = i;
|
||||
float f7 = b2;
|
||||
float f8 = (s - f6) - f7;
|
||||
if (z) {
|
||||
ResolutionAnchor resolutionAnchor13 = this.i;
|
||||
resolutionAnchor13.g = resolutionAnchor13.d.g + f7 + (f8 * f3);
|
||||
this.g = (this.d.g - f6) - (f8 * (1.0f - f3));
|
||||
} else {
|
||||
this.g = this.d.g + f6 + (f8 * f3);
|
||||
ResolutionAnchor resolutionAnchor14 = this.i;
|
||||
resolutionAnchor14.g = (resolutionAnchor14.d.g - f7) - (f8 * (1.0f - f3));
|
||||
}
|
||||
a();
|
||||
this.i.a();
|
||||
}
|
||||
|
||||
public float f() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public void g() {
|
||||
ConstraintAnchor g = this.c.g();
|
||||
if (g == null) {
|
||||
return;
|
||||
}
|
||||
if (g.g() == this.c) {
|
||||
this.h = 4;
|
||||
g.d().h = 4;
|
||||
}
|
||||
int b = this.c.b();
|
||||
ConstraintAnchor.Type type = this.c.c;
|
||||
if (type == ConstraintAnchor.Type.RIGHT || type == ConstraintAnchor.Type.BOTTOM) {
|
||||
b = -b;
|
||||
}
|
||||
a(g.d(), b);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
if (this.b != 1) {
|
||||
return "{ " + this.c + " UNRESOLVED} type: " + a(this.h);
|
||||
}
|
||||
if (this.f == this) {
|
||||
return "[" + this.c + ", RESOLVED: " + this.g + "] type: " + a(this.h);
|
||||
}
|
||||
return "[" + this.c + ", RESOLVED: " + this.f + ":" + this.g + "] type: " + a(this.h);
|
||||
}
|
||||
|
||||
public void b(ResolutionAnchor resolutionAnchor, float f) {
|
||||
this.i = resolutionAnchor;
|
||||
}
|
||||
|
||||
public void b(ResolutionAnchor resolutionAnchor, int i, ResolutionDimension resolutionDimension) {
|
||||
this.i = resolutionAnchor;
|
||||
this.l = resolutionDimension;
|
||||
this.m = i;
|
||||
}
|
||||
|
||||
public void a(int i, ResolutionAnchor resolutionAnchor, int i2) {
|
||||
this.h = i;
|
||||
this.d = resolutionAnchor;
|
||||
this.e = i2;
|
||||
this.d.a(this);
|
||||
}
|
||||
|
||||
public void a(ResolutionAnchor resolutionAnchor, int i) {
|
||||
this.d = resolutionAnchor;
|
||||
this.e = i;
|
||||
this.d.a(this);
|
||||
}
|
||||
|
||||
public void a(ResolutionAnchor resolutionAnchor, int i, ResolutionDimension resolutionDimension) {
|
||||
this.d = resolutionAnchor;
|
||||
this.d.a(this);
|
||||
this.j = resolutionDimension;
|
||||
this.k = i;
|
||||
this.j.a(this);
|
||||
}
|
||||
|
||||
void a(LinearSystem linearSystem) {
|
||||
SolverVariable e = this.c.e();
|
||||
ResolutionAnchor resolutionAnchor = this.f;
|
||||
if (resolutionAnchor == null) {
|
||||
linearSystem.a(e, (int) (this.g + 0.5f));
|
||||
} else {
|
||||
linearSystem.a(e, linearSystem.a(resolutionAnchor.c), (int) (this.g + 0.5f), 6);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ResolutionDimension extends ResolutionNode {
|
||||
float c = 0.0f;
|
||||
|
||||
public void a(int i) {
|
||||
if (this.b == 0 || this.c != i) {
|
||||
this.c = i;
|
||||
if (this.b == 1) {
|
||||
b();
|
||||
}
|
||||
a();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ResolutionNode
|
||||
public void d() {
|
||||
super.d();
|
||||
this.c = 0.0f;
|
||||
}
|
||||
|
||||
public void f() {
|
||||
this.b = 2;
|
||||
}
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ResolutionNode {
|
||||
HashSet<ResolutionNode> a = new HashSet<>(2);
|
||||
int b = 0;
|
||||
|
||||
public void a(ResolutionNode resolutionNode) {
|
||||
this.a.add(resolutionNode);
|
||||
}
|
||||
|
||||
public void b() {
|
||||
this.b = 0;
|
||||
Iterator<ResolutionNode> it = this.a.iterator();
|
||||
while (it.hasNext()) {
|
||||
it.next().b();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean c() {
|
||||
return this.b == 1;
|
||||
}
|
||||
|
||||
public void d() {
|
||||
this.b = 0;
|
||||
this.a.clear();
|
||||
}
|
||||
|
||||
public void e() {
|
||||
}
|
||||
|
||||
public void a() {
|
||||
this.b = 1;
|
||||
Iterator<ResolutionNode> it = this.a.iterator();
|
||||
while (it.hasNext()) {
|
||||
it.next().e();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,83 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.widgets.ConstraintAnchor;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Snapshot {
|
||||
private int a;
|
||||
private int b;
|
||||
private int c;
|
||||
private int d;
|
||||
private ArrayList<Connection> e = new ArrayList<>();
|
||||
|
||||
static class Connection {
|
||||
private ConstraintAnchor a;
|
||||
private ConstraintAnchor b;
|
||||
private int c;
|
||||
private ConstraintAnchor.Strength d;
|
||||
private int e;
|
||||
|
||||
public Connection(ConstraintAnchor constraintAnchor) {
|
||||
this.a = constraintAnchor;
|
||||
this.b = constraintAnchor.g();
|
||||
this.c = constraintAnchor.b();
|
||||
this.d = constraintAnchor.f();
|
||||
this.e = constraintAnchor.a();
|
||||
}
|
||||
|
||||
public void a(ConstraintWidget constraintWidget) {
|
||||
constraintWidget.a(this.a.h()).a(this.b, this.c, this.d, this.e);
|
||||
}
|
||||
|
||||
public void b(ConstraintWidget constraintWidget) {
|
||||
this.a = constraintWidget.a(this.a.h());
|
||||
ConstraintAnchor constraintAnchor = this.a;
|
||||
if (constraintAnchor != null) {
|
||||
this.b = constraintAnchor.g();
|
||||
this.c = this.a.b();
|
||||
this.d = this.a.f();
|
||||
this.e = this.a.a();
|
||||
return;
|
||||
}
|
||||
this.b = null;
|
||||
this.c = 0;
|
||||
this.d = ConstraintAnchor.Strength.STRONG;
|
||||
this.e = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public Snapshot(ConstraintWidget constraintWidget) {
|
||||
this.a = constraintWidget.v();
|
||||
this.b = constraintWidget.w();
|
||||
this.c = constraintWidget.s();
|
||||
this.d = constraintWidget.i();
|
||||
ArrayList<ConstraintAnchor> b = constraintWidget.b();
|
||||
int size = b.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.e.add(new Connection(b.get(i)));
|
||||
}
|
||||
}
|
||||
|
||||
public void a(ConstraintWidget constraintWidget) {
|
||||
constraintWidget.r(this.a);
|
||||
constraintWidget.s(this.b);
|
||||
constraintWidget.o(this.c);
|
||||
constraintWidget.g(this.d);
|
||||
int size = this.e.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.e.get(i).a(constraintWidget);
|
||||
}
|
||||
}
|
||||
|
||||
public void b(ConstraintWidget constraintWidget) {
|
||||
this.a = constraintWidget.v();
|
||||
this.b = constraintWidget.w();
|
||||
this.c = constraintWidget.s();
|
||||
this.d = constraintWidget.i();
|
||||
int size = this.e.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.e.get(i).b(constraintWidget);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,95 @@
|
||||
package androidx.constraintlayout.solver.widgets;
|
||||
|
||||
import androidx.constraintlayout.solver.Cache;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class WidgetContainer extends ConstraintWidget {
|
||||
protected ArrayList<ConstraintWidget> k0 = new ArrayList<>();
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void D() {
|
||||
this.k0.clear();
|
||||
super.D();
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void H() {
|
||||
super.H();
|
||||
ArrayList<ConstraintWidget> arrayList = this.k0;
|
||||
if (arrayList == null) {
|
||||
return;
|
||||
}
|
||||
int size = arrayList.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
ConstraintWidget constraintWidget = this.k0.get(i);
|
||||
constraintWidget.b(g(), h());
|
||||
if (!(constraintWidget instanceof ConstraintWidgetContainer)) {
|
||||
constraintWidget.H();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ConstraintWidgetContainer J() {
|
||||
ConstraintWidget k = k();
|
||||
ConstraintWidgetContainer constraintWidgetContainer = this instanceof ConstraintWidgetContainer ? (ConstraintWidgetContainer) this : null;
|
||||
while (k != null) {
|
||||
ConstraintWidget k2 = k.k();
|
||||
if (k instanceof ConstraintWidgetContainer) {
|
||||
constraintWidgetContainer = (ConstraintWidgetContainer) k;
|
||||
}
|
||||
k = k2;
|
||||
}
|
||||
return constraintWidgetContainer;
|
||||
}
|
||||
|
||||
public void K() {
|
||||
H();
|
||||
ArrayList<ConstraintWidget> arrayList = this.k0;
|
||||
if (arrayList == null) {
|
||||
return;
|
||||
}
|
||||
int size = arrayList.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
ConstraintWidget constraintWidget = this.k0.get(i);
|
||||
if (constraintWidget instanceof WidgetContainer) {
|
||||
((WidgetContainer) constraintWidget).K();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void L() {
|
||||
this.k0.clear();
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void a(Cache cache) {
|
||||
super.a(cache);
|
||||
int size = this.k0.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
this.k0.get(i).a(cache);
|
||||
}
|
||||
}
|
||||
|
||||
public void b(ConstraintWidget constraintWidget) {
|
||||
this.k0.add(constraintWidget);
|
||||
if (constraintWidget.k() != null) {
|
||||
((WidgetContainer) constraintWidget.k()).c(constraintWidget);
|
||||
}
|
||||
constraintWidget.a((ConstraintWidget) this);
|
||||
}
|
||||
|
||||
public void c(ConstraintWidget constraintWidget) {
|
||||
this.k0.remove(constraintWidget);
|
||||
constraintWidget.a((ConstraintWidget) null);
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.solver.widgets.ConstraintWidget
|
||||
public void b(int i, int i2) {
|
||||
super.b(i, i2);
|
||||
int size = this.k0.size();
|
||||
for (int i3 = 0; i3 < size; i3++) {
|
||||
this.k0.get(i3).b(o(), p());
|
||||
}
|
||||
}
|
||||
}
|
76
sources/androidx/constraintlayout/widget/Barrier.java
Normal file
76
sources/androidx/constraintlayout/widget/Barrier.java
Normal file
@@ -0,0 +1,76 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Barrier extends ConstraintHelper {
|
||||
private int g;
|
||||
private int h;
|
||||
private androidx.constraintlayout.solver.widgets.Barrier i;
|
||||
|
||||
public Barrier(Context context) {
|
||||
super(context);
|
||||
super.setVisibility(8);
|
||||
}
|
||||
|
||||
@Override // androidx.constraintlayout.widget.ConstraintHelper
|
||||
protected void a(AttributeSet attributeSet) {
|
||||
super.a(attributeSet);
|
||||
this.i = new androidx.constraintlayout.solver.widgets.Barrier();
|
||||
if (attributeSet != null) {
|
||||
TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attributeSet, R$styleable.ConstraintLayout_Layout);
|
||||
int indexCount = obtainStyledAttributes.getIndexCount();
|
||||
for (int i = 0; i < indexCount; i++) {
|
||||
int index = obtainStyledAttributes.getIndex(i);
|
||||
if (index == R$styleable.ConstraintLayout_Layout_barrierDirection) {
|
||||
setType(obtainStyledAttributes.getInt(index, 0));
|
||||
} else if (index == R$styleable.ConstraintLayout_Layout_barrierAllowsGoneWidgets) {
|
||||
this.i.c(obtainStyledAttributes.getBoolean(index, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.d = this.i;
|
||||
a();
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public void setAllowsGoneWidget(boolean z) {
|
||||
this.i.c(z);
|
||||
}
|
||||
|
||||
public void setType(int i) {
|
||||
this.g = i;
|
||||
this.h = i;
|
||||
if (Build.VERSION.SDK_INT < 17) {
|
||||
int i2 = this.g;
|
||||
if (i2 == 5) {
|
||||
this.h = 0;
|
||||
} else if (i2 == 6) {
|
||||
this.h = 1;
|
||||
}
|
||||
} else {
|
||||
if (1 == getResources().getConfiguration().getLayoutDirection()) {
|
||||
int i3 = this.g;
|
||||
if (i3 == 5) {
|
||||
this.h = 1;
|
||||
} else if (i3 == 6) {
|
||||
this.h = 0;
|
||||
}
|
||||
} else {
|
||||
int i4 = this.g;
|
||||
if (i4 == 5) {
|
||||
this.h = 0;
|
||||
} else if (i4 == 6) {
|
||||
this.h = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.i.t(this.h);
|
||||
}
|
||||
}
|
157
sources/androidx/constraintlayout/widget/ConstraintHelper.java
Normal file
157
sources/androidx/constraintlayout/widget/ConstraintHelper.java
Normal file
@@ -0,0 +1,157 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.constraintlayout.solver.widgets.Helper;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import com.ubt.jimu.controller.data.widget.JockstickDataConverter;
|
||||
import java.util.Arrays;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public abstract class ConstraintHelper extends View {
|
||||
protected int[] a;
|
||||
protected int b;
|
||||
protected Context c;
|
||||
protected Helper d;
|
||||
protected boolean e;
|
||||
private String f;
|
||||
|
||||
public ConstraintHelper(Context context) {
|
||||
super(context);
|
||||
this.a = new int[32];
|
||||
this.e = false;
|
||||
this.c = context;
|
||||
a((AttributeSet) null);
|
||||
}
|
||||
|
||||
private void setIds(String str) {
|
||||
if (str == null) {
|
||||
return;
|
||||
}
|
||||
int i = 0;
|
||||
while (true) {
|
||||
int indexOf = str.indexOf(44, i);
|
||||
if (indexOf == -1) {
|
||||
a(str.substring(i));
|
||||
return;
|
||||
} else {
|
||||
a(str.substring(i, indexOf));
|
||||
i = indexOf + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void a(AttributeSet attributeSet) {
|
||||
if (attributeSet != null) {
|
||||
TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attributeSet, R$styleable.ConstraintLayout_Layout);
|
||||
int indexCount = obtainStyledAttributes.getIndexCount();
|
||||
for (int i = 0; i < indexCount; i++) {
|
||||
int index = obtainStyledAttributes.getIndex(i);
|
||||
if (index == R$styleable.ConstraintLayout_Layout_constraint_referenced_ids) {
|
||||
this.f = obtainStyledAttributes.getString(index);
|
||||
setIds(this.f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void a(ConstraintLayout constraintLayout) {
|
||||
}
|
||||
|
||||
public void b(ConstraintLayout constraintLayout) {
|
||||
}
|
||||
|
||||
public void c(ConstraintLayout constraintLayout) {
|
||||
if (isInEditMode()) {
|
||||
setIds(this.f);
|
||||
}
|
||||
Helper helper = this.d;
|
||||
if (helper == null) {
|
||||
return;
|
||||
}
|
||||
helper.J();
|
||||
for (int i = 0; i < this.b; i++) {
|
||||
View a = constraintLayout.a(this.a[i]);
|
||||
if (a != null) {
|
||||
this.d.b(constraintLayout.a(a));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int[] getReferencedIds() {
|
||||
return Arrays.copyOf(this.a, this.b);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void onDraw(Canvas canvas) {
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
protected void onMeasure(int i, int i2) {
|
||||
if (this.e) {
|
||||
super.onMeasure(i, i2);
|
||||
} else {
|
||||
setMeasuredDimension(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void setReferencedIds(int[] iArr) {
|
||||
this.b = 0;
|
||||
for (int i : iArr) {
|
||||
setTag(i, null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void setTag(int i, Object obj) {
|
||||
int i2 = this.b + 1;
|
||||
int[] iArr = this.a;
|
||||
if (i2 > iArr.length) {
|
||||
this.a = Arrays.copyOf(iArr, iArr.length * 2);
|
||||
}
|
||||
int[] iArr2 = this.a;
|
||||
int i3 = this.b;
|
||||
iArr2[i3] = i;
|
||||
this.b = i3 + 1;
|
||||
}
|
||||
|
||||
public void a() {
|
||||
if (this.d == null) {
|
||||
return;
|
||||
}
|
||||
ViewGroup.LayoutParams layoutParams = getLayoutParams();
|
||||
if (layoutParams instanceof ConstraintLayout.LayoutParams) {
|
||||
((ConstraintLayout.LayoutParams) layoutParams).k0 = this.d;
|
||||
}
|
||||
}
|
||||
|
||||
private void a(String str) {
|
||||
int i;
|
||||
Object a;
|
||||
if (str == null || this.c == null) {
|
||||
return;
|
||||
}
|
||||
String trim = str.trim();
|
||||
try {
|
||||
i = R$id.class.getField(trim).getInt(null);
|
||||
} catch (Exception unused) {
|
||||
i = 0;
|
||||
}
|
||||
if (i == 0) {
|
||||
i = this.c.getResources().getIdentifier(trim, JockstickDataConverter.ID, this.c.getPackageName());
|
||||
}
|
||||
if (i == 0 && isInEditMode() && (getParent() instanceof ConstraintLayout) && (a = ((ConstraintLayout) getParent()).a(0, trim)) != null && (a instanceof Integer)) {
|
||||
i = ((Integer) a).intValue();
|
||||
}
|
||||
if (i != 0) {
|
||||
setTag(i, null);
|
||||
return;
|
||||
}
|
||||
Log.w("ConstraintHelper", "Could not find id of \"" + trim + "\"");
|
||||
}
|
||||
}
|
1344
sources/androidx/constraintlayout/widget/ConstraintLayout.java
Normal file
1344
sources/androidx/constraintlayout/widget/ConstraintLayout.java
Normal file
File diff suppressed because it is too large
Load Diff
871
sources/androidx/constraintlayout/widget/ConstraintSet.java
Normal file
871
sources/androidx/constraintlayout/widget/ConstraintSet.java
Normal file
@@ -0,0 +1,871 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.content.res.XmlResourceParser;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.util.SparseIntArray;
|
||||
import android.util.Xml;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.constraintlayout.widget.Constraints;
|
||||
import com.ubt.jimu.controller.data.widget.JockstickDataConverter;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ConstraintSet {
|
||||
private static final int[] b = {0, 4, 8};
|
||||
private static SparseIntArray c = new SparseIntArray();
|
||||
private HashMap<Integer, Constraint> a = new HashMap<>();
|
||||
|
||||
private static class Constraint {
|
||||
public int A;
|
||||
public int B;
|
||||
public int C;
|
||||
public int D;
|
||||
public int E;
|
||||
public int F;
|
||||
public int G;
|
||||
public int H;
|
||||
public int I;
|
||||
public int J;
|
||||
public int K;
|
||||
public int L;
|
||||
public int M;
|
||||
public int N;
|
||||
public int O;
|
||||
public int P;
|
||||
public float Q;
|
||||
public float R;
|
||||
public int S;
|
||||
public int T;
|
||||
public float U;
|
||||
public boolean V;
|
||||
public float W;
|
||||
public float X;
|
||||
public float Y;
|
||||
public float Z;
|
||||
boolean a;
|
||||
public float a0;
|
||||
public int b;
|
||||
public float b0;
|
||||
public int c;
|
||||
public float c0;
|
||||
int d;
|
||||
public float d0;
|
||||
public int e;
|
||||
public float e0;
|
||||
public int f;
|
||||
public float f0;
|
||||
public float g;
|
||||
public float g0;
|
||||
public int h;
|
||||
public boolean h0;
|
||||
public int i;
|
||||
public boolean i0;
|
||||
public int j;
|
||||
public int j0;
|
||||
public int k;
|
||||
public int k0;
|
||||
public int l;
|
||||
public int l0;
|
||||
public int m;
|
||||
public int m0;
|
||||
public int n;
|
||||
public int n0;
|
||||
public int o;
|
||||
public int o0;
|
||||
public int p;
|
||||
public float p0;
|
||||
public int q;
|
||||
public float q0;
|
||||
public int r;
|
||||
public boolean r0;
|
||||
public int s;
|
||||
public int s0;
|
||||
public int t;
|
||||
public int t0;
|
||||
public float u;
|
||||
public int[] u0;
|
||||
public float v;
|
||||
public String v0;
|
||||
public String w;
|
||||
public int x;
|
||||
public int y;
|
||||
public float z;
|
||||
|
||||
private Constraint() {
|
||||
this.a = false;
|
||||
this.e = -1;
|
||||
this.f = -1;
|
||||
this.g = -1.0f;
|
||||
this.h = -1;
|
||||
this.i = -1;
|
||||
this.j = -1;
|
||||
this.k = -1;
|
||||
this.l = -1;
|
||||
this.m = -1;
|
||||
this.n = -1;
|
||||
this.o = -1;
|
||||
this.p = -1;
|
||||
this.q = -1;
|
||||
this.r = -1;
|
||||
this.s = -1;
|
||||
this.t = -1;
|
||||
this.u = 0.5f;
|
||||
this.v = 0.5f;
|
||||
this.w = null;
|
||||
this.x = -1;
|
||||
this.y = 0;
|
||||
this.z = 0.0f;
|
||||
this.A = -1;
|
||||
this.B = -1;
|
||||
this.C = -1;
|
||||
this.D = -1;
|
||||
this.E = -1;
|
||||
this.F = -1;
|
||||
this.G = -1;
|
||||
this.H = -1;
|
||||
this.I = -1;
|
||||
this.J = 0;
|
||||
this.K = -1;
|
||||
this.L = -1;
|
||||
this.M = -1;
|
||||
this.N = -1;
|
||||
this.O = -1;
|
||||
this.P = -1;
|
||||
this.Q = 0.0f;
|
||||
this.R = 0.0f;
|
||||
this.S = 0;
|
||||
this.T = 0;
|
||||
this.U = 1.0f;
|
||||
this.V = false;
|
||||
this.W = 0.0f;
|
||||
this.X = 0.0f;
|
||||
this.Y = 0.0f;
|
||||
this.Z = 0.0f;
|
||||
this.a0 = 1.0f;
|
||||
this.b0 = 1.0f;
|
||||
this.c0 = Float.NaN;
|
||||
this.d0 = Float.NaN;
|
||||
this.e0 = 0.0f;
|
||||
this.f0 = 0.0f;
|
||||
this.g0 = 0.0f;
|
||||
this.h0 = false;
|
||||
this.i0 = false;
|
||||
this.j0 = 0;
|
||||
this.k0 = 0;
|
||||
this.l0 = -1;
|
||||
this.m0 = -1;
|
||||
this.n0 = -1;
|
||||
this.o0 = -1;
|
||||
this.p0 = 1.0f;
|
||||
this.q0 = 1.0f;
|
||||
this.r0 = false;
|
||||
this.s0 = -1;
|
||||
this.t0 = -1;
|
||||
}
|
||||
|
||||
/* renamed from: clone, reason: merged with bridge method [inline-methods] */
|
||||
public Constraint m2clone() {
|
||||
Constraint constraint = new Constraint();
|
||||
constraint.a = this.a;
|
||||
constraint.b = this.b;
|
||||
constraint.c = this.c;
|
||||
constraint.e = this.e;
|
||||
constraint.f = this.f;
|
||||
constraint.g = this.g;
|
||||
constraint.h = this.h;
|
||||
constraint.i = this.i;
|
||||
constraint.j = this.j;
|
||||
constraint.k = this.k;
|
||||
constraint.l = this.l;
|
||||
constraint.m = this.m;
|
||||
constraint.n = this.n;
|
||||
constraint.o = this.o;
|
||||
constraint.p = this.p;
|
||||
constraint.q = this.q;
|
||||
constraint.r = this.r;
|
||||
constraint.s = this.s;
|
||||
constraint.t = this.t;
|
||||
constraint.u = this.u;
|
||||
constraint.v = this.v;
|
||||
constraint.w = this.w;
|
||||
constraint.A = this.A;
|
||||
constraint.B = this.B;
|
||||
constraint.u = this.u;
|
||||
constraint.u = this.u;
|
||||
constraint.u = this.u;
|
||||
constraint.u = this.u;
|
||||
constraint.u = this.u;
|
||||
constraint.C = this.C;
|
||||
constraint.D = this.D;
|
||||
constraint.E = this.E;
|
||||
constraint.F = this.F;
|
||||
constraint.G = this.G;
|
||||
constraint.H = this.H;
|
||||
constraint.I = this.I;
|
||||
constraint.J = this.J;
|
||||
constraint.K = this.K;
|
||||
constraint.L = this.L;
|
||||
constraint.M = this.M;
|
||||
constraint.N = this.N;
|
||||
constraint.O = this.O;
|
||||
constraint.P = this.P;
|
||||
constraint.Q = this.Q;
|
||||
constraint.R = this.R;
|
||||
constraint.S = this.S;
|
||||
constraint.T = this.T;
|
||||
constraint.U = this.U;
|
||||
constraint.V = this.V;
|
||||
constraint.W = this.W;
|
||||
constraint.X = this.X;
|
||||
constraint.Y = this.Y;
|
||||
constraint.Z = this.Z;
|
||||
constraint.a0 = this.a0;
|
||||
constraint.b0 = this.b0;
|
||||
constraint.c0 = this.c0;
|
||||
constraint.d0 = this.d0;
|
||||
constraint.e0 = this.e0;
|
||||
constraint.f0 = this.f0;
|
||||
constraint.g0 = this.g0;
|
||||
constraint.h0 = this.h0;
|
||||
constraint.i0 = this.i0;
|
||||
constraint.j0 = this.j0;
|
||||
constraint.k0 = this.k0;
|
||||
constraint.l0 = this.l0;
|
||||
constraint.m0 = this.m0;
|
||||
constraint.n0 = this.n0;
|
||||
constraint.o0 = this.o0;
|
||||
constraint.p0 = this.p0;
|
||||
constraint.q0 = this.q0;
|
||||
constraint.s0 = this.s0;
|
||||
constraint.t0 = this.t0;
|
||||
int[] iArr = this.u0;
|
||||
if (iArr != null) {
|
||||
constraint.u0 = Arrays.copyOf(iArr, iArr.length);
|
||||
}
|
||||
constraint.x = this.x;
|
||||
constraint.y = this.y;
|
||||
constraint.z = this.z;
|
||||
constraint.r0 = this.r0;
|
||||
return constraint;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void a(ConstraintHelper constraintHelper, int i, Constraints.LayoutParams layoutParams) {
|
||||
a(i, layoutParams);
|
||||
if (constraintHelper instanceof Barrier) {
|
||||
this.t0 = 1;
|
||||
Barrier barrier = (Barrier) constraintHelper;
|
||||
this.s0 = barrier.getType();
|
||||
this.u0 = barrier.getReferencedIds();
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void a(int i, Constraints.LayoutParams layoutParams) {
|
||||
a(i, (ConstraintLayout.LayoutParams) layoutParams);
|
||||
this.U = layoutParams.m0;
|
||||
this.X = layoutParams.p0;
|
||||
this.Y = layoutParams.q0;
|
||||
this.Z = layoutParams.r0;
|
||||
this.a0 = layoutParams.s0;
|
||||
this.b0 = layoutParams.t0;
|
||||
this.c0 = layoutParams.u0;
|
||||
this.d0 = layoutParams.v0;
|
||||
this.e0 = layoutParams.w0;
|
||||
this.f0 = layoutParams.x0;
|
||||
this.g0 = layoutParams.y0;
|
||||
this.W = layoutParams.o0;
|
||||
this.V = layoutParams.n0;
|
||||
}
|
||||
|
||||
private void a(int i, ConstraintLayout.LayoutParams layoutParams) {
|
||||
this.d = i;
|
||||
this.h = layoutParams.d;
|
||||
this.i = layoutParams.e;
|
||||
this.j = layoutParams.f;
|
||||
this.k = layoutParams.g;
|
||||
this.l = layoutParams.h;
|
||||
this.m = layoutParams.i;
|
||||
this.n = layoutParams.j;
|
||||
this.o = layoutParams.k;
|
||||
this.p = layoutParams.l;
|
||||
this.q = layoutParams.p;
|
||||
this.r = layoutParams.q;
|
||||
this.s = layoutParams.r;
|
||||
this.t = layoutParams.s;
|
||||
this.u = layoutParams.z;
|
||||
this.v = layoutParams.A;
|
||||
this.w = layoutParams.B;
|
||||
this.x = layoutParams.m;
|
||||
this.y = layoutParams.n;
|
||||
this.z = layoutParams.o;
|
||||
this.A = layoutParams.P;
|
||||
this.B = layoutParams.Q;
|
||||
this.C = layoutParams.R;
|
||||
this.g = layoutParams.c;
|
||||
this.e = layoutParams.a;
|
||||
this.f = layoutParams.b;
|
||||
this.b = ((ViewGroup.MarginLayoutParams) layoutParams).width;
|
||||
this.c = ((ViewGroup.MarginLayoutParams) layoutParams).height;
|
||||
this.D = ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin;
|
||||
this.E = ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin;
|
||||
this.F = ((ViewGroup.MarginLayoutParams) layoutParams).topMargin;
|
||||
this.G = ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin;
|
||||
this.Q = layoutParams.E;
|
||||
this.R = layoutParams.D;
|
||||
this.T = layoutParams.G;
|
||||
this.S = layoutParams.F;
|
||||
boolean z = layoutParams.S;
|
||||
this.h0 = z;
|
||||
this.i0 = layoutParams.T;
|
||||
this.j0 = layoutParams.H;
|
||||
this.k0 = layoutParams.I;
|
||||
this.h0 = z;
|
||||
this.l0 = layoutParams.L;
|
||||
this.m0 = layoutParams.M;
|
||||
this.n0 = layoutParams.J;
|
||||
this.o0 = layoutParams.K;
|
||||
this.p0 = layoutParams.N;
|
||||
this.q0 = layoutParams.O;
|
||||
if (Build.VERSION.SDK_INT >= 17) {
|
||||
this.H = layoutParams.getMarginEnd();
|
||||
this.I = layoutParams.getMarginStart();
|
||||
}
|
||||
}
|
||||
|
||||
public void a(ConstraintLayout.LayoutParams layoutParams) {
|
||||
layoutParams.d = this.h;
|
||||
layoutParams.e = this.i;
|
||||
layoutParams.f = this.j;
|
||||
layoutParams.g = this.k;
|
||||
layoutParams.h = this.l;
|
||||
layoutParams.i = this.m;
|
||||
layoutParams.j = this.n;
|
||||
layoutParams.k = this.o;
|
||||
layoutParams.l = this.p;
|
||||
layoutParams.p = this.q;
|
||||
layoutParams.q = this.r;
|
||||
layoutParams.r = this.s;
|
||||
layoutParams.s = this.t;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).leftMargin = this.D;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).rightMargin = this.E;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).topMargin = this.F;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin = this.G;
|
||||
layoutParams.x = this.P;
|
||||
layoutParams.y = this.O;
|
||||
layoutParams.z = this.u;
|
||||
layoutParams.A = this.v;
|
||||
layoutParams.m = this.x;
|
||||
layoutParams.n = this.y;
|
||||
layoutParams.o = this.z;
|
||||
layoutParams.B = this.w;
|
||||
layoutParams.P = this.A;
|
||||
layoutParams.Q = this.B;
|
||||
layoutParams.E = this.Q;
|
||||
layoutParams.D = this.R;
|
||||
layoutParams.G = this.T;
|
||||
layoutParams.F = this.S;
|
||||
layoutParams.S = this.h0;
|
||||
layoutParams.T = this.i0;
|
||||
layoutParams.H = this.j0;
|
||||
layoutParams.I = this.k0;
|
||||
layoutParams.L = this.l0;
|
||||
layoutParams.M = this.m0;
|
||||
layoutParams.J = this.n0;
|
||||
layoutParams.K = this.o0;
|
||||
layoutParams.N = this.p0;
|
||||
layoutParams.O = this.q0;
|
||||
layoutParams.R = this.C;
|
||||
layoutParams.c = this.g;
|
||||
layoutParams.a = this.e;
|
||||
layoutParams.b = this.f;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).width = this.b;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).height = this.c;
|
||||
if (Build.VERSION.SDK_INT >= 17) {
|
||||
layoutParams.setMarginStart(this.I);
|
||||
layoutParams.setMarginEnd(this.H);
|
||||
}
|
||||
layoutParams.a();
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintLeft_toLeftOf, 25);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintLeft_toRightOf, 26);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintRight_toLeftOf, 29);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintRight_toRightOf, 30);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintTop_toTopOf, 36);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintTop_toBottomOf, 35);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintBottom_toTopOf, 4);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintBottom_toBottomOf, 3);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintBaseline_toBaselineOf, 1);
|
||||
c.append(R$styleable.ConstraintSet_layout_editor_absoluteX, 6);
|
||||
c.append(R$styleable.ConstraintSet_layout_editor_absoluteY, 7);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintGuide_begin, 17);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintGuide_end, 18);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintGuide_percent, 19);
|
||||
c.append(R$styleable.ConstraintSet_android_orientation, 27);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintStart_toEndOf, 32);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintStart_toStartOf, 33);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintEnd_toStartOf, 10);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintEnd_toEndOf, 9);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginLeft, 13);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginTop, 16);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginRight, 14);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginBottom, 11);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginStart, 15);
|
||||
c.append(R$styleable.ConstraintSet_layout_goneMarginEnd, 12);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintVertical_weight, 40);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHorizontal_weight, 39);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHorizontal_chainStyle, 41);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintVertical_chainStyle, 42);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHorizontal_bias, 20);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintVertical_bias, 37);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintDimensionRatio, 5);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintLeft_creator, 75);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintTop_creator, 75);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintRight_creator, 75);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintBottom_creator, 75);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintBaseline_creator, 75);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginLeft, 24);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginRight, 28);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginStart, 31);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginEnd, 8);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginTop, 34);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_marginBottom, 2);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_width, 23);
|
||||
c.append(R$styleable.ConstraintSet_android_layout_height, 21);
|
||||
c.append(R$styleable.ConstraintSet_android_visibility, 22);
|
||||
c.append(R$styleable.ConstraintSet_android_alpha, 43);
|
||||
c.append(R$styleable.ConstraintSet_android_elevation, 44);
|
||||
c.append(R$styleable.ConstraintSet_android_rotationX, 45);
|
||||
c.append(R$styleable.ConstraintSet_android_rotationY, 46);
|
||||
c.append(R$styleable.ConstraintSet_android_rotation, 60);
|
||||
c.append(R$styleable.ConstraintSet_android_scaleX, 47);
|
||||
c.append(R$styleable.ConstraintSet_android_scaleY, 48);
|
||||
c.append(R$styleable.ConstraintSet_android_transformPivotX, 49);
|
||||
c.append(R$styleable.ConstraintSet_android_transformPivotY, 50);
|
||||
c.append(R$styleable.ConstraintSet_android_translationX, 51);
|
||||
c.append(R$styleable.ConstraintSet_android_translationY, 52);
|
||||
c.append(R$styleable.ConstraintSet_android_translationZ, 53);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintWidth_default, 54);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHeight_default, 55);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintWidth_max, 56);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHeight_max, 57);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintWidth_min, 58);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHeight_min, 59);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintCircle, 61);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintCircleRadius, 62);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintCircleAngle, 63);
|
||||
c.append(R$styleable.ConstraintSet_android_id, 38);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintWidth_percent, 69);
|
||||
c.append(R$styleable.ConstraintSet_layout_constraintHeight_percent, 70);
|
||||
c.append(R$styleable.ConstraintSet_chainUseRtl, 71);
|
||||
c.append(R$styleable.ConstraintSet_barrierDirection, 72);
|
||||
c.append(R$styleable.ConstraintSet_constraint_referenced_ids, 73);
|
||||
c.append(R$styleable.ConstraintSet_barrierAllowsGoneWidgets, 74);
|
||||
}
|
||||
|
||||
public void a(Constraints constraints) {
|
||||
int childCount = constraints.getChildCount();
|
||||
this.a.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 (id == -1) {
|
||||
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
|
||||
}
|
||||
if (!this.a.containsKey(Integer.valueOf(id))) {
|
||||
this.a.put(Integer.valueOf(id), new Constraint());
|
||||
}
|
||||
Constraint constraint = this.a.get(Integer.valueOf(id));
|
||||
if (childAt instanceof ConstraintHelper) {
|
||||
constraint.a((ConstraintHelper) childAt, id, layoutParams);
|
||||
}
|
||||
constraint.a(id, layoutParams);
|
||||
}
|
||||
}
|
||||
|
||||
void a(ConstraintLayout constraintLayout) {
|
||||
int childCount = constraintLayout.getChildCount();
|
||||
HashSet hashSet = new HashSet(this.a.keySet());
|
||||
for (int i = 0; i < childCount; i++) {
|
||||
View childAt = constraintLayout.getChildAt(i);
|
||||
int id = childAt.getId();
|
||||
if (id != -1) {
|
||||
if (this.a.containsKey(Integer.valueOf(id))) {
|
||||
hashSet.remove(Integer.valueOf(id));
|
||||
Constraint constraint = this.a.get(Integer.valueOf(id));
|
||||
if (childAt instanceof Barrier) {
|
||||
constraint.t0 = 1;
|
||||
}
|
||||
int i2 = constraint.t0;
|
||||
if (i2 != -1 && i2 == 1) {
|
||||
Barrier barrier = (Barrier) childAt;
|
||||
barrier.setId(id);
|
||||
barrier.setType(constraint.s0);
|
||||
barrier.setAllowsGoneWidget(constraint.r0);
|
||||
int[] iArr = constraint.u0;
|
||||
if (iArr != null) {
|
||||
barrier.setReferencedIds(iArr);
|
||||
} else {
|
||||
String str = constraint.v0;
|
||||
if (str != null) {
|
||||
constraint.u0 = a(barrier, str);
|
||||
barrier.setReferencedIds(constraint.u0);
|
||||
}
|
||||
}
|
||||
}
|
||||
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) childAt.getLayoutParams();
|
||||
constraint.a(layoutParams);
|
||||
childAt.setLayoutParams(layoutParams);
|
||||
childAt.setVisibility(constraint.J);
|
||||
if (Build.VERSION.SDK_INT >= 17) {
|
||||
childAt.setAlpha(constraint.U);
|
||||
childAt.setRotation(constraint.X);
|
||||
childAt.setRotationX(constraint.Y);
|
||||
childAt.setRotationY(constraint.Z);
|
||||
childAt.setScaleX(constraint.a0);
|
||||
childAt.setScaleY(constraint.b0);
|
||||
if (!Float.isNaN(constraint.c0)) {
|
||||
childAt.setPivotX(constraint.c0);
|
||||
}
|
||||
if (!Float.isNaN(constraint.d0)) {
|
||||
childAt.setPivotY(constraint.d0);
|
||||
}
|
||||
childAt.setTranslationX(constraint.e0);
|
||||
childAt.setTranslationY(constraint.f0);
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
childAt.setTranslationZ(constraint.g0);
|
||||
if (constraint.V) {
|
||||
childAt.setElevation(constraint.W);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException("All children of ConstraintLayout must have ids to use ConstraintSet");
|
||||
}
|
||||
}
|
||||
Iterator it = hashSet.iterator();
|
||||
while (it.hasNext()) {
|
||||
Integer num = (Integer) it.next();
|
||||
Constraint constraint2 = this.a.get(num);
|
||||
int i3 = constraint2.t0;
|
||||
if (i3 != -1 && i3 == 1) {
|
||||
Barrier barrier2 = new Barrier(constraintLayout.getContext());
|
||||
barrier2.setId(num.intValue());
|
||||
int[] iArr2 = constraint2.u0;
|
||||
if (iArr2 != null) {
|
||||
barrier2.setReferencedIds(iArr2);
|
||||
} else {
|
||||
String str2 = constraint2.v0;
|
||||
if (str2 != null) {
|
||||
constraint2.u0 = a(barrier2, str2);
|
||||
barrier2.setReferencedIds(constraint2.u0);
|
||||
}
|
||||
}
|
||||
barrier2.setType(constraint2.s0);
|
||||
ConstraintLayout.LayoutParams generateDefaultLayoutParams = constraintLayout.generateDefaultLayoutParams();
|
||||
barrier2.a();
|
||||
constraint2.a(generateDefaultLayoutParams);
|
||||
constraintLayout.addView(barrier2, generateDefaultLayoutParams);
|
||||
}
|
||||
if (constraint2.a) {
|
||||
View guideline = new Guideline(constraintLayout.getContext());
|
||||
guideline.setId(num.intValue());
|
||||
ConstraintLayout.LayoutParams generateDefaultLayoutParams2 = constraintLayout.generateDefaultLayoutParams();
|
||||
constraint2.a(generateDefaultLayoutParams2);
|
||||
constraintLayout.addView(guideline, generateDefaultLayoutParams2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void a(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 a = a(context, Xml.asAttributeSet(xml));
|
||||
if (name.equalsIgnoreCase("Guideline")) {
|
||||
a.a = true;
|
||||
}
|
||||
this.a.put(Integer.valueOf(a.d), a);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} catch (XmlPullParserException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static int a(TypedArray typedArray, int i, int i2) {
|
||||
int resourceId = typedArray.getResourceId(i, i2);
|
||||
return resourceId == -1 ? typedArray.getInt(i, -1) : resourceId;
|
||||
}
|
||||
|
||||
private Constraint a(Context context, AttributeSet attributeSet) {
|
||||
Constraint constraint = new Constraint();
|
||||
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R$styleable.ConstraintSet);
|
||||
a(constraint, obtainStyledAttributes);
|
||||
obtainStyledAttributes.recycle();
|
||||
return constraint;
|
||||
}
|
||||
|
||||
private void a(Constraint constraint, TypedArray typedArray) {
|
||||
int indexCount = typedArray.getIndexCount();
|
||||
for (int i = 0; i < indexCount; i++) {
|
||||
int index = typedArray.getIndex(i);
|
||||
int i2 = c.get(index);
|
||||
switch (i2) {
|
||||
case 1:
|
||||
constraint.p = a(typedArray, index, constraint.p);
|
||||
break;
|
||||
case 2:
|
||||
constraint.G = typedArray.getDimensionPixelSize(index, constraint.G);
|
||||
break;
|
||||
case 3:
|
||||
constraint.o = a(typedArray, index, constraint.o);
|
||||
break;
|
||||
case 4:
|
||||
constraint.n = a(typedArray, index, constraint.n);
|
||||
break;
|
||||
case 5:
|
||||
constraint.w = typedArray.getString(index);
|
||||
break;
|
||||
case 6:
|
||||
constraint.A = typedArray.getDimensionPixelOffset(index, constraint.A);
|
||||
break;
|
||||
case 7:
|
||||
constraint.B = typedArray.getDimensionPixelOffset(index, constraint.B);
|
||||
break;
|
||||
case 8:
|
||||
constraint.H = typedArray.getDimensionPixelSize(index, constraint.H);
|
||||
break;
|
||||
case 9:
|
||||
constraint.t = a(typedArray, index, constraint.t);
|
||||
break;
|
||||
case 10:
|
||||
constraint.s = a(typedArray, index, constraint.s);
|
||||
break;
|
||||
case 11:
|
||||
constraint.N = typedArray.getDimensionPixelSize(index, constraint.N);
|
||||
break;
|
||||
case 12:
|
||||
constraint.O = typedArray.getDimensionPixelSize(index, constraint.O);
|
||||
break;
|
||||
case 13:
|
||||
constraint.K = typedArray.getDimensionPixelSize(index, constraint.K);
|
||||
break;
|
||||
case 14:
|
||||
constraint.M = typedArray.getDimensionPixelSize(index, constraint.M);
|
||||
break;
|
||||
case 15:
|
||||
constraint.P = typedArray.getDimensionPixelSize(index, constraint.P);
|
||||
break;
|
||||
case 16:
|
||||
constraint.L = typedArray.getDimensionPixelSize(index, constraint.L);
|
||||
break;
|
||||
case 17:
|
||||
constraint.e = typedArray.getDimensionPixelOffset(index, constraint.e);
|
||||
break;
|
||||
case 18:
|
||||
constraint.f = typedArray.getDimensionPixelOffset(index, constraint.f);
|
||||
break;
|
||||
case 19:
|
||||
constraint.g = typedArray.getFloat(index, constraint.g);
|
||||
break;
|
||||
case 20:
|
||||
constraint.u = typedArray.getFloat(index, constraint.u);
|
||||
break;
|
||||
case 21:
|
||||
constraint.c = typedArray.getLayoutDimension(index, constraint.c);
|
||||
break;
|
||||
case 22:
|
||||
constraint.J = typedArray.getInt(index, constraint.J);
|
||||
constraint.J = b[constraint.J];
|
||||
break;
|
||||
case 23:
|
||||
constraint.b = typedArray.getLayoutDimension(index, constraint.b);
|
||||
break;
|
||||
case 24:
|
||||
constraint.D = typedArray.getDimensionPixelSize(index, constraint.D);
|
||||
break;
|
||||
case 25:
|
||||
constraint.h = a(typedArray, index, constraint.h);
|
||||
break;
|
||||
case 26:
|
||||
constraint.i = a(typedArray, index, constraint.i);
|
||||
break;
|
||||
case 27:
|
||||
constraint.C = typedArray.getInt(index, constraint.C);
|
||||
break;
|
||||
case 28:
|
||||
constraint.E = typedArray.getDimensionPixelSize(index, constraint.E);
|
||||
break;
|
||||
case 29:
|
||||
constraint.j = a(typedArray, index, constraint.j);
|
||||
break;
|
||||
case 30:
|
||||
constraint.k = a(typedArray, index, constraint.k);
|
||||
break;
|
||||
case 31:
|
||||
constraint.I = typedArray.getDimensionPixelSize(index, constraint.I);
|
||||
break;
|
||||
case 32:
|
||||
constraint.q = a(typedArray, index, constraint.q);
|
||||
break;
|
||||
case 33:
|
||||
constraint.r = a(typedArray, index, constraint.r);
|
||||
break;
|
||||
case 34:
|
||||
constraint.F = typedArray.getDimensionPixelSize(index, constraint.F);
|
||||
break;
|
||||
case 35:
|
||||
constraint.m = a(typedArray, index, constraint.m);
|
||||
break;
|
||||
case 36:
|
||||
constraint.l = a(typedArray, index, constraint.l);
|
||||
break;
|
||||
case 37:
|
||||
constraint.v = typedArray.getFloat(index, constraint.v);
|
||||
break;
|
||||
case 38:
|
||||
constraint.d = typedArray.getResourceId(index, constraint.d);
|
||||
break;
|
||||
case 39:
|
||||
constraint.R = typedArray.getFloat(index, constraint.R);
|
||||
break;
|
||||
case 40:
|
||||
constraint.Q = typedArray.getFloat(index, constraint.Q);
|
||||
break;
|
||||
case 41:
|
||||
constraint.S = typedArray.getInt(index, constraint.S);
|
||||
break;
|
||||
case 42:
|
||||
constraint.T = typedArray.getInt(index, constraint.T);
|
||||
break;
|
||||
case 43:
|
||||
constraint.U = typedArray.getFloat(index, constraint.U);
|
||||
break;
|
||||
case 44:
|
||||
constraint.V = true;
|
||||
constraint.W = typedArray.getDimension(index, constraint.W);
|
||||
break;
|
||||
case 45:
|
||||
constraint.Y = typedArray.getFloat(index, constraint.Y);
|
||||
break;
|
||||
case 46:
|
||||
constraint.Z = typedArray.getFloat(index, constraint.Z);
|
||||
break;
|
||||
case 47:
|
||||
constraint.a0 = typedArray.getFloat(index, constraint.a0);
|
||||
break;
|
||||
case 48:
|
||||
constraint.b0 = typedArray.getFloat(index, constraint.b0);
|
||||
break;
|
||||
case 49:
|
||||
constraint.c0 = typedArray.getFloat(index, constraint.c0);
|
||||
break;
|
||||
case 50:
|
||||
constraint.d0 = typedArray.getFloat(index, constraint.d0);
|
||||
break;
|
||||
case 51:
|
||||
constraint.e0 = typedArray.getDimension(index, constraint.e0);
|
||||
break;
|
||||
case 52:
|
||||
constraint.f0 = typedArray.getDimension(index, constraint.f0);
|
||||
break;
|
||||
case 53:
|
||||
constraint.g0 = typedArray.getDimension(index, constraint.g0);
|
||||
break;
|
||||
default:
|
||||
switch (i2) {
|
||||
case 60:
|
||||
constraint.X = typedArray.getFloat(index, constraint.X);
|
||||
break;
|
||||
case 61:
|
||||
constraint.x = a(typedArray, index, constraint.x);
|
||||
break;
|
||||
case 62:
|
||||
constraint.y = typedArray.getDimensionPixelSize(index, constraint.y);
|
||||
break;
|
||||
case 63:
|
||||
constraint.z = typedArray.getFloat(index, constraint.z);
|
||||
break;
|
||||
default:
|
||||
switch (i2) {
|
||||
case 69:
|
||||
constraint.p0 = typedArray.getFloat(index, 1.0f);
|
||||
break;
|
||||
case 70:
|
||||
constraint.q0 = typedArray.getFloat(index, 1.0f);
|
||||
break;
|
||||
case 71:
|
||||
Log.e("ConstraintSet", "CURRENTLY UNSUPPORTED");
|
||||
break;
|
||||
case 72:
|
||||
constraint.s0 = typedArray.getInt(index, constraint.s0);
|
||||
break;
|
||||
case 73:
|
||||
constraint.v0 = typedArray.getString(index);
|
||||
break;
|
||||
case 74:
|
||||
constraint.r0 = typedArray.getBoolean(index, constraint.r0);
|
||||
break;
|
||||
case 75:
|
||||
Log.w("ConstraintSet", "unused attribute 0x" + Integer.toHexString(index) + " " + c.get(index));
|
||||
break;
|
||||
default:
|
||||
Log.w("ConstraintSet", "Unknown attribute 0x" + Integer.toHexString(index) + " " + c.get(index));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int[] a(View view, String str) {
|
||||
int i;
|
||||
Object a;
|
||||
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, JockstickDataConverter.ID, context.getPackageName());
|
||||
}
|
||||
if (i == 0 && view.isInEditMode() && (view.getParent() instanceof ConstraintLayout) && (a = ((ConstraintLayout) view.getParent()).a(0, trim)) != null && (a instanceof Integer)) {
|
||||
i = ((Integer) a).intValue();
|
||||
}
|
||||
iArr[i3] = i;
|
||||
i2++;
|
||||
i3++;
|
||||
}
|
||||
return i3 != split.length ? Arrays.copyOf(iArr, i3) : iArr;
|
||||
}
|
||||
}
|
121
sources/androidx/constraintlayout/widget/Constraints.java
Normal file
121
sources/androidx/constraintlayout/widget/Constraints.java
Normal file
@@ -0,0 +1,121 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Constraints extends ViewGroup {
|
||||
ConstraintSet a;
|
||||
|
||||
public ConstraintSet getConstraintSet() {
|
||||
if (this.a == null) {
|
||||
this.a = new ConstraintSet();
|
||||
}
|
||||
this.a.a(this);
|
||||
return this.a;
|
||||
}
|
||||
|
||||
@Override // android.view.ViewGroup, android.view.View
|
||||
protected void onLayout(boolean z, int i, int i2, int i3, int i4) {
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: protected */
|
||||
@Override // android.view.ViewGroup
|
||||
public LayoutParams generateDefaultLayoutParams() {
|
||||
return new LayoutParams(-2, -2);
|
||||
}
|
||||
|
||||
@Override // android.view.ViewGroup
|
||||
public LayoutParams generateLayoutParams(AttributeSet attributeSet) {
|
||||
return new LayoutParams(getContext(), attributeSet);
|
||||
}
|
||||
|
||||
@Override // android.view.ViewGroup
|
||||
protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) {
|
||||
return new ConstraintLayout.LayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
public static class LayoutParams extends ConstraintLayout.LayoutParams {
|
||||
public float m0;
|
||||
public boolean n0;
|
||||
public float o0;
|
||||
public float p0;
|
||||
public float q0;
|
||||
public float r0;
|
||||
public float s0;
|
||||
public float t0;
|
||||
public float u0;
|
||||
public float v0;
|
||||
public float w0;
|
||||
public float x0;
|
||||
public float y0;
|
||||
|
||||
public LayoutParams(int i, int i2) {
|
||||
super(i, i2);
|
||||
this.m0 = 1.0f;
|
||||
this.n0 = false;
|
||||
this.o0 = 0.0f;
|
||||
this.p0 = 0.0f;
|
||||
this.q0 = 0.0f;
|
||||
this.r0 = 0.0f;
|
||||
this.s0 = 1.0f;
|
||||
this.t0 = 1.0f;
|
||||
this.u0 = 0.0f;
|
||||
this.v0 = 0.0f;
|
||||
this.w0 = 0.0f;
|
||||
this.x0 = 0.0f;
|
||||
this.y0 = 0.0f;
|
||||
}
|
||||
|
||||
public LayoutParams(Context context, AttributeSet attributeSet) {
|
||||
super(context, attributeSet);
|
||||
this.m0 = 1.0f;
|
||||
this.n0 = false;
|
||||
this.o0 = 0.0f;
|
||||
this.p0 = 0.0f;
|
||||
this.q0 = 0.0f;
|
||||
this.r0 = 0.0f;
|
||||
this.s0 = 1.0f;
|
||||
this.t0 = 1.0f;
|
||||
this.u0 = 0.0f;
|
||||
this.v0 = 0.0f;
|
||||
this.w0 = 0.0f;
|
||||
this.x0 = 0.0f;
|
||||
this.y0 = 0.0f;
|
||||
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R$styleable.ConstraintSet);
|
||||
int indexCount = obtainStyledAttributes.getIndexCount();
|
||||
for (int i = 0; i < indexCount; i++) {
|
||||
int index = obtainStyledAttributes.getIndex(i);
|
||||
if (index == R$styleable.ConstraintSet_android_alpha) {
|
||||
this.m0 = obtainStyledAttributes.getFloat(index, this.m0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_elevation) {
|
||||
this.o0 = obtainStyledAttributes.getFloat(index, this.o0);
|
||||
this.n0 = true;
|
||||
} else if (index == R$styleable.ConstraintSet_android_rotationX) {
|
||||
this.q0 = obtainStyledAttributes.getFloat(index, this.q0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_rotationY) {
|
||||
this.r0 = obtainStyledAttributes.getFloat(index, this.r0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_rotation) {
|
||||
this.p0 = obtainStyledAttributes.getFloat(index, this.p0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_scaleX) {
|
||||
this.s0 = obtainStyledAttributes.getFloat(index, this.s0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_scaleY) {
|
||||
this.t0 = obtainStyledAttributes.getFloat(index, this.t0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_transformPivotX) {
|
||||
this.u0 = obtainStyledAttributes.getFloat(index, this.u0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_transformPivotY) {
|
||||
this.v0 = obtainStyledAttributes.getFloat(index, this.v0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_translationX) {
|
||||
this.w0 = obtainStyledAttributes.getFloat(index, this.w0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_translationY) {
|
||||
this.x0 = obtainStyledAttributes.getFloat(index, this.x0);
|
||||
} else if (index == R$styleable.ConstraintSet_android_translationZ) {
|
||||
this.w0 = obtainStyledAttributes.getFloat(index, this.y0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
61
sources/androidx/constraintlayout/widget/Guideline.java
Normal file
61
sources/androidx/constraintlayout/widget/Guideline.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Guideline extends View {
|
||||
public Guideline(Context context) {
|
||||
super(context);
|
||||
super.setVisibility(8);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void draw(Canvas canvas) {
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
protected void onMeasure(int i, int i2) {
|
||||
setMeasuredDimension(0, 0);
|
||||
}
|
||||
|
||||
public void setGuidelineBegin(int i) {
|
||||
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) getLayoutParams();
|
||||
layoutParams.a = i;
|
||||
setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
public void setGuidelineEnd(int i) {
|
||||
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) getLayoutParams();
|
||||
layoutParams.b = i;
|
||||
setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
public void setGuidelinePercent(float f) {
|
||||
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) getLayoutParams();
|
||||
layoutParams.c = f;
|
||||
setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void setVisibility(int i) {
|
||||
}
|
||||
|
||||
public Guideline(Context context, AttributeSet attributeSet) {
|
||||
super(context, attributeSet);
|
||||
super.setVisibility(8);
|
||||
}
|
||||
|
||||
public Guideline(Context context, AttributeSet attributeSet, int i) {
|
||||
super(context, attributeSet, i);
|
||||
super.setVisibility(8);
|
||||
}
|
||||
|
||||
public Guideline(Context context, AttributeSet attributeSet, int i, int i2) {
|
||||
super(context, attributeSet, i);
|
||||
super.setVisibility(8);
|
||||
}
|
||||
}
|
89
sources/androidx/constraintlayout/widget/Placeholder.java
Normal file
89
sources/androidx/constraintlayout/widget/Placeholder.java
Normal file
@@ -0,0 +1,89 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.View;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class Placeholder extends View {
|
||||
private int a;
|
||||
private View b;
|
||||
private int c;
|
||||
|
||||
public void a(ConstraintLayout constraintLayout) {
|
||||
if (this.b == null) {
|
||||
return;
|
||||
}
|
||||
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) getLayoutParams();
|
||||
ConstraintLayout.LayoutParams layoutParams2 = (ConstraintLayout.LayoutParams) this.b.getLayoutParams();
|
||||
layoutParams2.k0.n(0);
|
||||
layoutParams.k0.o(layoutParams2.k0.s());
|
||||
layoutParams.k0.g(layoutParams2.k0.i());
|
||||
layoutParams2.k0.n(8);
|
||||
}
|
||||
|
||||
public void b(ConstraintLayout constraintLayout) {
|
||||
if (this.a == -1 && !isInEditMode()) {
|
||||
setVisibility(this.c);
|
||||
}
|
||||
this.b = constraintLayout.findViewById(this.a);
|
||||
View view = this.b;
|
||||
if (view != null) {
|
||||
((ConstraintLayout.LayoutParams) view.getLayoutParams()).Z = true;
|
||||
this.b.setVisibility(0);
|
||||
setVisibility(0);
|
||||
}
|
||||
}
|
||||
|
||||
public View getContent() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public int getEmptyVisibility() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void onDraw(Canvas canvas) {
|
||||
if (isInEditMode()) {
|
||||
canvas.drawRGB(223, 223, 223);
|
||||
Paint paint = new Paint();
|
||||
paint.setARGB(255, 210, 210, 210);
|
||||
paint.setTextAlign(Paint.Align.CENTER);
|
||||
paint.setTypeface(Typeface.create(Typeface.DEFAULT, 0));
|
||||
Rect rect = new Rect();
|
||||
canvas.getClipBounds(rect);
|
||||
paint.setTextSize(rect.height());
|
||||
int height = rect.height();
|
||||
int width = rect.width();
|
||||
paint.setTextAlign(Paint.Align.LEFT);
|
||||
paint.getTextBounds("?", 0, 1, rect);
|
||||
canvas.drawText("?", ((width / 2.0f) - (rect.width() / 2.0f)) - rect.left, ((height / 2.0f) + (rect.height() / 2.0f)) - rect.bottom, paint);
|
||||
}
|
||||
}
|
||||
|
||||
public void setContentId(int i) {
|
||||
View findViewById;
|
||||
if (this.a == i) {
|
||||
return;
|
||||
}
|
||||
View view = this.b;
|
||||
if (view != null) {
|
||||
view.setVisibility(0);
|
||||
((ConstraintLayout.LayoutParams) this.b.getLayoutParams()).Z = false;
|
||||
this.b = null;
|
||||
}
|
||||
this.a = i;
|
||||
if (i == -1 || (findViewById = ((View) getParent()).findViewById(i)) == null) {
|
||||
return;
|
||||
}
|
||||
findViewById.setVisibility(8);
|
||||
}
|
||||
|
||||
public void setEmptyVisibility(int i) {
|
||||
this.c = i;
|
||||
}
|
||||
}
|
22
sources/androidx/constraintlayout/widget/R$id.java
Normal file
22
sources/androidx/constraintlayout/widget/R$id.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class R$id {
|
||||
public static final int bottom = 2131296348;
|
||||
public static final int end = 2131296567;
|
||||
public static final int gone = 2131296667;
|
||||
public static final int invisible = 2131296978;
|
||||
public static final int left = 2131297071;
|
||||
public static final int packed = 2131297207;
|
||||
public static final int parent = 2131297214;
|
||||
public static final int percent = 2131297227;
|
||||
public static final int right = 2131297305;
|
||||
public static final int spread = 2131297494;
|
||||
public static final int spread_inside = 2131297495;
|
||||
public static final int start = 2131297500;
|
||||
public static final int top = 2131297568;
|
||||
public static final int wrap = 2131297985;
|
||||
|
||||
private R$id() {
|
||||
}
|
||||
}
|
154
sources/androidx/constraintlayout/widget/R$styleable.java
Normal file
154
sources/androidx/constraintlayout/widget/R$styleable.java
Normal file
@@ -0,0 +1,154 @@
|
||||
package androidx.constraintlayout.widget;
|
||||
|
||||
import android.R;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class R$styleable {
|
||||
public static final int ConstraintLayout_Layout_android_maxHeight = 2;
|
||||
public static final int ConstraintLayout_Layout_android_maxWidth = 1;
|
||||
public static final int ConstraintLayout_Layout_android_minHeight = 4;
|
||||
public static final int ConstraintLayout_Layout_android_minWidth = 3;
|
||||
public static final int ConstraintLayout_Layout_android_orientation = 0;
|
||||
public static final int ConstraintLayout_Layout_barrierAllowsGoneWidgets = 5;
|
||||
public static final int ConstraintLayout_Layout_barrierDirection = 6;
|
||||
public static final int ConstraintLayout_Layout_chainUseRtl = 7;
|
||||
public static final int ConstraintLayout_Layout_constraintSet = 8;
|
||||
public static final int ConstraintLayout_Layout_constraint_referenced_ids = 9;
|
||||
public static final int ConstraintLayout_Layout_layout_constrainedHeight = 10;
|
||||
public static final int ConstraintLayout_Layout_layout_constrainedWidth = 11;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintBaseline_creator = 12;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintBaseline_toBaselineOf = 13;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintBottom_creator = 14;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintBottom_toBottomOf = 15;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintBottom_toTopOf = 16;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintCircle = 17;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintCircleAngle = 18;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintCircleRadius = 19;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintDimensionRatio = 20;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintEnd_toEndOf = 21;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintEnd_toStartOf = 22;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintGuide_begin = 23;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintGuide_end = 24;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintGuide_percent = 25;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHeight_default = 26;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHeight_max = 27;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHeight_min = 28;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHeight_percent = 29;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHorizontal_bias = 30;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHorizontal_chainStyle = 31;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintHorizontal_weight = 32;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintLeft_creator = 33;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintLeft_toLeftOf = 34;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintLeft_toRightOf = 35;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintRight_creator = 36;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintRight_toLeftOf = 37;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintRight_toRightOf = 38;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintStart_toEndOf = 39;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintStart_toStartOf = 40;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintTop_creator = 41;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintTop_toBottomOf = 42;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintTop_toTopOf = 43;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintVertical_bias = 44;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintVertical_chainStyle = 45;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintVertical_weight = 46;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintWidth_default = 47;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintWidth_max = 48;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintWidth_min = 49;
|
||||
public static final int ConstraintLayout_Layout_layout_constraintWidth_percent = 50;
|
||||
public static final int ConstraintLayout_Layout_layout_editor_absoluteX = 51;
|
||||
public static final int ConstraintLayout_Layout_layout_editor_absoluteY = 52;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginBottom = 53;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginEnd = 54;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginLeft = 55;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginRight = 56;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginStart = 57;
|
||||
public static final int ConstraintLayout_Layout_layout_goneMarginTop = 58;
|
||||
public static final int ConstraintLayout_Layout_layout_optimizationLevel = 59;
|
||||
public static final int ConstraintLayout_placeholder_content = 0;
|
||||
public static final int ConstraintLayout_placeholder_emptyVisibility = 1;
|
||||
public static final int ConstraintSet_android_alpha = 13;
|
||||
public static final int ConstraintSet_android_elevation = 26;
|
||||
public static final int ConstraintSet_android_id = 1;
|
||||
public static final int ConstraintSet_android_layout_height = 4;
|
||||
public static final int ConstraintSet_android_layout_marginBottom = 8;
|
||||
public static final int ConstraintSet_android_layout_marginEnd = 24;
|
||||
public static final int ConstraintSet_android_layout_marginLeft = 5;
|
||||
public static final int ConstraintSet_android_layout_marginRight = 7;
|
||||
public static final int ConstraintSet_android_layout_marginStart = 23;
|
||||
public static final int ConstraintSet_android_layout_marginTop = 6;
|
||||
public static final int ConstraintSet_android_layout_width = 3;
|
||||
public static final int ConstraintSet_android_maxHeight = 10;
|
||||
public static final int ConstraintSet_android_maxWidth = 9;
|
||||
public static final int ConstraintSet_android_minHeight = 12;
|
||||
public static final int ConstraintSet_android_minWidth = 11;
|
||||
public static final int ConstraintSet_android_orientation = 0;
|
||||
public static final int ConstraintSet_android_rotation = 20;
|
||||
public static final int ConstraintSet_android_rotationX = 21;
|
||||
public static final int ConstraintSet_android_rotationY = 22;
|
||||
public static final int ConstraintSet_android_scaleX = 18;
|
||||
public static final int ConstraintSet_android_scaleY = 19;
|
||||
public static final int ConstraintSet_android_transformPivotX = 14;
|
||||
public static final int ConstraintSet_android_transformPivotY = 15;
|
||||
public static final int ConstraintSet_android_translationX = 16;
|
||||
public static final int ConstraintSet_android_translationY = 17;
|
||||
public static final int ConstraintSet_android_translationZ = 25;
|
||||
public static final int ConstraintSet_android_visibility = 2;
|
||||
public static final int ConstraintSet_barrierAllowsGoneWidgets = 27;
|
||||
public static final int ConstraintSet_barrierDirection = 28;
|
||||
public static final int ConstraintSet_chainUseRtl = 29;
|
||||
public static final int ConstraintSet_constraint_referenced_ids = 30;
|
||||
public static final int ConstraintSet_layout_constrainedHeight = 31;
|
||||
public static final int ConstraintSet_layout_constrainedWidth = 32;
|
||||
public static final int ConstraintSet_layout_constraintBaseline_creator = 33;
|
||||
public static final int ConstraintSet_layout_constraintBaseline_toBaselineOf = 34;
|
||||
public static final int ConstraintSet_layout_constraintBottom_creator = 35;
|
||||
public static final int ConstraintSet_layout_constraintBottom_toBottomOf = 36;
|
||||
public static final int ConstraintSet_layout_constraintBottom_toTopOf = 37;
|
||||
public static final int ConstraintSet_layout_constraintCircle = 38;
|
||||
public static final int ConstraintSet_layout_constraintCircleAngle = 39;
|
||||
public static final int ConstraintSet_layout_constraintCircleRadius = 40;
|
||||
public static final int ConstraintSet_layout_constraintDimensionRatio = 41;
|
||||
public static final int ConstraintSet_layout_constraintEnd_toEndOf = 42;
|
||||
public static final int ConstraintSet_layout_constraintEnd_toStartOf = 43;
|
||||
public static final int ConstraintSet_layout_constraintGuide_begin = 44;
|
||||
public static final int ConstraintSet_layout_constraintGuide_end = 45;
|
||||
public static final int ConstraintSet_layout_constraintGuide_percent = 46;
|
||||
public static final int ConstraintSet_layout_constraintHeight_default = 47;
|
||||
public static final int ConstraintSet_layout_constraintHeight_max = 48;
|
||||
public static final int ConstraintSet_layout_constraintHeight_min = 49;
|
||||
public static final int ConstraintSet_layout_constraintHeight_percent = 50;
|
||||
public static final int ConstraintSet_layout_constraintHorizontal_bias = 51;
|
||||
public static final int ConstraintSet_layout_constraintHorizontal_chainStyle = 52;
|
||||
public static final int ConstraintSet_layout_constraintHorizontal_weight = 53;
|
||||
public static final int ConstraintSet_layout_constraintLeft_creator = 54;
|
||||
public static final int ConstraintSet_layout_constraintLeft_toLeftOf = 55;
|
||||
public static final int ConstraintSet_layout_constraintLeft_toRightOf = 56;
|
||||
public static final int ConstraintSet_layout_constraintRight_creator = 57;
|
||||
public static final int ConstraintSet_layout_constraintRight_toLeftOf = 58;
|
||||
public static final int ConstraintSet_layout_constraintRight_toRightOf = 59;
|
||||
public static final int ConstraintSet_layout_constraintStart_toEndOf = 60;
|
||||
public static final int ConstraintSet_layout_constraintStart_toStartOf = 61;
|
||||
public static final int ConstraintSet_layout_constraintTop_creator = 62;
|
||||
public static final int ConstraintSet_layout_constraintTop_toBottomOf = 63;
|
||||
public static final int ConstraintSet_layout_constraintTop_toTopOf = 64;
|
||||
public static final int ConstraintSet_layout_constraintVertical_bias = 65;
|
||||
public static final int ConstraintSet_layout_constraintVertical_chainStyle = 66;
|
||||
public static final int ConstraintSet_layout_constraintVertical_weight = 67;
|
||||
public static final int ConstraintSet_layout_constraintWidth_default = 68;
|
||||
public static final int ConstraintSet_layout_constraintWidth_max = 69;
|
||||
public static final int ConstraintSet_layout_constraintWidth_min = 70;
|
||||
public static final int ConstraintSet_layout_constraintWidth_percent = 71;
|
||||
public static final int ConstraintSet_layout_editor_absoluteX = 72;
|
||||
public static final int ConstraintSet_layout_editor_absoluteY = 73;
|
||||
public static final int ConstraintSet_layout_goneMarginBottom = 74;
|
||||
public static final int ConstraintSet_layout_goneMarginEnd = 75;
|
||||
public static final int ConstraintSet_layout_goneMarginLeft = 76;
|
||||
public static final int ConstraintSet_layout_goneMarginRight = 77;
|
||||
public static final int ConstraintSet_layout_goneMarginStart = 78;
|
||||
public static final int ConstraintSet_layout_goneMarginTop = 79;
|
||||
public static final int LinearConstraintLayout_android_orientation = 0;
|
||||
public static final int[] ConstraintLayout_Layout = {R.attr.orientation, R.attr.maxWidth, R.attr.maxHeight, R.attr.minWidth, R.attr.minHeight, com.ubt.jimu.R.attr.barrierAllowsGoneWidgets, com.ubt.jimu.R.attr.barrierDirection, com.ubt.jimu.R.attr.chainUseRtl, com.ubt.jimu.R.attr.constraintSet, com.ubt.jimu.R.attr.constraint_referenced_ids, com.ubt.jimu.R.attr.layout_constrainedHeight, com.ubt.jimu.R.attr.layout_constrainedWidth, com.ubt.jimu.R.attr.layout_constraintBaseline_creator, com.ubt.jimu.R.attr.layout_constraintBaseline_toBaselineOf, com.ubt.jimu.R.attr.layout_constraintBottom_creator, com.ubt.jimu.R.attr.layout_constraintBottom_toBottomOf, com.ubt.jimu.R.attr.layout_constraintBottom_toTopOf, com.ubt.jimu.R.attr.layout_constraintCircle, com.ubt.jimu.R.attr.layout_constraintCircleAngle, com.ubt.jimu.R.attr.layout_constraintCircleRadius, com.ubt.jimu.R.attr.layout_constraintDimensionRatio, com.ubt.jimu.R.attr.layout_constraintEnd_toEndOf, com.ubt.jimu.R.attr.layout_constraintEnd_toStartOf, com.ubt.jimu.R.attr.layout_constraintGuide_begin, com.ubt.jimu.R.attr.layout_constraintGuide_end, com.ubt.jimu.R.attr.layout_constraintGuide_percent, com.ubt.jimu.R.attr.layout_constraintHeight_default, com.ubt.jimu.R.attr.layout_constraintHeight_max, com.ubt.jimu.R.attr.layout_constraintHeight_min, com.ubt.jimu.R.attr.layout_constraintHeight_percent, com.ubt.jimu.R.attr.layout_constraintHorizontal_bias, com.ubt.jimu.R.attr.layout_constraintHorizontal_chainStyle, com.ubt.jimu.R.attr.layout_constraintHorizontal_weight, com.ubt.jimu.R.attr.layout_constraintLeft_creator, com.ubt.jimu.R.attr.layout_constraintLeft_toLeftOf, com.ubt.jimu.R.attr.layout_constraintLeft_toRightOf, com.ubt.jimu.R.attr.layout_constraintRight_creator, com.ubt.jimu.R.attr.layout_constraintRight_toLeftOf, com.ubt.jimu.R.attr.layout_constraintRight_toRightOf, com.ubt.jimu.R.attr.layout_constraintStart_toEndOf, com.ubt.jimu.R.attr.layout_constraintStart_toStartOf, com.ubt.jimu.R.attr.layout_constraintTop_creator, com.ubt.jimu.R.attr.layout_constraintTop_toBottomOf, com.ubt.jimu.R.attr.layout_constraintTop_toTopOf, com.ubt.jimu.R.attr.layout_constraintVertical_bias, com.ubt.jimu.R.attr.layout_constraintVertical_chainStyle, com.ubt.jimu.R.attr.layout_constraintVertical_weight, com.ubt.jimu.R.attr.layout_constraintWidth_default, com.ubt.jimu.R.attr.layout_constraintWidth_max, com.ubt.jimu.R.attr.layout_constraintWidth_min, com.ubt.jimu.R.attr.layout_constraintWidth_percent, com.ubt.jimu.R.attr.layout_editor_absoluteX, com.ubt.jimu.R.attr.layout_editor_absoluteY, com.ubt.jimu.R.attr.layout_goneMarginBottom, com.ubt.jimu.R.attr.layout_goneMarginEnd, com.ubt.jimu.R.attr.layout_goneMarginLeft, com.ubt.jimu.R.attr.layout_goneMarginRight, com.ubt.jimu.R.attr.layout_goneMarginStart, com.ubt.jimu.R.attr.layout_goneMarginTop, com.ubt.jimu.R.attr.layout_optimizationLevel};
|
||||
public static final int[] ConstraintLayout_placeholder = {com.ubt.jimu.R.attr.content, com.ubt.jimu.R.attr.emptyVisibility};
|
||||
public static final int[] ConstraintSet = {R.attr.orientation, R.attr.id, R.attr.visibility, R.attr.layout_width, R.attr.layout_height, R.attr.layout_marginLeft, R.attr.layout_marginTop, R.attr.layout_marginRight, R.attr.layout_marginBottom, R.attr.maxWidth, R.attr.maxHeight, R.attr.minWidth, R.attr.minHeight, R.attr.alpha, R.attr.transformPivotX, R.attr.transformPivotY, R.attr.translationX, R.attr.translationY, R.attr.scaleX, R.attr.scaleY, R.attr.rotation, R.attr.rotationX, R.attr.rotationY, R.attr.layout_marginStart, R.attr.layout_marginEnd, R.attr.translationZ, R.attr.elevation, com.ubt.jimu.R.attr.barrierAllowsGoneWidgets, com.ubt.jimu.R.attr.barrierDirection, com.ubt.jimu.R.attr.chainUseRtl, com.ubt.jimu.R.attr.constraint_referenced_ids, com.ubt.jimu.R.attr.layout_constrainedHeight, com.ubt.jimu.R.attr.layout_constrainedWidth, com.ubt.jimu.R.attr.layout_constraintBaseline_creator, com.ubt.jimu.R.attr.layout_constraintBaseline_toBaselineOf, com.ubt.jimu.R.attr.layout_constraintBottom_creator, com.ubt.jimu.R.attr.layout_constraintBottom_toBottomOf, com.ubt.jimu.R.attr.layout_constraintBottom_toTopOf, com.ubt.jimu.R.attr.layout_constraintCircle, com.ubt.jimu.R.attr.layout_constraintCircleAngle, com.ubt.jimu.R.attr.layout_constraintCircleRadius, com.ubt.jimu.R.attr.layout_constraintDimensionRatio, com.ubt.jimu.R.attr.layout_constraintEnd_toEndOf, com.ubt.jimu.R.attr.layout_constraintEnd_toStartOf, com.ubt.jimu.R.attr.layout_constraintGuide_begin, com.ubt.jimu.R.attr.layout_constraintGuide_end, com.ubt.jimu.R.attr.layout_constraintGuide_percent, com.ubt.jimu.R.attr.layout_constraintHeight_default, com.ubt.jimu.R.attr.layout_constraintHeight_max, com.ubt.jimu.R.attr.layout_constraintHeight_min, com.ubt.jimu.R.attr.layout_constraintHeight_percent, com.ubt.jimu.R.attr.layout_constraintHorizontal_bias, com.ubt.jimu.R.attr.layout_constraintHorizontal_chainStyle, com.ubt.jimu.R.attr.layout_constraintHorizontal_weight, com.ubt.jimu.R.attr.layout_constraintLeft_creator, com.ubt.jimu.R.attr.layout_constraintLeft_toLeftOf, com.ubt.jimu.R.attr.layout_constraintLeft_toRightOf, com.ubt.jimu.R.attr.layout_constraintRight_creator, com.ubt.jimu.R.attr.layout_constraintRight_toLeftOf, com.ubt.jimu.R.attr.layout_constraintRight_toRightOf, com.ubt.jimu.R.attr.layout_constraintStart_toEndOf, com.ubt.jimu.R.attr.layout_constraintStart_toStartOf, com.ubt.jimu.R.attr.layout_constraintTop_creator, com.ubt.jimu.R.attr.layout_constraintTop_toBottomOf, com.ubt.jimu.R.attr.layout_constraintTop_toTopOf, com.ubt.jimu.R.attr.layout_constraintVertical_bias, com.ubt.jimu.R.attr.layout_constraintVertical_chainStyle, com.ubt.jimu.R.attr.layout_constraintVertical_weight, com.ubt.jimu.R.attr.layout_constraintWidth_default, com.ubt.jimu.R.attr.layout_constraintWidth_max, com.ubt.jimu.R.attr.layout_constraintWidth_min, com.ubt.jimu.R.attr.layout_constraintWidth_percent, com.ubt.jimu.R.attr.layout_editor_absoluteX, com.ubt.jimu.R.attr.layout_editor_absoluteY, com.ubt.jimu.R.attr.layout_goneMarginBottom, com.ubt.jimu.R.attr.layout_goneMarginEnd, com.ubt.jimu.R.attr.layout_goneMarginLeft, com.ubt.jimu.R.attr.layout_goneMarginRight, com.ubt.jimu.R.attr.layout_goneMarginStart, com.ubt.jimu.R.attr.layout_goneMarginTop};
|
||||
public static final int[] LinearConstraintLayout = {R.attr.orientation};
|
||||
}
|
Reference in New Issue
Block a user