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


package com.baidu.idl.face.platform.ui;

import android.content.Context;
import android.content.Intent;
import android.graphics.Point;
import android.graphics.Rect;
import android.hardware.Camera;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import com.baidu.idl.face.api.VerifyConst;
import com.baidu.idl.face.platform.FaceEnvironment;
import com.baidu.idl.face.platform.FaceStatusNewEnum;
import com.baidu.idl.face.platform.LivenessTypeEnum;
import com.baidu.idl.face.platform.model.FaceExtInfo;
import com.baidu.idl.face.platform.model.ImageInfo;
import com.baidu.idl.face.platform.ui.utils.CameraPreviewUtils;
import com.baidu.idl.face.platform.ui.utils.HomeUtils;
import com.baidu.idl.face.platform.ui.utils.IntentUtils;
import com.baidu.idl.face.platform.ui.widget.FaceDetectRoundView;
import com.baidu.idl.face.platform.ui.widget.TimeoutDialog;
import com.baidu.idl.facelive.api.FaceLiveManager;
import com.baidu.idl.facelive.api.entity.LivenessResult;
import com.baidu.idl.facelive.api.manager.FaceCallbackManager;
import com.baidu.liantian.ac.FaceProcessCallback;
import com.baidu.liantian.ac.FaceProcessType;
import com.baidu.liantian.ac.LH;
import com.baidu.liantian.ac.RequestInfo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;

