what-the-bank/sources/com/facetec/sdk/af.java

725 lines
27 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package com.facetec.sdk;
import android.app.Activity;
import android.content.Context;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.RectF;
import android.graphics.SurfaceTexture;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraDevice;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.params.StreamConfigurationMap;
import android.os.Build;
import android.os.Handler;
import android.os.HandlerThread;
import android.renderscript.Allocation;
import android.util.Size;
import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import androidx.core.app.ActivityCompat;
import com.facetec.sdk.Cdo;
import com.facetec.sdk.ae;
import com.facetec.sdk.ah;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public final class af extends ah {
static final boolean s = true;
private Handler D;
private final TextureView.SurfaceTextureListener I;
final aj k;
final g m;
final WeakReference<be> n;
/* renamed from: o, reason: collision with root package name */
CameraDevice f6403o;
Cdo p;
CaptureRequest.Builder q;
CameraCaptureSession r;
private String u;
private CameraCharacteristics v;
private int w;
private HandlerThread y;
static final String[] f = {"Pixel 6", "Surface Duo 2", "2203129G"};
static Surface t = null;
private static Boolean A = null;
private static Boolean B = null;
private final Cdo.e x = new Cdo.e(this) { // from class: com.facetec.sdk.af$$ExternalSyntheticLambda0
public final af f$0;
@Override // com.facetec.sdk.Cdo.e
public final void onImageAvailable(byte[] bArr, Size size) {
this.f$0.d(bArr, size);
}
{
this.f$0 = this;
}
};
final Semaphore l = new Semaphore(1);
private boolean z = false;
private boolean C = false;
private final CameraDevice.StateCallback E = new CameraDevice.StateCallback(this) { // from class: com.facetec.sdk.af.2
private af d;
{
this.d = this;
}
@Override // android.hardware.camera2.CameraDevice.StateCallback
public final void onOpened(CameraDevice cameraDevice) {
aw.e("CTOT");
af afVar = this.d;
aw.c("CTCPT");
afVar.f6403o = cameraDevice;
try {
try {
if (afVar.p != null) {
SurfaceTexture surfaceTexture = afVar.m.getSurfaceTexture();
if (!af.s && surfaceTexture == null) {
throw new AssertionError();
}
surfaceTexture.setDefaultBufferSize(afVar.k.e, afVar.k.c);
Surface surface = new Surface(surfaceTexture);
Surface surface2 = afVar.p.a.getSurface();
afVar.q = afVar.f6403o.createCaptureRequest(1);
afVar.q.addTarget(surface);
afVar.q.addTarget(surface2);
if (af.t != null) {
afVar.q.addTarget(af.t);
}
afVar.q.set(CaptureRequest.CONTROL_MODE, 1);
if (afVar.e(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES, 11)) {
afVar.q.set(CaptureRequest.CONTROL_SCENE_MODE, 11);
}
afVar.q.set(CaptureRequest.CONTROL_AWB_LOCK, Boolean.FALSE);
afVar.q.set(CaptureRequest.CONTROL_AE_LOCK, Boolean.FALSE);
afVar.q.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, 0);
boolean z = false;
for (String str : af.f) {
if (Build.MODEL.contains(str)) {
z = true;
}
}
if (z) {
if (afVar.q.get(CaptureRequest.EDGE_MODE) != null) {
afVar.q.set(CaptureRequest.EDGE_MODE, 0);
}
if (afVar.q.get(CaptureRequest.NOISE_REDUCTION_MODE) != null) {
afVar.q.set(CaptureRequest.NOISE_REDUCTION_MODE, 0);
}
}
if (ah.d.e(ah.d.c)) {
if (afVar.q.get(CaptureRequest.CONTROL_CAPTURE_INTENT) != null) {
afVar.q.set(CaptureRequest.CONTROL_CAPTURE_INTENT, 4);
}
if (afVar.q.get(CaptureRequest.CONTROL_AWB_MODE) != null) {
afVar.q.set(CaptureRequest.CONTROL_AWB_MODE, 0);
}
}
aw.c("CTCCST");
afVar.f6403o.createCaptureSession(af.t == null ? Arrays.asList(surface, surface2) : Arrays.asList(surface, surface2, af.t), new CameraCaptureSession.StateCallback(afVar) { // from class: com.facetec.sdk.af.3
private af b;
@Override // android.hardware.camera2.CameraCaptureSession.StateCallback
public final void onConfigureFailed(CameraCaptureSession cameraCaptureSession) {
}
{
this.b = afVar;
}
@Override // android.hardware.camera2.CameraCaptureSession.StateCallback
public final void onConfigured(CameraCaptureSession cameraCaptureSession) {
aw.e("CTCCST");
af afVar2 = this.b;
boolean z2 = false;
try {
try {
z2 = afVar2.l.tryAcquire(2L, TimeUnit.SECONDS);
} finally {
if (0 != 0) {
afVar2.l.release();
}
}
} catch (CameraAccessException | InterruptedException e2) {
k.a(e2);
if (!z2) {
return;
}
}
if (afVar2.f6403o == null) {
if (z2) {
return;
} else {
return;
}
}
afVar2.r = cameraCaptureSession;
if (!ba.c) {
if (afVar2.e(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES, 4)) {
afVar2.q.set(CaptureRequest.CONTROL_AF_MODE, 4);
}
} else if (afVar2.e(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES, 3)) {
afVar2.q.set(CaptureRequest.CONTROL_AF_MODE, 3);
}
if (afVar2.e(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES, 1)) {
afVar2.q.set(CaptureRequest.CONTROL_AE_MODE, 1);
}
aw.c("CTPRT");
afVar2.r.setRepeatingRequest(afVar2.q.build(), null, null);
aw.e("CTPRT");
if (!z2) {
return;
}
afVar2.l.release();
}
}, null);
}
} catch (CameraAccessException e2) {
k.a(e2);
} catch (IllegalStateException unused) {
if (afVar.n.get() != null) {
afVar.n.get().e(d.CAMERA_ALREADY_CLOSED.toString());
t.a(afVar.n.get(), d.CAMERA_ALREADY_CLOSED, t.e((Activity) afVar.n.get()));
}
}
afVar.l.release();
aw.e("CTCPT");
} catch (Throwable th) {
afVar.l.release();
throw th;
}
}
@Override // android.hardware.camera2.CameraDevice.StateCallback
public final void onDisconnected(CameraDevice cameraDevice) {
this.d.b(cameraDevice);
}
@Override // android.hardware.camera2.CameraDevice.StateCallback
public final void onError(CameraDevice cameraDevice, int i) {
af afVar = this.d;
afVar.b(cameraDevice);
be beVar = afVar.n.get();
if (beVar != null) {
beVar.e("Camera2 device error: ".concat(String.valueOf(i)));
d dVar = d.CAMERA2_ERROR;
StringBuilder sb = new StringBuilder("Camera2 device error: ");
sb.append(i);
sb.append(t.e((Activity) beVar));
t.a(beVar, dVar, sb.toString());
}
}
};
@Override // com.facetec.sdk.ah
final void a(ViewGroup viewGroup) {
}
@Override // com.facetec.sdk.ah
final void b(boolean z, ViewGroup viewGroup) {
}
@Override // com.facetec.sdk.ah
final void d(boolean z) {
}
@Override // com.facetec.sdk.ah
final void e(boolean z) {
}
/* JADX INFO: Access modifiers changed from: package-private */
public af(Activity activity) throws ae {
TextureView.SurfaceTextureListener surfaceTextureListener = new TextureView.SurfaceTextureListener(this) { // from class: com.facetec.sdk.af.4
private af d;
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
}
{
this.d = this;
}
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i2) {
this.d.c(i, i2);
}
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int i, int i2) {
this.d.d(i, i2);
}
@Override // android.view.TextureView.SurfaceTextureListener
public final boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
try {
this.d.i();
return true;
} catch (Exception unused) {
return true;
}
}
};
this.I = surfaceTextureListener;
this.n = new WeakReference<>((be) activity);
if (!ba.c) {
this.k = c();
} else {
this.k = h();
}
g gVar = new g(activity);
this.m = gVar;
HandlerThread handlerThread = new HandlerThread("CameraBackground");
this.y = handlerThread;
handlerThread.start();
this.D = new Handler(this.y.getLooper());
if (gVar.isAvailable()) {
b(activity, gVar.getWidth(), gVar.getHeight());
} else {
gVar.setSurfaceTextureListener(surfaceTextureListener);
}
}
/* JADX INFO: Access modifiers changed from: private */
public void d(byte[] bArr, Size size) {
cd cdVar;
if (this.g) {
aw.e("CTFFT");
}
this.e = true;
bg bgVar = (bg) this.n.get();
if (bgVar == null || (cdVar = bgVar.b) == null) {
return;
}
cdVar.b(bArr, size.getWidth(), size.getHeight(), this.w, Boolean.TRUE);
this.g = false;
}
@Override // com.facetec.sdk.ah
final void b() {
if (this.z) {
return;
}
this.z = true;
Cdo cdo = this.p;
if (cdo != null) {
cdo.e(this.x);
}
}
private void d(Context context, StreamConfigurationMap streamConfigurationMap) {
Size[] outputSizes = streamConfigurationMap.getOutputSizes(Allocation.class);
Arrays.sort(outputSizes, new Comparator() { // from class: com.facetec.sdk.af$$ExternalSyntheticLambda1
@Override // java.util.Comparator
public final int compare(Object obj, Object obj2) {
int a;
a = af.a((Size) obj, (Size) obj2);
return a;
}
});
Size size = new Size(640, 360);
float f2 = this.k.e / this.k.c;
int width = size.getWidth() * size.getHeight();
int length = outputSizes.length;
Size size2 = null;
int i = 0;
while (true) {
if (i >= length) {
break;
}
Size size3 = outputSizes[i];
int height = size3.getHeight() * size3.getWidth();
if (height >= width && height <= (width << 2)) {
float width2 = size3.getWidth() / size3.getHeight();
if (width2 <= 3.0f) {
if (width2 == f2) {
size2 = size3;
break;
}
size2 = size3;
} else {
continue;
}
}
i++;
}
if (size2 != null) {
size = size2;
}
ah.a = new aj(size.getWidth(), size.getHeight());
try {
Cdo cdo = new Cdo(context, size);
this.p = cdo;
if (this.z) {
cdo.e(this.x);
}
} catch (Throwable th) {
k.a(th);
av.e(th.getMessage());
throw new RuntimeException(th);
}
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ int a(Size size, Size size2) {
return Integer.compare(size.getHeight() * size.getWidth(), size2.getHeight() * size2.getWidth());
}
private void d(Activity activity) throws CameraAccessException, ae {
c(activity, h(activity));
}
private void b(Activity activity) throws CameraAccessException, ae {
c(activity, i(activity));
}
private void c(Activity activity, e eVar) throws CameraAccessException, ae {
if (eVar != null) {
String str = eVar.a;
CameraCharacteristics cameraCharacteristics = eVar.b;
StreamConfigurationMap streamConfigurationMap = eVar.c;
int intValue = ((Integer) cameraCharacteristics.get(CameraCharacteristics.SENSOR_ORIENTATION)).intValue();
this.w = intValue;
j = intValue;
activity.getWindowManager().getDefaultDisplay().getSize(new Point());
activity.getWindowManager().getDefaultDisplay().getRealSize(new Point());
if (activity.getResources().getConfiguration().orientation == 2) {
this.m.setAspectRatio(this.k.e, this.k.c);
} else {
this.m.setAspectRatio(this.k.c, this.k.e);
}
d(activity, streamConfigurationMap);
this.u = str;
this.v = cameraCharacteristics;
return;
}
throw new ae(ae.e.FRONT_FACING_NOT_FOUND);
}
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public static final class e {
String a;
CameraCharacteristics b;
StreamConfigurationMap c;
boolean d = false;
e() {
}
}
private static e i(Context context) throws ae {
return a(context, 1);
}
private static e h(Context context) throws ae {
return a(context, 0);
}
private static CameraManager j(Context context) {
return (CameraManager) context.getApplicationContext().getSystemService("camera");
}
private static e a(Context context, int i) throws ae {
StreamConfigurationMap streamConfigurationMap;
CameraManager j = j(context);
try {
String[] cameraIdList = j.getCameraIdList();
CameraAccessException e2 = null;
for (String str : cameraIdList) {
try {
CameraCharacteristics cameraCharacteristics = j.getCameraCharacteristics(str);
Integer num = (Integer) cameraCharacteristics.get(CameraCharacteristics.LENS_FACING);
if ((num == null || num.intValue() == i || ai.e(cameraIdList)) && (streamConfigurationMap = (StreamConfigurationMap) cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)) != null) {
Integer num2 = (Integer) cameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
e eVar = new e();
eVar.a = str;
eVar.b = cameraCharacteristics;
eVar.c = streamConfigurationMap;
if (num2.intValue() != 2) {
eVar.d = true;
}
return eVar;
}
} catch (CameraAccessException e3) {
e2 = e3;
e2.getMessage();
}
}
if (e2 == null) {
return null;
}
throw new ae(ae.e.ACCESS_ERROR, e2);
} catch (CameraAccessException e4) {
throw new ae(e4);
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public static boolean e(Context context) throws ae {
synchronized (af.class) {
if (A == null) {
e h = h(context);
if (h == null) {
return false;
}
A = Boolean.valueOf(h.d);
}
return A.booleanValue();
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public static boolean d(Context context) throws ae {
synchronized (af.class) {
if (B == null) {
e i = i(context);
if (i == null) {
return false;
}
B = Boolean.valueOf(i.d);
}
return B.booleanValue();
}
}
private void b(Activity activity, int i, int i2) throws ae {
if (this.C) {
return;
}
if (ActivityCompat.checkSelfPermission(activity, "android.permission.CAMERA") != 0) {
throw new ae(ae.e.PERMISSION_DENIED);
}
try {
if (!ba.c) {
d(activity);
} else {
b(activity);
}
d(i, i2);
CameraManager j = j(activity);
if (j == null) {
throw new ae(ae.e.PERMISSION_DENIED);
}
try {
if (!this.l.tryAcquire(2500L, TimeUnit.MILLISECONDS)) {
throw new ae(ae.e.OPEN_TIMEOUT);
}
aw.c("CTOT");
aw.c("CTFFT");
try {
j.openCamera(this.u, this.E, (Handler) null);
} catch (Exception e2) {
this.l.release();
throw new ae(ae.e.UNKNOWN, e2.getMessage());
}
} catch (InterruptedException e3) {
k.a(e3);
throw new ae(ae.e.LOCK_OPEN_TIMEOUT, e3);
}
} catch (CameraAccessException e4) {
throw new ae(ae.e.UNKNOWN, e4.getMessage());
}
}
protected final void i() throws ae {
boolean z;
try {
z = this.l.tryAcquire(10L, TimeUnit.SECONDS);
} catch (InterruptedException e2) {
k.a(e2);
z = false;
}
try {
try {
CameraCaptureSession cameraCaptureSession = this.r;
if (cameraCaptureSession != null) {
cameraCaptureSession.close();
this.r = null;
}
CameraDevice cameraDevice = this.f6403o;
if (cameraDevice != null) {
cameraDevice.close();
this.f6403o = null;
}
} catch (Exception e3) {
throw new ae(ae.e.CLOSE_ERROR, e3);
}
} finally {
if (z) {
this.l.release();
}
}
}
final void b(CameraDevice cameraDevice) {
this.l.release();
cameraDevice.close();
this.f6403o = null;
}
final boolean e(CameraCharacteristics.Key<int[]> key, int i) {
int[] iArr = (int[]) this.v.get(key);
if (iArr != null) {
for (int i2 : iArr) {
if (i2 == i) {
return true;
}
}
}
return false;
}
protected final void d(int i, int i2) {
be beVar = this.n.get();
if (this.m == null || beVar == null) {
return;
}
int rotation = beVar.getWindowManager().getDefaultDisplay().getRotation();
Matrix matrix = new Matrix();
float f2 = i;
float f3 = i2;
RectF rectF = new RectF(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED, f2, f3);
RectF rectF2 = new RectF(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED, this.k.c, this.k.e);
float centerX = rectF.centerX();
float centerY = rectF.centerY();
if (1 == rotation || 3 == rotation) {
rectF2.offset(centerX - rectF2.centerX(), centerY - rectF2.centerY());
matrix.setRectToRect(rectF, rectF2, Matrix.ScaleToFit.FILL);
float max = Math.max(f3 / this.k.c, f2 / this.k.e);
matrix.postScale(max, max, centerX, centerY);
matrix.postRotate((rotation - 2) * 90, centerX, centerY);
} else if (2 == rotation) {
matrix.postRotate(180.0f, centerX, centerY);
}
this.m.setTransform(matrix);
}
protected final void c(int i, int i2) {
be beVar = this.n.get();
if (beVar == null) {
return;
}
try {
b(beVar, i, i2);
} catch (Throwable th) {
d dVar = d.CAMERA2_ERROR;
StringBuilder sb = new StringBuilder("Camera2 SurfaceTexture error: ");
sb.append(th.getMessage());
sb.append(t.e((Activity) beVar));
t.d(beVar, th, dVar, sb.toString(), true);
StringBuilder sb2 = new StringBuilder("Camera 2 SurfaceTexture error: ");
sb2.append(th.getMessage());
beVar.e(sb2.toString());
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public static aj f(Context context) throws ae {
return b(context, h(context));
}
/* JADX INFO: Access modifiers changed from: package-private */
public static aj g(Context context) throws ae {
return b(context, i(context));
}
private static aj b(Context context, e eVar) throws ae {
float[] fArr = {1.7f, 1.6f, 1.5f, 1.4f, 1.3f};
ArrayList arrayList = new ArrayList();
if (eVar == null) {
throw new ae(ae.e.FRONT_FACING_NOT_FOUND);
}
Size[] outputSizes = eVar.c.getOutputSizes(SurfaceTexture.class);
if (outputSizes.length == 0) {
throw new ae(ae.e.NO_OUTPUT_SIZES);
}
Arrays.sort(outputSizes, new Comparator() { // from class: com.facetec.sdk.af$$ExternalSyntheticLambda2
@Override // java.util.Comparator
public final int compare(Object obj, Object obj2) {
int d;
d = af.d((Size) obj, (Size) obj2);
return d;
}
});
StringBuilder sb = new StringBuilder();
sb.append(outputSizes[0].getWidth());
sb.append("x");
sb.append(outputSizes[0].getHeight());
ah.c = sb.toString();
m.c(outputSizes);
av.e(context).getDefaultDisplay().getRealSize(new Point());
for (int i = 0; i < 5; i++) {
float f2 = fArr[i];
for (Size size : outputSizes) {
float width = size.getWidth();
float height = size.getHeight();
if (width <= 1920.0f && height <= 1080.0f) {
float f3 = width / height;
if (f3 >= f2 && f3 <= 1.9f && width >= 640.0f && width <= r3.y && height <= r3.x) {
arrayList.add(size);
}
}
}
if (arrayList.size() > 0) {
break;
}
}
if (arrayList.size() > 0) {
return new aj(((Size) arrayList.get(0)).getWidth(), ((Size) arrayList.get(0)).getHeight());
}
return new aj(outputSizes[0].getWidth(), outputSizes[0].getHeight());
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ int d(Size size, Size size2) {
return (size2.getWidth() * size2.getHeight()) - (size.getWidth() * size.getHeight());
}
@Override // com.facetec.sdk.ah
public final void a() {
HandlerThread handlerThread = this.y;
if (handlerThread != null) {
handlerThread.quitSafely();
try {
this.y.join();
this.y = null;
this.D.removeCallbacksAndMessages(null);
this.D = null;
} catch (InterruptedException e2) {
k.a(e2);
}
}
try {
i();
} catch (Exception unused) {
}
Cdo cdo = this.p;
if (cdo != null) {
cdo.b = null;
this.p = null;
}
this.C = true;
}
@Override // com.facetec.sdk.ah
public final View d() {
return this.m;
}
}