package com.google.zxing.oned; import com.google.zxing.BarcodeFormat; import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.ResultMetadataType; import com.google.zxing.ResultPoint; import com.google.zxing.common.BitArray; import java.util.EnumMap; import java.util.Map; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes3.dex */ public final class UPCEANExtension5Support { private static final int[] CHECK_DIGIT_ENCODINGS = {24, 20, 18, 17, 12, 6, 3, 10, 9, 5}; private final int[] decodeMiddleCounters = new int[4]; private final StringBuilder decodeRowStringBuffer = new StringBuilder(); /* JADX INFO: Access modifiers changed from: package-private */ public Result decodeRow(int i, BitArray bitArray, int[] iArr) throws NotFoundException { StringBuilder sb = this.decodeRowStringBuffer; sb.setLength(0); int decodeMiddle = decodeMiddle(bitArray, iArr, sb); String sb2 = sb.toString(); Map parseExtensionString = parseExtensionString(sb2); float f = i; Result result = new Result(sb2, null, new ResultPoint[]{new ResultPoint((iArr[0] + iArr[1]) / 2.0f, f), new ResultPoint(decodeMiddle, f)}, BarcodeFormat.UPC_EAN_EXTENSION); if (parseExtensionString != null) { result.putAllMetadata(parseExtensionString); } return result; } private int decodeMiddle(BitArray bitArray, int[] iArr, StringBuilder sb) throws NotFoundException { int[] iArr2 = this.decodeMiddleCounters; iArr2[0] = 0; iArr2[1] = 0; iArr2[2] = 0; iArr2[3] = 0; int size = bitArray.getSize(); int i = iArr[1]; int i2 = 0; for (int i3 = 0; i3 < 5 && i < size; i3++) { int decodeDigit = UPCEANReader.decodeDigit(bitArray, iArr2, i, UPCEANReader.L_AND_G_PATTERNS); sb.append((char) ((decodeDigit % 10) + 48)); for (int i4 : iArr2) { i += i4; } if (decodeDigit >= 10) { i2 |= 1 << (4 - i3); } if (i3 != 4) { i = bitArray.getNextUnset(bitArray.getNextSet(i)); } } if (sb.length() != 5) { throw NotFoundException.getNotFoundInstance(); } if (extensionChecksum(sb.toString()) == determineCheckDigit(i2)) { return i; } throw NotFoundException.getNotFoundInstance(); } private static int extensionChecksum(CharSequence charSequence) { int length = charSequence.length(); int i = 0; for (int i2 = length - 2; i2 >= 0; i2 -= 2) { i += charSequence.charAt(i2) - '0'; } int i3 = i * 3; for (int i4 = length - 1; i4 >= 0; i4 -= 2) { i3 += charSequence.charAt(i4) - '0'; } return (i3 * 3) % 10; } private static int determineCheckDigit(int i) throws NotFoundException { for (int i2 = 0; i2 < 10; i2++) { if (i == CHECK_DIGIT_ENCODINGS[i2]) { return i2; } } throw NotFoundException.getNotFoundInstance(); } private static Map parseExtensionString(String str) { String parseExtension5String; if (str.length() != 5 || (parseExtension5String = parseExtension5String(str)) == null) { return null; } EnumMap enumMap = new EnumMap(ResultMetadataType.class); enumMap.put((EnumMap) ResultMetadataType.SUGGESTED_PRICE, (ResultMetadataType) parseExtension5String); return enumMap; } /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */ /* JADX WARN: Code restructure failed: missing block: B:22:0x003e, code lost: if (r5.equals("90000") == false) goto L11; */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ private static java.lang.String parseExtension5String(java.lang.String r5) { /* r0 = 0 char r1 = r5.charAt(r0) r2 = 48 r3 = 1 if (r1 == r2) goto L50 r2 = 53 if (r1 == r2) goto L4d r2 = 57 java.lang.String r4 = "" if (r1 == r2) goto L15 goto L52 L15: r5.hashCode() int r1 = r5.hashCode() r2 = -1 switch(r1) { case 54118329: goto L38; case 54395376: goto L2d; case 54395377: goto L22; default: goto L20; } L20: r0 = r2 goto L41 L22: java.lang.String r0 = "99991" boolean r0 = r5.equals(r0) if (r0 != 0) goto L2b goto L20 L2b: r0 = 2 goto L41 L2d: java.lang.String r0 = "99990" boolean r0 = r5.equals(r0) if (r0 != 0) goto L36 goto L20 L36: r0 = r3 goto L41 L38: java.lang.String r1 = "90000" boolean r1 = r5.equals(r1) if (r1 != 0) goto L41 goto L20 L41: switch(r0) { case 0: goto L4b; case 1: goto L48; case 2: goto L45; default: goto L44; } L44: goto L52 L45: java.lang.String r5 = "0.00" return r5 L48: java.lang.String r5 = "Used" return r5 L4b: r5 = 0 return r5 L4d: java.lang.String r4 = "$" goto L52 L50: java.lang.String r4 = "£" L52: java.lang.String r5 = r5.substring(r3) int r5 = java.lang.Integer.parseInt(r5) int r0 = r5 / 100 java.lang.String r0 = java.lang.String.valueOf(r0) int r5 = r5 % 100 r1 = 10 if (r5 >= r1) goto L71 java.lang.String r1 = "0" java.lang.String r5 = java.lang.String.valueOf(r5) java.lang.String r5 = r1.concat(r5) goto L75 L71: java.lang.String r5 = java.lang.String.valueOf(r5) L75: java.lang.StringBuilder r1 = new java.lang.StringBuilder r1.() java.lang.StringBuilder r1 = r1.append(r4) java.lang.StringBuilder r0 = r1.append(r0) r1 = 46 java.lang.StringBuilder r0 = r0.append(r1) java.lang.StringBuilder r5 = r0.append(r5) java.lang.String r5 = r5.toString() return r5 */ throw new UnsupportedOperationException("Method not decompiled: com.google.zxing.oned.UPCEANExtension5Support.parseExtension5String(java.lang.String):java.lang.String"); } }