public class BaseCameraActivity extends BaseUIActivity implements FaceProcessCallback, TimeoutDialog.OnTimeoutDialogClickListener, HomeUtils.HomeCallback {
    private static final String TAG = "com.baidu.idl.face.platform.ui.BaseCameraActivity";
    protected Camera.Parameters mCameraParam;
    protected boolean mIsClickHomeKey;
    protected int mPreviewHight;
    protected int mPreviewWidth;
    private RequestInfo mRequestInfo;
    private int mStatus;
    protected SurfaceView mSurfaceView;
    private TimeoutDialog mTimeoutDialog;
    protected View mViewBg;

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void animStop() {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onBeginBuildData() {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onBeginCollectFaceInfo() {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onCollectCompletion(FaceStatusNewEnum faceStatusNewEnum, String str, HashMap<String, ImageInfo> hashMap, HashMap<String, ImageInfo> hashMap2, int i) {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void setBackgroundColor(int i, int i2) {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void setCurrentLiveType(LivenessTypeEnum livenessTypeEnum) {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void setFaceInfo(FaceExtInfo faceExtInfo) {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void setLiveScore(float f) {
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void viewReset() {
    }

    public void startPreview(FaceProcessType faceProcessType, SurfaceHolder surfaceHolder) {
        LH.startFaceProcessSurface(faceProcessType, this, surfaceHolder, this);
    }

    /* access modifiers changed from: protected */
    public void stopPreview() {
        LH.cancelFaceProcess();
    }

    public LivenessResult setLivenessResult(int i, RequestInfo requestInfo, HashMap<String, ImageInfo> hashMap, HashMap<String, ImageInfo> hashMap2, float f) {
        LivenessResult livenessResult = new LivenessResult();
        livenessResult.setSafetyCode(i);
        livenessResult.setRequestInfo(requestInfo);
        livenessResult.setLivenessScore(f);
        if (hashMap != null && hashMap.size() > 0) {
            ArrayList arrayList = new ArrayList(hashMap.entrySet());
            Collections.sort(arrayList, new Comparator<Map.Entry<String, ImageInfo>>() {
                /* class com.baidu.idl.face.platform.ui.BaseCameraActivity.AnonymousClass1 */

                public int compare(Map.Entry<String, ImageInfo> entry, Map.Entry<String, ImageInfo> entry2) {
                    return Float.valueOf(entry2.getKey().split("_")[2]).compareTo(Float.valueOf(entry.getKey().split("_")[2]));
                }
            });
            livenessResult.setBase64ImageCropList(arrayList);
        }
        if (hashMap2 != null && hashMap2.size() > 0) {
            ArrayList arrayList2 = new ArrayList(hashMap2.entrySet());
            Collections.sort(arrayList2, new Comparator<Map.Entry<String, ImageInfo>>() {
                /* class com.baidu.idl.face.platform.ui.BaseCameraActivity.AnonymousClass2 */

                public int compare(Map.Entry<String, ImageInfo> entry, Map.Entry<String, ImageInfo> entry2) {
                    return Float.valueOf(entry2.getKey().split("_")[2]).compareTo(Float.valueOf(entry.getKey().split("_")[2]));
                }
            });
            livenessResult.setBase64ImageSrcList(arrayList2);
        }
        IntentUtils.getInstance().setLivenessResult(livenessResult);
        return livenessResult;
    }

    public void startSuccessActivity(Context context, float f, LivenessResult livenessResult) {
        if (!FaceLiveManager.getInstance().getFaceConfig().isShowResultView()) {
            finish();
            FaceCallbackManager.getInstance().mLivenessCallback.onLivenessResult(livenessResult);
            FaceCallbackManager.getInstance().mLivenessCallback = null;
            return;
        }
        Intent intent = new Intent(context, CollectionSuccessActivity.class);
        intent.putExtra(VerifyConst.LIVENESS_SCORE, f);
        startActivity(intent);
    }

    public void startFailureActivity(Context context, float f, boolean z, LivenessResult livenessResult) {
        if (!FaceLiveManager.getInstance().getFaceConfig().isShowResultView()) {
            finish();
            FaceCallbackManager.getInstance().mLivenessCallback.onLivenessResult(livenessResult);
            FaceCallbackManager.getInstance().mLivenessCallback = null;
            return;
        }
        Intent intent = new Intent(context, CollectFailureActivity.class);
        intent.putExtra(VerifyConst.LIVENESS_SCORE, f);
        intent.putExtra("isColorError", z);
        startActivity(intent);
    }

    public void showMessageDialog() {
        TimeoutDialog timeoutDialog = new TimeoutDialog(this);
        this.mTimeoutDialog = timeoutDialog;
        timeoutDialog.setDialogListener(this);
        this.mTimeoutDialog.setCanceledOnTouchOutside(false);
        this.mTimeoutDialog.setCancelable(false);
        this.mTimeoutDialog.show();
        onPause();
    }

    public void setDialogLivenessResult(int i, RequestInfo requestInfo) {
        LivenessResult livenessResult = setLivenessResult(i, requestInfo, null, null, 0.0f);
        if (livenessResult != null) {
            finish();
            FaceCallbackManager.getInstance().mLivenessCallback.onLivenessResult(livenessResult);
            FaceCallbackManager.getInstance().mLivenessCallback = null;
        }
    }

    @Override // com.baidu.idl.face.platform.ui.widget.TimeoutDialog.OnTimeoutDialogClickListener
    public void onRecollect() {
        TimeoutDialog timeoutDialog = this.mTimeoutDialog;
        if (timeoutDialog != null) {
            timeoutDialog.dismiss();
        }
        View view = this.mViewBg;
        if (view != null) {
            view.setVisibility(8);
        }
        onResume();
    }

    @Override // com.baidu.idl.face.platform.ui.widget.TimeoutDialog.OnTimeoutDialogClickListener
    public void onReturn() {
        LivenessResult livenessResult = new LivenessResult();
        livenessResult.setSafetyCode(this.mStatus);
        livenessResult.setRequestInfo(this.mRequestInfo);
        TimeoutDialog timeoutDialog = this.mTimeoutDialog;
        if (timeoutDialog != null) {
            timeoutDialog.dismiss();
        }
        finish();
        FaceCallbackManager.getInstance().mLivenessCallback.onLivenessResult(livenessResult);
        FaceCallbackManager.getInstance().mLivenessCallback = null;
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onBegin() {
        Log.d(TAG, "onBegin");
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onConfigCamera(Camera camera, Rect rect, Rect rect2) {
        if (camera != null) {
            if (this.mCameraParam == null) {
                this.mCameraParam = camera.getParameters();
            }
            Point bestPreview = CameraPreviewUtils.getBestPreview(this.mCameraParam, new Point(640, FaceEnvironment.VALUE_CROP_WIDTH));
            this.mPreviewWidth = bestPreview.x;
            int i = bestPreview.y;
            this.mPreviewHight = i;
            rect.set(0, 0, i, this.mPreviewWidth);
            this.mCameraParam.setPreviewSize(this.mPreviewWidth, this.mPreviewHight);
            DisplayMetrics displayMetrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
            rect2.set(FaceDetectRoundView.getPreviewDetectRect(displayMetrics.widthPixels, this.mPreviewHight, this.mPreviewWidth));
            camera.setParameters(this.mCameraParam);
        }
    }

    @Override // com.baidu.liantian.ac.FaceProcessCallback
    public void onEnd(final int i, final RequestInfo requestInfo) {
        String str = TAG;
        Log.e(str, "error status = " + i);
        this.mStatus = i;
        this.mRequestInfo = requestInfo;
        runOnUiThread(new Runnable() {
            /* class com.baidu.idl.face.platform.ui.BaseCameraActivity.AnonymousClass3 */

            public void run() {
                int i = i;
                if (i != 1 && i != -401 && i != -402 && i != -403 && i != -404) {
                    if (!BaseCameraActivity.this.isFinishing()) {
                        BaseCameraActivity.this.finish();
                    }
                    LivenessResult livenessResult = new LivenessResult();
                    livenessResult.setSafetyCode(i);
                    livenessResult.setRequestInfo(requestInfo);
                    FaceCallbackManager.getInstance().mLivenessCallback.onLivenessResult(livenessResult);
                    FaceCallbackManager.getInstance().mLivenessCallback = null;
                }
            }
        });
    }

    @Override // com.baidu.idl.face.platform.ui.utils.HomeUtils.HomeCallback
    public void onClickHomeKey() {
        this.mIsClickHomeKey = true;
    }
}