Files
rr3-apk/decompiled/sources/com/google/zxing/oned/CodaBarWriter.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

114 lines
4.3 KiB
Java

package com.google.zxing.oned;
/* loaded from: classes3.dex */
public final class CodaBarWriter extends OneDimensionalCodeWriter {
public static final char[] ALT_START_END_CHARS = {'T', 'N', '*', 'E'};
public static final char[] CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED = {'/', ':', '+', '.'};
public static final char DEFAULT_GUARD;
public static final char[] START_END_CHARS;
static {
char[] cArr = {'A', 'B', 'C', 'D'};
START_END_CHARS = cArr;
DEFAULT_GUARD = cArr[0];
}
@Override // com.google.zxing.oned.OneDimensionalCodeWriter
public boolean[] encode(String str) {
int i;
if (str.length() < 2) {
StringBuilder sb = new StringBuilder();
char c = DEFAULT_GUARD;
sb.append(c);
sb.append(str);
sb.append(c);
str = sb.toString();
} else {
char upperCase = Character.toUpperCase(str.charAt(0));
char upperCase2 = Character.toUpperCase(str.charAt(str.length() - 1));
char[] cArr = START_END_CHARS;
boolean arrayContains = CodaBarReader.arrayContains(cArr, upperCase);
boolean arrayContains2 = CodaBarReader.arrayContains(cArr, upperCase2);
char[] cArr2 = ALT_START_END_CHARS;
boolean arrayContains3 = CodaBarReader.arrayContains(cArr2, upperCase);
boolean arrayContains4 = CodaBarReader.arrayContains(cArr2, upperCase2);
if (arrayContains) {
if (!arrayContains2) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(str));
}
} else if (!arrayContains3) {
if (arrayContains2 || arrayContains4) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(str));
}
StringBuilder sb2 = new StringBuilder();
char c2 = DEFAULT_GUARD;
sb2.append(c2);
sb2.append(str);
sb2.append(c2);
str = sb2.toString();
} else if (!arrayContains4) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(str));
}
}
int i2 = 20;
for (int i3 = 1; i3 < str.length() - 1; i3++) {
if (Character.isDigit(str.charAt(i3)) || str.charAt(i3) == '-' || str.charAt(i3) == '$') {
i2 += 9;
} else {
if (!CodaBarReader.arrayContains(CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED, str.charAt(i3))) {
throw new IllegalArgumentException("Cannot encode : '" + str.charAt(i3) + '\'');
}
i2 += 10;
}
}
boolean[] zArr = new boolean[i2 + (str.length() - 1)];
int i4 = 0;
for (int i5 = 0; i5 < str.length(); i5++) {
char upperCase3 = Character.toUpperCase(str.charAt(i5));
if (i5 == 0 || i5 == str.length() - 1) {
if (upperCase3 == '*') {
upperCase3 = 'C';
} else if (upperCase3 == 'E') {
upperCase3 = 'D';
} else if (upperCase3 == 'N') {
upperCase3 = 'B';
} else if (upperCase3 == 'T') {
upperCase3 = 'A';
}
}
int i6 = 0;
while (true) {
char[] cArr3 = CodaBarReader.ALPHABET;
if (i6 >= cArr3.length) {
i = 0;
break;
}
if (upperCase3 == cArr3[i6]) {
i = CodaBarReader.CHARACTER_ENCODINGS[i6];
break;
}
i6++;
}
int i7 = 0;
int i8 = 0;
boolean z = true;
while (i7 < 7) {
zArr[i4] = z;
i4++;
if (((i >> (6 - i7)) & 1) == 0 || i8 == 1) {
z = !z;
i7++;
i8 = 0;
} else {
i8++;
}
}
if (i5 < str.length() - 1) {
zArr[i4] = false;
i4++;
}
}
return zArr;
}
}