Files
rr3-apk/decompiled/sources/com/google/zxing/pdf417/PDF417Writer.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

103 lines
4.3 KiB
Java

package com.google.zxing.pdf417;
import com.amazonaws.handlers.HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.Writer;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.pdf417.encoder.Compaction;
import com.google.zxing.pdf417.encoder.PDF417;
import java.lang.reflect.Array;
import java.nio.charset.Charset;
import java.util.Map;
/* loaded from: classes3.dex */
public final class PDF417Writer implements Writer {
@Override // com.google.zxing.Writer
public BitMatrix encode(String str, BarcodeFormat barcodeFormat, int i, int i2, Map map) {
if (barcodeFormat != BarcodeFormat.PDF_417) {
throw new IllegalArgumentException("Can only encode PDF_417, but got ".concat(String.valueOf(barcodeFormat)));
}
PDF417 pdf417 = new PDF417();
if (map != null) {
EncodeHintType encodeHintType = EncodeHintType.PDF417_COMPACT;
if (map.containsKey(encodeHintType)) {
pdf417.setCompact(Boolean.valueOf(map.get(encodeHintType).toString()).booleanValue());
}
EncodeHintType encodeHintType2 = EncodeHintType.PDF417_COMPACTION;
if (map.containsKey(encodeHintType2)) {
pdf417.setCompaction(Compaction.valueOf(map.get(encodeHintType2).toString()));
}
EncodeHintType encodeHintType3 = EncodeHintType.PDF417_DIMENSIONS;
if (map.containsKey(encodeHintType3)) {
HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0.m(map.get(encodeHintType3));
throw null;
}
EncodeHintType encodeHintType4 = EncodeHintType.MARGIN;
r9 = map.containsKey(encodeHintType4) ? Integer.parseInt(map.get(encodeHintType4).toString()) : 30;
EncodeHintType encodeHintType5 = EncodeHintType.ERROR_CORRECTION;
r0 = map.containsKey(encodeHintType5) ? Integer.parseInt(map.get(encodeHintType5).toString()) : 2;
EncodeHintType encodeHintType6 = EncodeHintType.CHARACTER_SET;
if (map.containsKey(encodeHintType6)) {
pdf417.setEncoding(Charset.forName(map.get(encodeHintType6).toString()));
}
}
return bitMatrixFromEncoder(pdf417, str, r0, i, i2, r9);
}
public static BitMatrix bitMatrixFromEncoder(PDF417 pdf417, String str, int i, int i2, int i3, int i4) {
boolean z;
pdf417.generateBarcodeLogic(str, i);
byte[][] scaledMatrix = pdf417.getBarcodeMatrix().getScaledMatrix(1, 4);
if ((i3 > i2) != (scaledMatrix[0].length < scaledMatrix.length)) {
scaledMatrix = rotateArray(scaledMatrix);
z = true;
} else {
z = false;
}
int length = i2 / scaledMatrix[0].length;
int length2 = i3 / scaledMatrix.length;
if (length >= length2) {
length = length2;
}
if (length > 1) {
byte[][] scaledMatrix2 = pdf417.getBarcodeMatrix().getScaledMatrix(length, length << 2);
if (z) {
scaledMatrix2 = rotateArray(scaledMatrix2);
}
return bitMatrixFromBitArray(scaledMatrix2, i4);
}
return bitMatrixFromBitArray(scaledMatrix, i4);
}
public static BitMatrix bitMatrixFromBitArray(byte[][] bArr, int i) {
int i2 = i * 2;
BitMatrix bitMatrix = new BitMatrix(bArr[0].length + i2, bArr.length + i2);
bitMatrix.clear();
int height = (bitMatrix.getHeight() - i) - 1;
int i3 = 0;
while (i3 < bArr.length) {
byte[] bArr2 = bArr[i3];
for (int i4 = 0; i4 < bArr[0].length; i4++) {
if (bArr2[i4] == 1) {
bitMatrix.set(i4 + i, height);
}
}
i3++;
height--;
}
return bitMatrix;
}
public static byte[][] rotateArray(byte[][] bArr) {
byte[][] bArr2 = (byte[][]) Array.newInstance((Class<?>) Byte.TYPE, bArr[0].length, bArr.length);
for (int i = 0; i < bArr.length; i++) {
int length = (bArr.length - i) - 1;
for (int i2 = 0; i2 < bArr[0].length; i2++) {
bArr2[i2][length] = bArr[i][i2];
}
}
return bArr2;
}
}