138 lines
4.9 KiB
Java
138 lines
4.9 KiB
Java
package com.google.zxing.datamatrix.encoder;
|
|
|
|
import com.google.zxing.Dimension;
|
|
import com.twitter.sdk.android.core.TwitterAuthConfig;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class SymbolInfo {
|
|
private static SymbolInfo[] i = {new SymbolInfo(false, 3, 5, 8, 8, 1), new SymbolInfo(false, 5, 7, 10, 10, 1), new SymbolInfo(true, 5, 7, 16, 6, 1), new SymbolInfo(false, 8, 10, 12, 12, 1), new SymbolInfo(true, 10, 11, 14, 6, 2), new SymbolInfo(false, 12, 12, 14, 14, 1), new SymbolInfo(true, 16, 14, 24, 10, 1), new SymbolInfo(false, 18, 14, 16, 16, 1), new SymbolInfo(false, 22, 18, 18, 18, 1), new SymbolInfo(true, 22, 18, 16, 10, 2), new SymbolInfo(false, 30, 20, 20, 20, 1), new SymbolInfo(true, 32, 24, 16, 14, 2), new SymbolInfo(false, 36, 24, 22, 22, 1), new SymbolInfo(false, 44, 28, 24, 24, 1), new SymbolInfo(true, 49, 28, 22, 14, 2), new SymbolInfo(false, 62, 36, 14, 14, 4), new SymbolInfo(false, 86, 42, 16, 16, 4), new SymbolInfo(false, 114, 48, 18, 18, 4), new SymbolInfo(false, 144, 56, 20, 20, 4), new SymbolInfo(false, 174, 68, 22, 22, 4), new SymbolInfo(false, 204, 84, 24, 24, 4, 102, 42), new SymbolInfo(false, 280, 112, 14, 14, 16, TwitterAuthConfig.DEFAULT_AUTH_REQUEST_CODE, 56), new SymbolInfo(false, 368, 144, 16, 16, 16, 92, 36), new SymbolInfo(false, 456, 192, 18, 18, 16, 114, 48), new SymbolInfo(false, 576, 224, 20, 20, 16, 144, 56), new SymbolInfo(false, 696, 272, 22, 22, 16, 174, 68), new SymbolInfo(false, 816, 336, 24, 24, 16, 136, 56), new SymbolInfo(false, 1050, 408, 18, 18, 36, 175, 68), new SymbolInfo(false, 1304, 496, 20, 20, 36, 163, 62), new DataMatrixSymbolInfo144()};
|
|
private final boolean a;
|
|
private final int b;
|
|
private final int c;
|
|
public final int d;
|
|
public final int e;
|
|
private final int f;
|
|
private final int g;
|
|
private final int h;
|
|
|
|
public SymbolInfo(boolean z, int i2, int i3, int i4, int i5, int i6) {
|
|
this(z, i2, i3, i4, i5, i6, i2, i3);
|
|
}
|
|
|
|
public static SymbolInfo a(int i2, SymbolShapeHint symbolShapeHint, Dimension dimension, Dimension dimension2, boolean z) {
|
|
for (SymbolInfo symbolInfo : i) {
|
|
if (!(symbolShapeHint == SymbolShapeHint.FORCE_SQUARE && symbolInfo.a) && ((symbolShapeHint != SymbolShapeHint.FORCE_RECTANGLE || symbolInfo.a) && ((dimension == null || (symbolInfo.g() >= dimension.b() && symbolInfo.f() >= dimension.a())) && ((dimension2 == null || (symbolInfo.g() <= dimension2.b() && symbolInfo.f() <= dimension2.a())) && i2 <= symbolInfo.b)))) {
|
|
return symbolInfo;
|
|
}
|
|
}
|
|
if (z) {
|
|
throw new IllegalArgumentException("Can't find a symbol arrangement that matches the message. Data codewords: ".concat(String.valueOf(i2)));
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private int h() {
|
|
int i2 = this.f;
|
|
int i3 = 1;
|
|
if (i2 != 1) {
|
|
i3 = 2;
|
|
if (i2 != 2 && i2 != 4) {
|
|
if (i2 == 16) {
|
|
return 4;
|
|
}
|
|
if (i2 == 36) {
|
|
return 6;
|
|
}
|
|
throw new IllegalStateException("Cannot handle this number of data regions");
|
|
}
|
|
}
|
|
return i3;
|
|
}
|
|
|
|
private int i() {
|
|
int i2 = this.f;
|
|
if (i2 == 1 || i2 == 2) {
|
|
return 1;
|
|
}
|
|
if (i2 == 4) {
|
|
return 2;
|
|
}
|
|
if (i2 == 16) {
|
|
return 4;
|
|
}
|
|
if (i2 == 36) {
|
|
return 6;
|
|
}
|
|
throw new IllegalStateException("Cannot handle this number of data regions");
|
|
}
|
|
|
|
public final int b() {
|
|
return this.c;
|
|
}
|
|
|
|
public int c() {
|
|
return this.b / this.g;
|
|
}
|
|
|
|
public final int d() {
|
|
return i() * this.e;
|
|
}
|
|
|
|
public final int e() {
|
|
return h() * this.d;
|
|
}
|
|
|
|
public final int f() {
|
|
return d() + (i() << 1);
|
|
}
|
|
|
|
public final int g() {
|
|
return e() + (h() << 1);
|
|
}
|
|
|
|
public final String toString() {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append(this.a ? "Rectangular Symbol:" : "Square Symbol:");
|
|
sb.append(" data region ");
|
|
sb.append(this.d);
|
|
sb.append('x');
|
|
sb.append(this.e);
|
|
sb.append(", symbol size ");
|
|
sb.append(g());
|
|
sb.append('x');
|
|
sb.append(f());
|
|
sb.append(", symbol data size ");
|
|
sb.append(e());
|
|
sb.append('x');
|
|
sb.append(d());
|
|
sb.append(", codewords ");
|
|
sb.append(this.b);
|
|
sb.append('+');
|
|
sb.append(this.c);
|
|
return sb.toString();
|
|
}
|
|
|
|
SymbolInfo(boolean z, int i2, int i3, int i4, int i5, int i6, int i7, int i8) {
|
|
this.a = z;
|
|
this.b = i2;
|
|
this.c = i3;
|
|
this.d = i4;
|
|
this.e = i5;
|
|
this.f = i6;
|
|
this.g = i7;
|
|
this.h = i8;
|
|
}
|
|
|
|
public final int b(int i2) {
|
|
return this.h;
|
|
}
|
|
|
|
public final int a() {
|
|
return this.b;
|
|
}
|
|
|
|
public int a(int i2) {
|
|
return this.g;
|
|
}
|
|
}
|