导航菜单

页面标题

页面副标题

Credmex v3.12.2 - FaceCheckNetWarrantyUtil.java 源代码

正在查看: Credmex v3.12.2 应用的 FaceCheckNetWarrantyUtil.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.credmex.utils;

import android.content.Context;
import androidx.annotation.NonNull;
import com.credmex.commom.CommonActivity;
import com.google.gson.Gson;
import com.megvii.livenessdetection.LivenessLicenseManager;
import com.veda.supertoolkit.customtools.Logger;
import com.veda.supertoolkit.resourcetools.DeviceUtils;
import com.veda.supertoolkit.widgets.BaseUtils;
import io.reactivex.Flowable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import java.net.ConnectException;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class FaceCheckNetWarrantyUtil {

    public interface ICallBack {
        void a();

        void onError();

        void onStart();

        void onSuccess();
    }

    public static void a(Context context, @NonNull final ICallBack iCallBack) {
        iCallBack.onStart();
        Flowable.G(context).b0(Schedulers.c()).H(new Function<Context, LivenessLicenseManager>() {
            public LivenessLicenseManager apply(Context context2) throws Exception {
                LivenessLicenseManager livenessLicenseManager = new LivenessLicenseManager(context2);
                OkHttpClient.Builder l2 = new OkHttpClient.Builder().l(new HostnameVerifier() {
                    @Override
                    public boolean verify(String str, SSLSession sSLSession) {
                        Logger.c().b(new Gson().t(sSLSession.getValueNames()));
                        return true;
                    }
                });
                TimeUnit timeUnit = TimeUnit.SECONDS;
                Response execute = l2.e(15L, timeUnit).p(15L, timeUnit).c().a(new Request.Builder().k("https://api-sgp.megvii.com/faceid/v1/sdk/auth").a("Content-type", "text/plain").h(RequestBody.d(MediaType.d("text/plan; charset=utf-8"), livenessLicenseManager.c(DeviceUtils.j(context2)))).b()).execute();
                if (!execute.isSuccessful()) {
                    throw new ConnectException();
                }
                livenessLicenseManager.d(execute.a().A());
                return livenessLicenseManager;
            }
        }).J(AndroidSchedulers.a()).W(new Consumer<LivenessLicenseManager>() {
            public void accept(LivenessLicenseManager livenessLicenseManager) throws Exception {
                try {
                    try {
                        if (livenessLicenseManager.b() > 0) {
                            ICallBack.this.onSuccess();
                        } else {
                            ICallBack.this.onError();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } finally {
                    ICallBack.this.a();
                }
            }
        }, new Consumer<Throwable>() {
            public void accept(Throwable th) throws Exception {
                try {
                    try {
                        ICallBack.this.onError();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } finally {
                    ICallBack.this.a();
                }
            }
        });
    }

    public static class DefaultCallBack implements ICallBack {
        CommonActivity a;

        public DefaultCallBack(@NonNull CommonActivity commonActivity) {
            this.a = commonActivity;
        }

        @Override
        public void a() {
            if (b()) {
                this.a.dismissLoadingDialog();
            }
        }

        public boolean b() {
            com.veda.android.bananalibrary.net.ICallBack iCallBack = this.a;
            return (iCallBack == null || iCallBack.isFinishing() || this.a.isDestroyed()) ? false : true;
        }

        @Override
        public void onError() {
            if (b()) {
                ?? r0 = this.a;
                BaseUtils.f((Context) r0, r0.getResources().getString(2131820861));
            }
        }

        @Override
        public void onStart() {
            if (b()) {
                this.a.showLoadingDialog();
            }
        }

        @Override
        public void onSuccess() {
        }
    }
}