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

102 lines
3.9 KiB
Java

package com.google.zxing;
import com.google.zxing.aztec.AztecReader;
import com.google.zxing.datamatrix.DataMatrixReader;
import com.google.zxing.maxicode.MaxiCodeReader;
import com.google.zxing.oned.MultiFormatOneDReader;
import com.google.zxing.pdf417.PDF417Reader;
import com.google.zxing.qrcode.QRCodeReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
/* loaded from: classes.dex */
public final class MultiFormatReader implements Reader {
private Map<DecodeHintType, ?> a;
private Reader[] b;
private Result b(BinaryBitmap binaryBitmap) throws NotFoundException {
Reader[] readerArr = this.b;
if (readerArr != null) {
for (Reader reader : readerArr) {
try {
return reader.a(binaryBitmap, this.a);
} catch (ReaderException unused) {
}
}
}
throw NotFoundException.getNotFoundInstance();
}
@Override // com.google.zxing.Reader
public Result a(BinaryBitmap binaryBitmap, Map<DecodeHintType, ?> map) throws NotFoundException {
a(map);
return b(binaryBitmap);
}
@Override // com.google.zxing.Reader
public void reset() {
Reader[] readerArr = this.b;
if (readerArr != null) {
for (Reader reader : readerArr) {
reader.reset();
}
}
}
public Result a(BinaryBitmap binaryBitmap) throws NotFoundException {
if (this.b == null) {
a((Map<DecodeHintType, ?>) null);
}
return b(binaryBitmap);
}
public void a(Map<DecodeHintType, ?> map) {
this.a = map;
boolean z = true;
boolean z2 = map != null && map.containsKey(DecodeHintType.TRY_HARDER);
Collection collection = map == null ? null : (Collection) map.get(DecodeHintType.POSSIBLE_FORMATS);
ArrayList arrayList = new ArrayList();
if (collection != null) {
if (!collection.contains(BarcodeFormat.UPC_A) && !collection.contains(BarcodeFormat.UPC_E) && !collection.contains(BarcodeFormat.EAN_13) && !collection.contains(BarcodeFormat.EAN_8) && !collection.contains(BarcodeFormat.CODABAR) && !collection.contains(BarcodeFormat.CODE_39) && !collection.contains(BarcodeFormat.CODE_93) && !collection.contains(BarcodeFormat.CODE_128) && !collection.contains(BarcodeFormat.ITF) && !collection.contains(BarcodeFormat.RSS_14) && !collection.contains(BarcodeFormat.RSS_EXPANDED)) {
z = false;
}
if (z && !z2) {
arrayList.add(new MultiFormatOneDReader(map));
}
if (collection.contains(BarcodeFormat.QR_CODE)) {
arrayList.add(new QRCodeReader());
}
if (collection.contains(BarcodeFormat.DATA_MATRIX)) {
arrayList.add(new DataMatrixReader());
}
if (collection.contains(BarcodeFormat.AZTEC)) {
arrayList.add(new AztecReader());
}
if (collection.contains(BarcodeFormat.PDF_417)) {
arrayList.add(new PDF417Reader());
}
if (collection.contains(BarcodeFormat.MAXICODE)) {
arrayList.add(new MaxiCodeReader());
}
if (z && z2) {
arrayList.add(new MultiFormatOneDReader(map));
}
}
if (arrayList.isEmpty()) {
if (!z2) {
arrayList.add(new MultiFormatOneDReader(map));
}
arrayList.add(new QRCodeReader());
arrayList.add(new DataMatrixReader());
arrayList.add(new AztecReader());
arrayList.add(new PDF417Reader());
arrayList.add(new MaxiCodeReader());
if (z2) {
arrayList.add(new MultiFormatOneDReader(map));
}
}
this.b = (Reader[]) arrayList.toArray(new Reader[arrayList.size()]);
}
}