正在查看: Easycash v3.75.13 应用的 FaceV5Manager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Easycash v3.75.13 应用的 FaceV5Manager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.fintopia.livenessdetection.facev5;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import com.lingyue.idnbaselib.EmptyCallBack;
import com.lingyue.idnbaselib.GeneralConstants;
import com.lingyue.idnbaselib.R;
import com.lingyue.idnbaselib.framework.ECBaseActivity;
import com.lingyue.idnbaselib.livecheck.FaceDetectErrorStep;
import com.lingyue.idnbaselib.model.IdnBaseResult;
import com.lingyue.idnbaselib.model.IdnObserver;
import com.lingyue.idnbaselib.model.live.FaceIdCard;
import com.lingyue.idnbaselib.model.live.FacePPBizTokenResponse;
import com.lingyue.idnbaselib.utils.JsonParamsBuilder;
import com.lingyue.idnbaselib.utils.ThirdPartEventUtils;
import com.lingyue.supertoolkit.customtools.Logger;
import com.lingyue.supertoolkit.widgets.BaseUtils;
import com.megvii.lv5.sdk.bean.MegliveLocalFileInfo;
import com.megvii.lv5.sdk.manager.MegLiveDetectConfig;
import com.megvii.lv5.sdk.manager.MegLiveDetectListener;
import com.megvii.lv5.sdk.manager.MegLiveManager;
import com.megvii.lv5.sdk.manager.TipsShowMode;
import io.reactivex.Observable;
import io.sentry.ISpan;
import io.sentry.ITransaction;
import io.sentry.Sentry;
import io.sentry.SpanStatus;
import io.sentry.android.core.SentryLogcatAdapter;
import java.util.Locale;
import retrofit2.Response;
public class FaceV5Manager {
private String a;
public ECBaseActivity c;
private boolean e;
private boolean f;
private FaceV5ManagerListener g;
private FaceIdCard b = new FaceIdCard();
ITransaction d = Sentry.C("FacePPCheck", "FacePPCheck");
public interface FaceV5ManagerApi<T> {
Observable<Response<T>> a();
}
public interface FaceV5ManagerListener {
void a(String str, String str2, String str3);
void b(@NonNull FaceIdCard faceIdCard);
}
public FaceV5Manager(ECBaseActivity eCBaseActivity, boolean z, FaceV5ManagerListener faceV5ManagerListener) {
this.a = "";
this.c = eCBaseActivity;
this.f = z;
this.g = faceV5ManagerListener;
this.a = j("faceidmodel.bin", "model");
}
public void i(String str, String str2) {
ThirdPartEventUtils.D(this.c, GeneralConstants.f, new JsonParamsBuilder().d("step").a(FaceDetectErrorStep.FACE_DETECT_FACEPP_V5.a()).d("errorCode").a(str).d("errorMessage").a(str2).c());
}
private java.lang.String j(java.lang.String r6, java.lang.String r7) {
throw new UnsupportedOperationException("Method not decompiled: com.fintopia.livenessdetection.facev5.FaceV5Manager.j(java.lang.String, java.lang.String):java.lang.String");
}
public void l(String str, int i, String str2, SpanStatus spanStatus) {
this.d.a("faceV5DetectResult", str);
this.d.a("faceV5DetectResultCode", String.valueOf(i));
this.d.a("faceV5DetectToken", str2);
this.d.o(spanStatus);
}
public void m(final String str, int i) {
MegLiveDetectConfig megLiveDetectConfig = new MegLiveDetectConfig();
megLiveDetectConfig.setBizToken(str);
megLiveDetectConfig.setHost("https://api-idn.megvii.com");
megLiveDetectConfig.setLanguage(Locale.getDefault().getLanguage());
megLiveDetectConfig.setModelPath(this.a);
megLiveDetectConfig.setTipsMode(TipsShowMode.MODE_LONG);
if (i > 0) {
megLiveDetectConfig.setUploadTimeout(i);
}
MegLiveManager.getInstance().startDetect(this.c, megLiveDetectConfig, new MegLiveDetectListener() {
public void onDetectFinish(int i2, String str2, String str3) {
Logger.c().b("faceidv5+onDetectFinish : errorCode=" + i2 + ",errorMessage=" + str2);
if (i2 == 1000) {
FaceV5Manager.this.e = true;
FaceV5Manager.this.b.bizToken = str3;
if ((!FaceV5Manager.this.f || !TextUtils.isEmpty(FaceV5Manager.this.b.livenessFilePath)) && FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.b(FaceV5Manager.this.b);
}
FaceV5Manager faceV5Manager = FaceV5Manager.this;
SpanStatus spanStatus = SpanStatus.OK;
faceV5Manager.l(spanStatus.name(), i2, str, spanStatus);
} else if (i2 != 1011) {
FaceV5Manager.this.e = false;
ECBaseActivity eCBaseActivity = FaceV5Manager.this.c;
int i3 = R.string.ec_live_detection_failed;
BaseUtils.p(eCBaseActivity, eCBaseActivity.getString(i3));
if (FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.a("2011", String.valueOf(i2), str2);
}
FaceV5Manager.this.i(String.valueOf(i2), FaceV5Manager.this.c.getString(i3));
FaceV5Manager.this.l(str2, i2, str, SpanStatus.INTERNAL_ERROR);
} else {
FaceV5Manager.this.e = false;
if (FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.a("1000", String.valueOf(i2), str2);
}
FaceV5Manager.this.l(str2, i2, str, SpanStatus.INTERNAL_ERROR);
}
ThirdPartEventUtils.D(FaceV5Manager.this.c, GeneralConstants.k, new JsonParamsBuilder().d("sdk").a(MegLiveManager.getInstance().getVersion()).d("code").a(String.valueOf(i2)).d("error_message").a(str2).c());
}
public void onLivenessFileCallback(String str2) {
SentryLogcatAdapter.d("faceidv5", "onLivenessFileCallback : livenessFilePath=" + str2);
FaceV5Manager.this.b.livenessFilePath = str2;
if (FaceV5Manager.this.f && FaceV5Manager.this.e && FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.b(FaceV5Manager.this.b);
}
}
public void onPreDetectFinish(int i2, String str2) {
Logger.c().b("faceidv5+onPreDetectFinish : errorCode=" + i2 + ",errorMessage=" + str2);
FaceV5Manager.this.c.dismissLoadingDialog();
if (i2 != 1000) {
FaceV5Manager.this.e = false;
FaceV5Manager.this.l(str2, i2, str, SpanStatus.INTERNAL_ERROR);
ECBaseActivity eCBaseActivity = FaceV5Manager.this.c;
int i3 = R.string.ec_live_auth_exception_tips_v5;
BaseUtils.p(eCBaseActivity, eCBaseActivity.getString(i3));
if (FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.a("2010", String.valueOf(i2), str2);
}
FaceV5Manager.this.i(String.valueOf(i2), FaceV5Manager.this.c.getString(i3));
}
ThirdPartEventUtils.D(FaceV5Manager.this.c, GeneralConstants.l, new JsonParamsBuilder().d("sdk").a(MegLiveManager.getInstance().getVersion()).d("code").a(String.valueOf(i2)).d("error_message").a(str2).c());
}
public void onLivenessLocalFileCallBack(MegliveLocalFileInfo megliveLocalFileInfo) {
}
});
}
public void k(FaceV5ManagerApi<FacePPBizTokenResponse> faceV5ManagerApi, final int i) {
final ISpan y = this.d.y("FaceV5DetectGetToken", "getBizToken");
this.c.showLoadingDialog();
faceV5ManagerApi.a().a(new IdnObserver<FacePPBizTokenResponse>(new EmptyCallBack()) {
public void onError(Throwable th, FacePPBizTokenResponse facePPBizTokenResponse) {
super.onError(th, facePPBizTokenResponse);
FaceV5Manager.this.c.dismissLoadingDialog();
BaseUtils.p(FaceV5Manager.this.c, ((IdnBaseResult) facePPBizTokenResponse).status.detail);
if (FaceV5Manager.this.g != null) {
FaceV5Manager.this.g.a("2000", String.valueOf(((IdnBaseResult) facePPBizTokenResponse).status.code), ((IdnBaseResult) facePPBizTokenResponse).status.detail);
}
ISpan iSpan = y;
SpanStatus spanStatus = SpanStatus.INTERNAL_ERROR;
iSpan.o(spanStatus);
FaceV5Manager.this.d.a("faceV5DetectGetTokenError", ((IdnBaseResult) facePPBizTokenResponse).status.detail);
FaceV5Manager.this.d.a("faceV5DetectGetTokenErrorCode", String.valueOf(((IdnBaseResult) facePPBizTokenResponse).status.code));
FaceV5Manager.this.d.o(spanStatus);
}
public void onSuccess(FacePPBizTokenResponse facePPBizTokenResponse) {
y.o(SpanStatus.OK);
FaceV5Manager.this.b.source = "FACEPP_V5";
FaceV5Manager.this.b.bizToken = facePPBizTokenResponse.body.facePPBizToken;
FaceV5Manager.this.b.livenessFilePath = null;
FaceV5Manager.this.m(facePPBizTokenResponse.body.facePPBizToken, i);
}
});
}
}