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; } }