- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
49 lines
1.9 KiB
Java
49 lines
1.9 KiB
Java
package com.google.zxing.datamatrix.encoder;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public final class Base256Encoder implements Encoder {
|
|
public int getEncodingMode() {
|
|
return 5;
|
|
}
|
|
|
|
@Override // com.google.zxing.datamatrix.encoder.Encoder
|
|
public void encode(EncoderContext encoderContext) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append((char) 0);
|
|
while (true) {
|
|
if (!encoderContext.hasMoreCharacters()) {
|
|
break;
|
|
}
|
|
sb.append(encoderContext.getCurrentChar());
|
|
encoderContext.pos++;
|
|
if (HighLevelEncoder.lookAheadTest(encoderContext.getMessage(), encoderContext.pos, getEncodingMode()) != getEncodingMode()) {
|
|
encoderContext.signalEncoderChange(0);
|
|
break;
|
|
}
|
|
}
|
|
int length = sb.length() - 1;
|
|
int codewordCount = encoderContext.getCodewordCount() + length + 1;
|
|
encoderContext.updateSymbolInfo(codewordCount);
|
|
boolean z = encoderContext.getSymbolInfo().getDataCapacity() - codewordCount > 0;
|
|
if (encoderContext.hasMoreCharacters() || z) {
|
|
if (length <= 249) {
|
|
sb.setCharAt(0, (char) length);
|
|
} else if (length <= 1555) {
|
|
sb.setCharAt(0, (char) ((length / 250) + 249));
|
|
sb.insert(1, (char) (length % 250));
|
|
} else {
|
|
throw new IllegalStateException("Message length not in valid ranges: ".concat(String.valueOf(length)));
|
|
}
|
|
}
|
|
int length2 = sb.length();
|
|
for (int i = 0; i < length2; i++) {
|
|
encoderContext.writeCodeword(randomize255State(sb.charAt(i), encoderContext.getCodewordCount() + 1));
|
|
}
|
|
}
|
|
|
|
public static char randomize255State(char c, int i) {
|
|
int i2 = c + ((i * 149) % 255) + 1;
|
|
return i2 <= 255 ? (char) i2 : (char) (i2 - 256);
|
|
}
|
|
}
|