91 lines
2.3 KiB
Java
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;
|
|
}
|
|
}
|