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

91 lines
2.3 KiB
Java

package com.google.zxing.qrcode.decoder;
import com.google.zxing.qrcode.decoder.Version;
/* loaded from: classes.dex */
final class DataBlock {
private final int a;
private final byte[] b;
private DataBlock(int i, byte[] bArr) {
this.a = i;
this.b = bArr;
}
static DataBlock[] a(byte[] bArr, Version version, ErrorCorrectionLevel errorCorrectionLevel) {
if (bArr.length != version.d()) {
throw new IllegalArgumentException();
}
Version.ECBlocks a = version.a(errorCorrectionLevel);
Version.ECB[] a2 = a.a();
int i = 0;
for (Version.ECB ecb : a2) {
i += ecb.a();
}
DataBlock[] dataBlockArr = new DataBlock[i];
int length = a2.length;
int i2 = 0;
int i3 = 0;
while (i2 < length) {
Version.ECB ecb2 = a2[i2];
int i4 = i3;
int i5 = 0;
while (i5 < ecb2.a()) {
int b = ecb2.b();
dataBlockArr[i4] = new DataBlock(b, new byte[a.b() + b]);
i5++;
i4++;
}
i2++;
i3 = i4;
}
int length2 = dataBlockArr[0].b.length;
int length3 = dataBlockArr.length - 1;
while (length3 >= 0 && dataBlockArr[length3].b.length != length2) {
length3--;
}
int i6 = length3 + 1;
int b2 = length2 - a.b();
int i7 = 0;
int i8 = 0;
while (i7 < b2) {
int i9 = i8;
int i10 = 0;
while (i10 < i3) {
dataBlockArr[i10].b[i7] = bArr[i9];
i10++;
i9++;
}
i7++;
i8 = i9;
}
int i11 = i6;
while (i11 < i3) {
dataBlockArr[i11].b[b2] = bArr[i8];
i11++;
i8++;
}
int length4 = dataBlockArr[0].b.length;
while (b2 < length4) {
int i12 = i8;
int i13 = 0;
while (i13 < i3) {
dataBlockArr[i13].b[i13 < i6 ? b2 : b2 + 1] = bArr[i12];
i13++;
i12++;
}
b2++;
i8 = i12;
}
return dataBlockArr;
}
int b() {
return this.a;
}
byte[] a() {
return this.b;
}
}