package com.google.zxing.oned; import com.google.zxing.BarcodeFormat; import com.google.zxing.FormatException; import com.google.zxing.common.BitMatrix; import java.util.Map; /* loaded from: classes3.dex */ public final class UPCEWriter extends UPCEANWriter { @Override // com.google.zxing.oned.OneDimensionalCodeWriter, com.google.zxing.Writer public BitMatrix encode(String str, BarcodeFormat barcodeFormat, int i, int i2, Map map) { if (barcodeFormat != BarcodeFormat.UPC_E) { throw new IllegalArgumentException("Can only encode UPC_E, but got ".concat(String.valueOf(barcodeFormat))); } return super.encode(str, barcodeFormat, i, i2, map); } @Override // com.google.zxing.oned.OneDimensionalCodeWriter public boolean[] encode(String str) { int length = str.length(); if (length == 7) { try { str = str + UPCEANReader.getStandardUPCEANChecksum(UPCEReader.convertUPCEtoUPCA(str)); } catch (FormatException e) { throw new IllegalArgumentException(e); } } else if (length == 8) { try { if (!UPCEANReader.checkStandardUPCEANChecksum(str)) { throw new IllegalArgumentException("Contents do not pass checksum"); } } catch (FormatException unused) { throw new IllegalArgumentException("Illegal contents"); } } else { throw new IllegalArgumentException("Requested contents should be 8 digits long, but got ".concat(String.valueOf(length))); } int digit = Character.digit(str.charAt(0), 10); if (digit != 0 && digit != 1) { throw new IllegalArgumentException("Number system must be 0 or 1"); } int i = UPCEReader.NUMSYS_AND_CHECK_DIGIT_PATTERNS[digit][Character.digit(str.charAt(7), 10)]; boolean[] zArr = new boolean[51]; int appendPattern = OneDimensionalCodeWriter.appendPattern(zArr, 0, UPCEANReader.START_END_PATTERN, true); for (int i2 = 1; i2 <= 6; i2++) { int digit2 = Character.digit(str.charAt(i2), 10); if (((i >> (6 - i2)) & 1) == 1) { digit2 += 10; } appendPattern += OneDimensionalCodeWriter.appendPattern(zArr, appendPattern, UPCEANReader.L_AND_G_PATTERNS[digit2], false); } OneDimensionalCodeWriter.appendPattern(zArr, appendPattern, UPCEANReader.END_PATTERN, false); return zArr; } }