翰林优商.apk(点击下载) / FaceLiveManager.java


package com.baidu.idl.facelive.api;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import com.baidu.idl.face.platform.FaceSDKManager;
import com.baidu.idl.face.platform.listener.IInitCallback;
import com.baidu.idl.face.platform.ui.FaceActionLivenessActivity;
import com.baidu.idl.face.platform.ui.FaceActionLivenessVideoActivity;
import com.baidu.idl.face.platform.ui.FaceColorLivenessActivity;
import com.baidu.idl.face.platform.ui.FaceColorLivenessVideoActivity;
import com.baidu.idl.face.platform.ui.FaceSilenceLivenessActivity;
import com.baidu.idl.face.platform.ui.utils.IntentUtils;
import com.baidu.idl.face.platform.utils.SystemUtils;
import com.baidu.idl.facelive.api.callback.InitCallback;
import com.baidu.idl.facelive.api.callback.LivenessCallback;
import com.baidu.idl.facelive.api.entity.FaceLiveConfig;
import com.baidu.idl.facelive.api.entity.FaceLivenessType;
import com.baidu.idl.facelive.api.entity.InitOption;
import com.baidu.idl.facelive.api.entity.LivenessOption;
import com.baidu.idl.facelive.api.manager.FaceCallbackManager;

public class FaceLiveManager {
    private static final String TAG = "com.baidu.idl.facelive.api.FaceLiveManager";
    private static FaceLiveManager faceLiveManager = new FaceLiveManager();
    private FaceLiveConfig mFaceLiveConfig = new FaceLiveConfig();
    private boolean mInitSuccess;

    public static FaceLiveManager getInstance() {
        return faceLiveManager;
    }

    public FaceLiveConfig getFaceConfig() {
        return this.mFaceLiveConfig;
    }

    public void setFaceConfig(FaceLiveConfig faceLiveConfig) {
        this.mFaceLiveConfig = faceLiveConfig;
        FaceSDKManager.getInstance().setFaceConfig(this.mFaceLiveConfig);
    }

    public void init(Context context, InitOption initOption, final InitCallback initCallback) {
        FaceSDKManager.getInstance().initialize(context, initOption.licenseKey, initOption.licenseFileName, new IInitCallback() {
            /* class com.baidu.idl.facelive.api.FaceLiveManager.AnonymousClass1 */

            @Override // com.baidu.idl.face.platform.listener.IInitCallback
            public void initSuccess() {
                FaceLiveManager.this.mInitSuccess = true;
                if (initCallback != null) {
                    FaceInitStatusEnum convertInitStatusCode = FaceInitStatusConvert.getConvertInitStatusCode(0);
                    int state = convertInitStatusCode.getState();
                    InitCallback initCallback = initCallback;
                    initCallback.onSuccess(state, "[" + convertInitStatusCode + "]");
                }
            }

            @Override // com.baidu.idl.face.platform.listener.IInitCallback
            public void initFailure(int i, String str) {
                FaceLiveManager.this.mInitSuccess = false;
                if (initCallback != null) {
                    FaceInitStatusEnum convertInitStatusCode = FaceInitStatusConvert.getConvertInitStatusCode(i);
                    int state = convertInitStatusCode.getState();
                    InitCallback initCallback = initCallback;
                    initCallback.onError(state, "[" + convertInitStatusCode + "]");
                }
            }
        });
    }

    public void startFaceLiveness(Activity activity, LivenessOption livenessOption, LivenessCallback livenessCallback) {
        FaceCallbackManager.getInstance().mLivenessCallback = livenessCallback;
        boolean z = false;
        if (this.mFaceLiveConfig.isOpenRecord()) {
            if (!(this.mFaceLiveConfig.getPhoneList() == null || this.mFaceLiveConfig.getPhoneList().size() == 0)) {
                boolean z2 = false;
                for (int i = 0; i < this.mFaceLiveConfig.getPhoneList().size(); i++) {
                    String str = this.mFaceLiveConfig.getPhoneList().get(i);
                    String str2 = str.split("_")[0];
                    String str3 = str.split("_")[1];
                    if (str2.equals(Build.BRAND) && str3.equals(Build.MODEL)) {
                        z2 = true;
                    }
                }
                z = z2;
            }
            if (z) {
                if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.COLORLIVENESS) {
                    Intent intent = new Intent(activity, FaceColorLivenessActivity.class);
                    intent.putExtra("livenessOption", livenessOption);
                    intent.putExtra("frameExtraction", true);
                    intent.putExtra("initSuccess", this.mInitSuccess);
                    activity.startActivity(intent);
                } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.SILENTLIVENESS) {
                    Intent intent2 = new Intent(activity, FaceSilenceLivenessActivity.class);
                    intent2.putExtra("livenessOption", livenessOption);
                    intent2.putExtra("frameExtraction", true);
                    intent2.putExtra("initSuccess", this.mInitSuccess);
                    activity.startActivity(intent2);
                } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.ACTIONLIVENESS) {
                    Intent intent3 = new Intent(activity, FaceActionLivenessActivity.class);
                    intent3.putExtra("livenessOption", livenessOption);
                    intent3.putExtra("frameExtraction", true);
                    intent3.putExtra("initSuccess", this.mInitSuccess);
                    activity.startActivity(intent3);
                }
            } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.COLORLIVENESS) {
                Intent intent4 = new Intent(activity, FaceColorLivenessVideoActivity.class);
                intent4.putExtra("livenessOption", livenessOption);
                intent4.putExtra("initSuccess", this.mInitSuccess);
                activity.startActivity(intent4);
            } else if (this.mFaceLiveConfig.getFaceLivenessType() != FaceLivenessType.SILENTLIVENESS && this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.ACTIONLIVENESS) {
                Intent intent5 = new Intent(activity, FaceActionLivenessVideoActivity.class);
                intent5.putExtra("livenessOption", livenessOption);
                intent5.putExtra("initSuccess", this.mInitSuccess);
                activity.startActivity(intent5);
            }
        } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.COLORLIVENESS) {
            Intent intent6 = new Intent(activity, FaceColorLivenessActivity.class);
            intent6.putExtra("livenessOption", livenessOption);
            intent6.putExtra("frameExtraction", false);
            intent6.putExtra("initSuccess", this.mInitSuccess);
            activity.startActivity(intent6);
        } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.SILENTLIVENESS) {
            Intent intent7 = new Intent(activity, FaceSilenceLivenessActivity.class);
            intent7.putExtra("livenessOption", livenessOption);
            intent7.putExtra("frameExtraction", false);
            intent7.putExtra("initSuccess", this.mInitSuccess);
            activity.startActivity(intent7);
        } else if (this.mFaceLiveConfig.getFaceLivenessType() == FaceLivenessType.ACTIONLIVENESS) {
            Intent intent8 = new Intent(activity, FaceActionLivenessActivity.class);
            intent8.putExtra("livenessOption", livenessOption);
            intent8.putExtra("frameExtraction", false);
            intent8.putExtra("initSuccess", this.mInitSuccess);
            activity.startActivity(intent8);
        }
    }

    public boolean release() {
        FaceSDKManager.getInstance().release();
        IntentUtils.getInstance().release();
        return true;
    }

    public String getVersion(Context context) {
        try {
            return SystemUtils.getVersionInfo(context).getVersionName();
        } catch (Exception e) {
            e.printStackTrace();
            return FaceSDKManager.getVersion();
        }
    }
}