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

70 lines
2.7 KiB
Java

package com.google.zxing.client.android;
import android.content.Intent;
import android.net.Uri;
import com.google.zxing.BarcodeFormat;
import java.util.Arrays;
import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/* loaded from: classes.dex */
public final class DecodeFormatManager {
private static final Map<String, Set<BarcodeFormat>> i;
private static final Pattern a = Pattern.compile(",");
static final Set<BarcodeFormat> e = EnumSet.of(BarcodeFormat.QR_CODE);
static final Set<BarcodeFormat> f = EnumSet.of(BarcodeFormat.DATA_MATRIX);
static final Set<BarcodeFormat> g = EnumSet.of(BarcodeFormat.AZTEC);
static final Set<BarcodeFormat> h = EnumSet.of(BarcodeFormat.PDF_417);
public static final Set<BarcodeFormat> b = EnumSet.of(BarcodeFormat.UPC_A, BarcodeFormat.UPC_E, BarcodeFormat.EAN_13, BarcodeFormat.EAN_8, BarcodeFormat.RSS_14, BarcodeFormat.RSS_EXPANDED);
static final Set<BarcodeFormat> c = EnumSet.of(BarcodeFormat.CODE_39, BarcodeFormat.CODE_93, BarcodeFormat.CODE_128, BarcodeFormat.ITF, BarcodeFormat.CODABAR);
private static final Set<BarcodeFormat> d = EnumSet.copyOf((Collection) b);
static {
d.addAll(c);
i = new HashMap();
i.put("ONE_D_MODE", d);
i.put("PRODUCT_MODE", b);
i.put("QR_CODE_MODE", e);
i.put("DATA_MATRIX_MODE", f);
i.put("AZTEC_MODE", g);
i.put("PDF417_MODE", h);
}
static Set<BarcodeFormat> a(Intent intent) {
String stringExtra = intent.getStringExtra("SCAN_FORMATS");
return a(stringExtra != null ? Arrays.asList(a.split(stringExtra)) : null, intent.getStringExtra("SCAN_MODE"));
}
static Set<BarcodeFormat> a(Uri uri) {
List<String> queryParameters = uri.getQueryParameters("SCAN_FORMATS");
if (queryParameters != null && queryParameters.size() == 1 && queryParameters.get(0) != null) {
queryParameters = Arrays.asList(a.split(queryParameters.get(0)));
}
return a(queryParameters, uri.getQueryParameter("SCAN_MODE"));
}
private static Set<BarcodeFormat> a(Iterable<String> iterable, String str) {
if (iterable != null) {
EnumSet noneOf = EnumSet.noneOf(BarcodeFormat.class);
try {
Iterator<String> it = iterable.iterator();
while (it.hasNext()) {
noneOf.add(BarcodeFormat.valueOf(it.next()));
}
return noneOf;
} catch (IllegalArgumentException unused) {
}
}
if (str != null) {
return i.get(str);
}
return null;
}
}