209 lines
8.0 KiB
Java
209 lines
8.0 KiB
Java
package c.i.e.o;
|
|
|
|
import c.i.e.c;
|
|
import c.i.e.i;
|
|
import c.i.e.j;
|
|
import c.i.e.k;
|
|
import c.i.e.n.b;
|
|
import c.i.e.n.e;
|
|
import c.i.e.o.b.d;
|
|
import c.i.e.o.c.a;
|
|
import com.google.zxing.ChecksumException;
|
|
import com.google.zxing.FormatException;
|
|
import com.google.zxing.NotFoundException;
|
|
import com.google.zxing.Result;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
/* compiled from: DataMatrixReader */
|
|
public final class a implements i {
|
|
public static final k[] a = new k[0];
|
|
public final d b = new d();
|
|
|
|
@Override // c.i.e.i
|
|
public Result a(c cVar, Map<c.i.e.d, ?> map) throws NotFoundException, ChecksumException, FormatException {
|
|
k[] kVarArr;
|
|
e eVar;
|
|
b bVar;
|
|
if (map == null || !map.containsKey(c.i.e.d.PURE_BARCODE)) {
|
|
c.i.e.o.c.a aVar = new c.i.e.o.c.a(cVar.a());
|
|
k[] b = aVar.b.b();
|
|
k kVar = b[0];
|
|
k kVar2 = b[1];
|
|
k kVar3 = b[2];
|
|
k kVar4 = b[3];
|
|
ArrayList arrayList = new ArrayList(4);
|
|
arrayList.add(aVar.e(kVar, kVar2));
|
|
arrayList.add(aVar.e(kVar, kVar3));
|
|
arrayList.add(aVar.e(kVar2, kVar4));
|
|
arrayList.add(aVar.e(kVar3, kVar4));
|
|
Collections.sort(arrayList, new a.c(null));
|
|
a.b bVar2 = (a.b) arrayList.get(0);
|
|
a.b bVar3 = (a.b) arrayList.get(1);
|
|
HashMap hashMap = new HashMap();
|
|
c.i.e.o.c.a.b(hashMap, bVar2.a);
|
|
c.i.e.o.c.a.b(hashMap, bVar2.b);
|
|
c.i.e.o.c.a.b(hashMap, bVar3.a);
|
|
c.i.e.o.c.a.b(hashMap, bVar3.b);
|
|
k kVar5 = null;
|
|
k kVar6 = null;
|
|
k kVar7 = null;
|
|
for (Map.Entry entry : hashMap.entrySet()) {
|
|
k kVar8 = (k) entry.getKey();
|
|
if (((Integer) entry.getValue()).intValue() == 2) {
|
|
kVar6 = kVar8;
|
|
} else if (kVar5 == null) {
|
|
kVar5 = kVar8;
|
|
} else {
|
|
kVar7 = kVar8;
|
|
}
|
|
}
|
|
if (kVar5 == null || kVar6 == null || kVar7 == null) {
|
|
throw NotFoundException.k;
|
|
}
|
|
k[] kVarArr2 = {kVar5, kVar6, kVar7};
|
|
k.b(kVarArr2);
|
|
k kVar9 = kVarArr2[0];
|
|
k kVar10 = kVarArr2[1];
|
|
k kVar11 = kVarArr2[2];
|
|
if (hashMap.containsKey(kVar)) {
|
|
kVar = !hashMap.containsKey(kVar2) ? kVar2 : !hashMap.containsKey(kVar3) ? kVar3 : kVar4;
|
|
}
|
|
int i = aVar.e(kVar11, kVar).f1417c;
|
|
int i2 = aVar.e(kVar9, kVar).f1417c;
|
|
if ((i & 1) == 1) {
|
|
i++;
|
|
}
|
|
int i3 = i + 2;
|
|
if ((i2 & 1) == 1) {
|
|
i2++;
|
|
}
|
|
int i4 = i2 + 2;
|
|
if (i3 * 4 >= i4 * 7 || i4 * 4 >= i3 * 7) {
|
|
float a2 = ((float) c.i.e.o.c.a.a(kVar10, kVar9)) / ((float) i3);
|
|
int a3 = c.i.e.o.c.a.a(kVar11, kVar);
|
|
float f = kVar.a;
|
|
float f2 = (float) a3;
|
|
float f3 = kVar.b;
|
|
k kVar12 = new k((((f - kVar11.a) / f2) * a2) + f, (a2 * ((f3 - kVar11.b) / f2)) + f3);
|
|
float a4 = ((float) c.i.e.o.c.a.a(kVar10, kVar11)) / ((float) i4);
|
|
int a5 = c.i.e.o.c.a.a(kVar9, kVar);
|
|
float f4 = kVar.a;
|
|
float f5 = (float) a5;
|
|
float f6 = kVar.b;
|
|
k kVar13 = new k((((f4 - kVar9.a) / f5) * a4) + f4, (a4 * ((f6 - kVar9.b) / f5)) + f6);
|
|
if (!aVar.c(kVar12)) {
|
|
if (!aVar.c(kVar13)) {
|
|
kVar13 = null;
|
|
}
|
|
} else if (!aVar.c(kVar13) || Math.abs(i4 - aVar.e(kVar9, kVar12).f1417c) + Math.abs(i3 - aVar.e(kVar11, kVar12).f1417c) <= Math.abs(i4 - aVar.e(kVar9, kVar13).f1417c) + Math.abs(i3 - aVar.e(kVar11, kVar13).f1417c)) {
|
|
kVar13 = kVar12;
|
|
}
|
|
if (kVar13 != null) {
|
|
kVar = kVar13;
|
|
}
|
|
int i5 = aVar.e(kVar11, kVar).f1417c;
|
|
int i6 = aVar.e(kVar9, kVar).f1417c;
|
|
if ((i5 & 1) == 1) {
|
|
i5++;
|
|
}
|
|
if ((i6 & 1) == 1) {
|
|
i6++;
|
|
}
|
|
bVar = c.i.e.o.c.a.d(aVar.a, kVar11, kVar10, kVar9, kVar, i5, i6);
|
|
} else {
|
|
float min = (float) Math.min(i4, i3);
|
|
float a6 = ((float) c.i.e.o.c.a.a(kVar10, kVar9)) / min;
|
|
int a7 = c.i.e.o.c.a.a(kVar11, kVar);
|
|
float f7 = kVar.a;
|
|
float f8 = (float) a7;
|
|
float f9 = kVar.b;
|
|
k kVar14 = new k((((f7 - kVar11.a) / f8) * a6) + f7, (a6 * ((f9 - kVar11.b) / f8)) + f9);
|
|
float a8 = ((float) c.i.e.o.c.a.a(kVar10, kVar11)) / min;
|
|
int a9 = c.i.e.o.c.a.a(kVar9, kVar);
|
|
float f10 = kVar.a;
|
|
float f11 = (float) a9;
|
|
float f12 = kVar.b;
|
|
k kVar15 = new k((((f10 - kVar9.a) / f11) * a8) + f10, (a8 * ((f12 - kVar9.b) / f11)) + f12);
|
|
if (!aVar.c(kVar14)) {
|
|
if (!aVar.c(kVar15)) {
|
|
kVar15 = null;
|
|
}
|
|
} else if (!aVar.c(kVar15) || Math.abs(aVar.e(kVar11, kVar14).f1417c - aVar.e(kVar9, kVar14).f1417c) <= Math.abs(aVar.e(kVar11, kVar15).f1417c - aVar.e(kVar9, kVar15).f1417c)) {
|
|
kVar15 = kVar14;
|
|
}
|
|
if (kVar15 != null) {
|
|
kVar = kVar15;
|
|
}
|
|
int max = Math.max(aVar.e(kVar11, kVar).f1417c, aVar.e(kVar9, kVar).f1417c) + 1;
|
|
if ((max & 1) == 1) {
|
|
max++;
|
|
}
|
|
bVar = c.i.e.o.c.a.d(aVar.a, kVar11, kVar10, kVar9, kVar, max, max);
|
|
}
|
|
kVarArr = new k[]{kVar11, kVar10, kVar9, kVar};
|
|
eVar = this.b.a(bVar);
|
|
} else {
|
|
b a10 = cVar.a();
|
|
int[] i7 = a10.i();
|
|
int[] g = a10.g();
|
|
if (i7 == null || g == null) {
|
|
throw NotFoundException.k;
|
|
}
|
|
int i8 = a10.i;
|
|
int i9 = i7[0];
|
|
int i10 = i7[1];
|
|
while (i9 < i8 && a10.f(i9, i10)) {
|
|
i9++;
|
|
}
|
|
if (i9 != i8) {
|
|
int i11 = i9 - i7[0];
|
|
if (i11 != 0) {
|
|
int i12 = i7[1];
|
|
int i13 = g[1];
|
|
int i14 = i7[0];
|
|
int i15 = ((g[0] - i14) + 1) / i11;
|
|
int i16 = ((i13 - i12) + 1) / i11;
|
|
if (i15 <= 0 || i16 <= 0) {
|
|
throw NotFoundException.k;
|
|
}
|
|
int i17 = i11 / 2;
|
|
int i18 = i12 + i17;
|
|
int i19 = i14 + i17;
|
|
b bVar4 = new b(i15, i16);
|
|
for (int i20 = 0; i20 < i16; i20++) {
|
|
int i21 = (i20 * i11) + i18;
|
|
for (int i22 = 0; i22 < i15; i22++) {
|
|
if (a10.f((i22 * i11) + i19, i21)) {
|
|
bVar4.j(i22, i20);
|
|
}
|
|
}
|
|
}
|
|
eVar = this.b.a(bVar4);
|
|
kVarArr = a;
|
|
} else {
|
|
throw NotFoundException.k;
|
|
}
|
|
} else {
|
|
throw NotFoundException.k;
|
|
}
|
|
}
|
|
Result result = new Result(eVar.f1409c, eVar.a, kVarArr, c.i.e.a.DATA_MATRIX);
|
|
List<byte[]> list = eVar.d;
|
|
if (list != null) {
|
|
result.b(j.BYTE_SEGMENTS, list);
|
|
}
|
|
String str = eVar.e;
|
|
if (str != null) {
|
|
result.b(j.ERROR_CORRECTION_LEVEL, str);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
@Override // c.i.e.i
|
|
public void reset() {
|
|
}
|
|
}
|