jimu-decompiled/sources/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java
2025-05-13 19:24:51 +02:00

269 lines
8.0 KiB
Java

package com.google.zxing.qrcode.detector;
import com.google.zxing.NotFoundException;
import com.google.zxing.ResultPointCallback;
import com.google.zxing.common.BitMatrix;
import java.util.ArrayList;
import java.util.List;
/* loaded from: classes.dex */
final class AlignmentPatternFinder {
private final BitMatrix a;
private final int c;
private final int d;
private final int e;
private final int f;
private final float g;
private final ResultPointCallback i;
private final List<AlignmentPattern> b = new ArrayList(5);
private final int[] h = new int[3];
AlignmentPatternFinder(BitMatrix bitMatrix, int i, int i2, int i3, int i4, float f, ResultPointCallback resultPointCallback) {
this.a = bitMatrix;
this.c = i;
this.d = i2;
this.e = i3;
this.f = i4;
this.g = f;
this.i = resultPointCallback;
}
AlignmentPattern a() throws NotFoundException {
AlignmentPattern a;
AlignmentPattern a2;
int i = this.c;
int i2 = this.f;
int i3 = this.e + i;
int i4 = this.d + (i2 / 2);
int[] iArr = new int[3];
for (int i5 = 0; i5 < i2; i5++) {
int i6 = ((i5 & 1) == 0 ? (i5 + 1) / 2 : -((i5 + 1) / 2)) + i4;
iArr[0] = 0;
iArr[1] = 0;
iArr[2] = 0;
int i7 = i;
while (i7 < i3 && !this.a.b(i7, i6)) {
i7++;
}
int i8 = 0;
while (i7 < i3) {
if (!this.a.b(i7, i6)) {
if (i8 == 1) {
i8++;
}
iArr[i8] = iArr[i8] + 1;
} else if (i8 == 1) {
iArr[1] = iArr[1] + 1;
} else if (i8 != 2) {
i8++;
iArr[i8] = iArr[i8] + 1;
} else {
if (a(iArr) && (a2 = a(iArr, i6, i7)) != null) {
return a2;
}
iArr[0] = iArr[2];
iArr[1] = 1;
iArr[2] = 0;
i8 = 1;
}
i7++;
}
if (a(iArr) && (a = a(iArr, i6, i3)) != null) {
return a;
}
}
if (this.b.isEmpty()) {
throw NotFoundException.getNotFoundInstance();
}
return this.b.get(0);
}
private static float a(int[] iArr, int i) {
return (i - iArr[2]) - (iArr[1] / 2.0f);
}
private boolean a(int[] iArr) {
float f = this.g;
float f2 = f / 2.0f;
for (int i = 0; i < 3; i++) {
if (Math.abs(f - iArr[i]) >= f2) {
return false;
}
}
return true;
}
/* JADX WARN: Code restructure failed: missing block: B:34:0x0062, code lost:
if (r2[1] <= r12) goto L34;
*/
/* JADX WARN: Code restructure failed: missing block: B:35:0x0065, code lost:
if (r10 >= r1) goto L60;
*/
/* JADX WARN: Code restructure failed: missing block: B:37:0x006b, code lost:
if (r0.b(r11, r10) != false) goto L61;
*/
/* JADX WARN: Code restructure failed: missing block: B:39:0x006f, code lost:
if (r2[2] > r12) goto L62;
*/
/* JADX WARN: Code restructure failed: missing block: B:40:0x0071, code lost:
r2[2] = r2[2] + 1;
r10 = r10 + 1;
*/
/* JADX WARN: Code restructure failed: missing block: B:43:0x007b, code lost:
if (r2[2] <= r12) goto L43;
*/
/* JADX WARN: Code restructure failed: missing block: B:44:0x007d, code lost:
return Float.NaN;
*/
/* JADX WARN: Code restructure failed: missing block: B:46:0x008f, code lost:
if ((java.lang.Math.abs(((r2[0] + r2[1]) + r2[2]) - r13) * 5) < (r13 * 2)) goto L46;
*/
/* JADX WARN: Code restructure failed: missing block: B:47:0x0091, code lost:
return Float.NaN;
*/
/* JADX WARN: Code restructure failed: missing block: B:49:0x0096, code lost:
if (a(r2) == false) goto L50;
*/
/* JADX WARN: Code restructure failed: missing block: B:51:0x009c, code lost:
return a(r2, r10);
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
private float a(int r10, int r11, int r12, int r13) {
/*
r9 = this;
com.google.zxing.common.BitMatrix r0 = r9.a
int r1 = r0.i()
int[] r2 = r9.h
r3 = 0
r2[r3] = r3
r4 = 1
r2[r4] = r3
r5 = 2
r2[r5] = r3
r6 = r10
L12:
if (r6 < 0) goto L26
boolean r7 = r0.b(r11, r6)
if (r7 == 0) goto L26
r7 = r2[r4]
if (r7 > r12) goto L26
r7 = r2[r4]
int r7 = r7 + r4
r2[r4] = r7
int r6 = r6 + (-1)
goto L12
L26:
r7 = 2143289344(0x7fc00000, float:NaN)
if (r6 < 0) goto L9d
r8 = r2[r4]
if (r8 <= r12) goto L30
goto L9d
L30:
if (r6 < 0) goto L44
boolean r8 = r0.b(r11, r6)
if (r8 != 0) goto L44
r8 = r2[r3]
if (r8 > r12) goto L44
r8 = r2[r3]
int r8 = r8 + r4
r2[r3] = r8
int r6 = r6 + (-1)
goto L30
L44:
r6 = r2[r3]
if (r6 <= r12) goto L49
return r7
L49:
int r10 = r10 + r4
L4a:
if (r10 >= r1) goto L5e
boolean r6 = r0.b(r11, r10)
if (r6 == 0) goto L5e
r6 = r2[r4]
if (r6 > r12) goto L5e
r6 = r2[r4]
int r6 = r6 + r4
r2[r4] = r6
int r10 = r10 + 1
goto L4a
L5e:
if (r10 == r1) goto L9d
r6 = r2[r4]
if (r6 <= r12) goto L65
goto L9d
L65:
if (r10 >= r1) goto L79
boolean r6 = r0.b(r11, r10)
if (r6 != 0) goto L79
r6 = r2[r5]
if (r6 > r12) goto L79
r6 = r2[r5]
int r6 = r6 + r4
r2[r5] = r6
int r10 = r10 + 1
goto L65
L79:
r11 = r2[r5]
if (r11 <= r12) goto L7e
return r7
L7e:
r11 = r2[r3]
r12 = r2[r4]
int r11 = r11 + r12
r12 = r2[r5]
int r11 = r11 + r12
int r11 = r11 - r13
int r11 = java.lang.Math.abs(r11)
int r11 = r11 * 5
int r13 = r13 * 2
if (r11 < r13) goto L92
return r7
L92:
boolean r11 = r9.a(r2)
if (r11 == 0) goto L9d
float r10 = a(r2, r10)
return r10
L9d:
return r7
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.zxing.qrcode.detector.AlignmentPatternFinder.a(int, int, int, int):float");
}
private AlignmentPattern a(int[] iArr, int i, int i2) {
int i3 = iArr[0] + iArr[1] + iArr[2];
float a = a(iArr, i2);
float a2 = a(i, (int) a, iArr[1] * 2, i3);
if (Float.isNaN(a2)) {
return null;
}
float f = ((iArr[0] + iArr[1]) + iArr[2]) / 3.0f;
for (AlignmentPattern alignmentPattern : this.b) {
if (alignmentPattern.a(f, a2, a)) {
return alignmentPattern.b(a2, a, f);
}
}
AlignmentPattern alignmentPattern2 = new AlignmentPattern(a, a2, f);
this.b.add(alignmentPattern2);
ResultPointCallback resultPointCallback = this.i;
if (resultPointCallback == null) {
return null;
}
resultPointCallback.a(alignmentPattern2);
return null;
}
}