discord-jadx/app/src/main/java/me/dm7/barcodescanner/zxing/ZXingScannerView.java

242 lines
8.3 KiB
Java

package me.dm7.barcodescanner.zxing;
import android.content.Context;
import android.graphics.Rect;
import android.hardware.Camera;
import android.os.Handler;
import android.os.Looper;
import android.util.AttributeSet;
import android.util.Log;
import c.i.e.c;
import c.i.e.e;
import c.i.e.g;
import c.i.e.h;
import com.google.zxing.NotFoundException;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import e0.a.a.a.d;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumMap;
import java.util.List;
public class ZXingScannerView extends e0.a.a.a.a {
public static final List<c.i.e.a> C;
public g D;
public List<c.i.e.a> E;
public b F;
public class a implements Runnable {
public final /* synthetic */ Result i;
public a(Result result) {
this.i = result;
}
@Override // java.lang.Runnable
public void run() {
ZXingScannerView zXingScannerView = ZXingScannerView.this;
b bVar = zXingScannerView.F;
zXingScannerView.F = null;
d dVar = zXingScannerView.j;
if (dVar != null) {
dVar.e();
}
if (bVar != null) {
bVar.handleResult(this.i);
}
}
}
public interface b {
void handleResult(Result result);
}
static {
ArrayList arrayList = new ArrayList();
C = arrayList;
arrayList.add(c.i.e.a.AZTEC);
arrayList.add(c.i.e.a.CODABAR);
arrayList.add(c.i.e.a.CODE_39);
arrayList.add(c.i.e.a.CODE_93);
arrayList.add(c.i.e.a.CODE_128);
arrayList.add(c.i.e.a.DATA_MATRIX);
arrayList.add(c.i.e.a.EAN_8);
arrayList.add(c.i.e.a.EAN_13);
arrayList.add(c.i.e.a.ITF);
arrayList.add(c.i.e.a.MAXICODE);
arrayList.add(c.i.e.a.PDF_417);
arrayList.add(c.i.e.a.QR_CODE);
arrayList.add(c.i.e.a.RSS_14);
arrayList.add(c.i.e.a.RSS_EXPANDED);
arrayList.add(c.i.e.a.UPC_A);
arrayList.add(c.i.e.a.UPC_E);
arrayList.add(c.i.e.a.UPC_EAN_EXTENSION);
}
public ZXingScannerView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
c();
}
public h b(byte[] bArr, int i, int i2) {
Rect rect;
synchronized (this) {
if (this.l == null) {
Rect framingRect = ((e0.a.a.a.g) this.k).getFramingRect();
int width = this.k.getWidth();
int height = this.k.getHeight();
if (!(framingRect == null || width == 0)) {
if (height != 0) {
Rect rect2 = new Rect(framingRect);
if (i < width) {
rect2.left = (rect2.left * i) / width;
rect2.right = (rect2.right * i) / width;
}
if (i2 < height) {
rect2.top = (rect2.top * i2) / height;
rect2.bottom = (rect2.bottom * i2) / height;
}
this.l = rect2;
}
}
rect = null;
}
rect = this.l;
}
if (rect == null) {
return null;
}
try {
return new h(bArr, i, i2, rect.left, rect.top, rect.width(), rect.height(), false);
} catch (Exception unused) {
return null;
}
}
public final void c() {
EnumMap enumMap = new EnumMap(c.i.e.d.class);
enumMap.put((EnumMap) c.i.e.d.POSSIBLE_FORMATS, (c.i.e.d) getFormats());
g gVar = new g();
this.D = gVar;
gVar.c(enumMap);
}
public Collection<c.i.e.a> getFormats() {
List<c.i.e.a> list = this.E;
return list == null ? C : list;
}
/* JADX INFO: finally extract failed */
/* JADX WARNING: Removed duplicated region for block: B:28:0x0079 A[Catch:{ RuntimeException -> 0x00ee }] */
/* JADX WARNING: Removed duplicated region for block: B:55:0x00d6 */
/* JADX WARNING: Removed duplicated region for block: B:56:0x00e8 */
@Override // android.hardware.Camera.PreviewCallback
public void onPreviewFrame(byte[] bArr, Camera camera) {
byte[] bArr2;
h b2;
Result result;
Result result2;
if (this.F != null) {
try {
Camera.Size previewSize = camera.getParameters().getPreviewSize();
int i = previewSize.width;
int i2 = previewSize.height;
if (c.q.a.k.a.w(getContext()) == 1) {
int rotationCount = getRotationCount();
if (rotationCount != 1) {
if (rotationCount != 3) {
i = i2;
i2 = i;
}
}
Camera.Size previewSize2 = camera.getParameters().getPreviewSize();
int i3 = previewSize2.width;
int i4 = previewSize2.height;
int rotationCount2 = getRotationCount();
if (rotationCount2 != 1) {
if (rotationCount2 != 3) {
i = i2;
i2 = i;
}
}
int i5 = i4;
int i6 = 0;
bArr2 = bArr;
while (i6 < rotationCount2) {
byte[] bArr3 = new byte[bArr2.length];
for (int i7 = 0; i7 < i5; i7++) {
for (int i8 = 0; i8 < i3; i8++) {
bArr3[(((i8 * i5) + i5) - i7) - 1] = bArr2[(i7 * i3) + i8];
}
}
i6++;
bArr2 = bArr3;
i5 = i3;
i3 = i5;
}
b2 = b(bArr2, i2, i);
result = null;
if (b2 != null) {
c cVar = new c(new c.i.e.n.h(b2));
try {
g gVar = this.D;
if (gVar.b == null) {
gVar.c(null);
}
result2 = gVar.b(cVar);
this.D.reset();
} catch (ReaderException | ArrayIndexOutOfBoundsException | NullPointerException unused) {
this.D.reset();
result2 = null;
} catch (Throwable th) {
this.D.reset();
throw th;
}
if (result2 == null) {
c cVar2 = new c(new c.i.e.n.h(new e(b2)));
try {
g gVar2 = this.D;
if (gVar2.b == null) {
gVar2.c(null);
}
result = gVar2.b(cVar2);
} catch (NotFoundException unused2) {
} finally {
this.D.reset();
}
}
result = result2;
}
if (result == null) {
new Handler(Looper.getMainLooper()).post(new a(result));
return;
} else {
camera.setOneShotPreviewCallback(this);
return;
}
}
bArr2 = bArr;
i = i2;
i2 = i;
b2 = b(bArr2, i2, i);
result = null;
if (b2 != null) {
}
if (result == null) {
}
} catch (RuntimeException e) {
Log.e("ZXingScannerView", e.toString(), e);
}
}
}
public void setFormats(List<c.i.e.a> list) {
this.E = list;
c();
}
public void setResultHandler(b bVar) {
this.F = bVar;
}
}