导航菜单

页面标题

页面副标题

Easycash v3.75.13 - FaceV5Manager.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);
            }
        });
    }
}