104 lines
2.7 KiB
Java
104 lines
2.7 KiB
Java
package com.google.zxing.aztec.encoder;
|
|
|
|
import com.google.zxing.common.BitArray;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedList;
|
|
|
|
/* loaded from: classes.dex */
|
|
final class State {
|
|
static final State e = new State(Token.b, 0, 0, 0);
|
|
private final int a;
|
|
private final Token b;
|
|
private final int c;
|
|
private final int d;
|
|
|
|
private State(Token token, int i, int i2, int i3) {
|
|
this.b = token;
|
|
this.a = i;
|
|
this.c = i2;
|
|
this.d = i3;
|
|
}
|
|
|
|
int a() {
|
|
return this.c;
|
|
}
|
|
|
|
int b() {
|
|
return this.d;
|
|
}
|
|
|
|
int c() {
|
|
return this.a;
|
|
}
|
|
|
|
public String toString() {
|
|
return String.format("%s bits=%d bytes=%d", HighLevelEncoder.b[this.a], Integer.valueOf(this.d), Integer.valueOf(this.c));
|
|
}
|
|
|
|
State a(int i, int i2) {
|
|
int i3 = this.d;
|
|
Token token = this.b;
|
|
int i4 = this.a;
|
|
if (i != i4) {
|
|
int i5 = HighLevelEncoder.c[i4][i];
|
|
int i6 = 65535 & i5;
|
|
int i7 = i5 >> 16;
|
|
token = token.a(i6, i7);
|
|
i3 += i7;
|
|
}
|
|
int i8 = i == 2 ? 4 : 5;
|
|
return new State(token.a(i2, i8), i, 0, i3 + i8);
|
|
}
|
|
|
|
State b(int i, int i2) {
|
|
Token token = this.b;
|
|
int i3 = this.a == 2 ? 4 : 5;
|
|
return new State(token.a(HighLevelEncoder.e[this.a][i], i3).a(i2, 5), this.a, 0, this.d + i3 + 5);
|
|
}
|
|
|
|
State b(int i) {
|
|
int i2 = this.c;
|
|
return i2 == 0 ? this : new State(this.b.b(i - i2, i2), this.a, 0, this.d);
|
|
}
|
|
|
|
State a(int i) {
|
|
Token token = this.b;
|
|
int i2 = this.a;
|
|
int i3 = this.d;
|
|
if (i2 == 4 || i2 == 2) {
|
|
int i4 = HighLevelEncoder.c[i2][0];
|
|
int i5 = 65535 & i4;
|
|
int i6 = i4 >> 16;
|
|
token = token.a(i5, i6);
|
|
i3 += i6;
|
|
i2 = 0;
|
|
}
|
|
int i7 = this.c;
|
|
State state = new State(token, i2, this.c + 1, i3 + ((i7 == 0 || i7 == 31) ? 18 : i7 == 62 ? 9 : 8));
|
|
return state.c == 2078 ? state.b(i + 1) : state;
|
|
}
|
|
|
|
boolean a(State state) {
|
|
int i;
|
|
int i2 = this.d + (HighLevelEncoder.c[this.a][state.a] >> 16);
|
|
int i3 = state.c;
|
|
if (i3 > 0 && ((i = this.c) == 0 || i > i3)) {
|
|
i2 += 10;
|
|
}
|
|
return i2 <= state.d;
|
|
}
|
|
|
|
BitArray a(byte[] bArr) {
|
|
LinkedList linkedList = new LinkedList();
|
|
for (Token token = b(bArr.length).b; token != null; token = token.a()) {
|
|
linkedList.addFirst(token);
|
|
}
|
|
BitArray bitArray = new BitArray();
|
|
Iterator it = linkedList.iterator();
|
|
while (it.hasNext()) {
|
|
((Token) it.next()).a(bitArray, bArr);
|
|
}
|
|
return bitArray;
|
|
}
|
|
}
|