| | |
| | | import android.view.View; |
| | | |
| | | import com.baidu.idl.main.facesdk.model.BDFaceSDKCommon; |
| | | import com.doumee.keyCabinet.MApplication; |
| | | import com.doumee.keyCabinet.R; |
| | | import com.doumee.keyCabinet.base.MyBaseActivity; |
| | | import com.doumee.keyCabinet.databinding.FaceActivityBinding; |
| | | import com.doumee.keyCabinet.event.TimeClockEvent; |
| | | import com.doumee.keyCabinet.ui.keyCabinet.KeyCabinetActivity; |
| | | import com.doumee.keyCabinet.utils.BraceletLogUtils; |
| | | import com.doumee.keyCabinet.utils.face.FaceUtils; |
| | | import com.doumee.keyCabinet.utils.face.model.SingleBaseConfig; |
| | |
| | | private GlMantleSurfacView glMantleSurfacView; |
| | | private BDFaceImageConfig bdFaceImageConfig; |
| | | private BDFaceCheckConfig bdFaceCheckConfig; |
| | | //0:取,1:还 |
| | | private int flag ; |
| | | private int status; |
| | | |
| | | @Override |
| | | public int getLayoutId() { |
| | |
| | | normalConfig(); |
| | | getDB().setModel(getVM()); |
| | | mContext = this; |
| | | FaceSDKManager.getInstance().initDataBases(this); |
| | | initFaceCheck(); |
| | | flag = MApplication.getLoginBean().getFlag(); |
| | | statusFsm(flag==0?0:2); |
| | | //todo wmf 解开 |
| | | /*FaceSDKManager.getInstance().initDataBases(this); |
| | | initFaceCheck();*/ |
| | | initView(); |
| | | } |
| | | |
| | |
| | | //getPermission(); |
| | | } |
| | | |
| | | @Override |
| | | protected void timeChange(String djs) { |
| | | getDB().tvDjs.setText(djs); |
| | | } |
| | | |
| | | private void statusFsm(int toStatus){ |
| | | status = toStatus; |
| | | switch (status){ |
| | | case 0: |
| | | //取-管理员人脸验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("管理员身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_viewfinder); |
| | | getDB().tvTip.setText("请保持正脸在取景框中,并根据指示完成识别"); |
| | | getDB().clRemind.setVisibility(View.VISIBLE); |
| | | getDB().btSk.setVisibility(View.VISIBLE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clSjSk.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 1: |
| | | //取-管理员刷卡验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("管理员身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_shuaka2); |
| | | getDB().tvTip.setText("请将IC卡贴近刷卡区,停留1-2秒"); |
| | | getDB().clRemind.setVisibility(View.GONE); |
| | | getDB().btSk.setVisibility(View.GONE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clSjSk.setVisibility(View.VISIBLE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 5: |
| | | //取-司机验证方式选择页 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("司机身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_face); |
| | | getDB().tvTip.setText("请保持正脸在取景框中,并根据指示完成识别"); |
| | | getDB().clRemind.setVisibility(View.VISIBLE); |
| | | getDB().btSk.setVisibility(View.GONE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.VISIBLE); |
| | | getDB().clSjSk.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 2: |
| | | //取-司机人脸验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("司机身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_viewfinder); |
| | | getDB().tvTip.setText("请保持正脸在取景框中,并根据指示完成识别"); |
| | | getDB().clRemind.setVisibility(View.VISIBLE); |
| | | getDB().btSk.setVisibility(View.VISIBLE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clSjSk.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 3: |
| | | //取-司机刷卡验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("司机身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_shuaka2); |
| | | getDB().tvTip.setText("请将IC卡贴近刷卡区,停留1-2秒"); |
| | | getDB().clRemind.setVisibility(View.GONE); |
| | | getDB().btSk.setVisibility(View.GONE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clSjSk.setVisibility(View.VISIBLE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 4: |
| | | //取-司机酒精检测 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("酒精检测"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_jiujingjiance); |
| | | getDB().tvTip.setText("请拿起酒精检测仪吹气"); |
| | | getDB().clRemind.setVisibility(View.GONE); |
| | | getDB().btSk.setVisibility(View.GONE); |
| | | |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clSjSk.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 6: |
| | | //取-司机酒精检测失败 |
| | | getDB().clTip1.setVisibility(View.VISIBLE); |
| | | break; |
| | | case 7: |
| | | //还-司机人脸验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("司机身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_viewfinder); |
| | | getDB().tvTip.setText("请保持正脸在取景框中,并根据指示完成识别"); |
| | | getDB().clRemind.setVisibility(View.VISIBLE); |
| | | getDB().btSk.setVisibility(View.VISIBLE); |
| | | |
| | | getDB().clSjSk.setVisibility(View.GONE); |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | case 8: |
| | | //还-司机刷卡验证 |
| | | getDB().clLogin.setVisibility(View.VISIBLE); |
| | | getDB().tvTitle.setText("司机身份验证"); |
| | | getDB().vSl.setBackgroundResource(R.mipmap.ic_shuaka2); |
| | | getDB().tvTip.setText("请将IC卡贴近刷卡区,停留1-2秒"); |
| | | getDB().clRemind.setVisibility(View.GONE); |
| | | getDB().btSk.setVisibility(View.GONE); |
| | | |
| | | getDB().clSjSk.setVisibility(View.VISIBLE); |
| | | getDB().clSjRl.setVisibility(View.GONE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | private Bitmap bitmap; |
| | | private byte[] secondFeature = new byte[512]; |
| | | @Override |
| | | protected void doRegister(int type, ActionEventData data) { |
| | | switch (type){ |
| | | case 1: |
| | | //切换到刷卡 |
| | | if("0".equals(flag)){ |
| | | if(status==0){ |
| | | statusFsm(1); |
| | | }else if(status==2){ |
| | | statusFsm(3); |
| | | } |
| | | }else { |
| | | statusFsm(8); |
| | | } |
| | | break; |
| | | case 2: |
| | | //切换司机刷卡 |
| | | statusFsm(3); |
| | | break; |
| | | case 3: |
| | | //切换司机人脸 |
| | | statusFsm(2); |
| | | break; |
| | | case 4: |
| | | //切换到人脸 |
| | | if("0".equals(flag)){ |
| | | if(status==1){ |
| | | statusFsm(5); |
| | | }else if(status==3){ |
| | | statusFsm(6); |
| | | } |
| | | }else { |
| | | startActivity(KeyCabinetActivity.class); |
| | | finish(); |
| | | } |
| | | |
| | | //todo wmf |
| | | //statusFsm("0".equals(flag)?); |
| | | break; |
| | | case 5: |
| | | startActivity(KeyCabinetActivity.class); |
| | | finish(); |
| | | break; |
| | | default: |
| | |
| | | @Override |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | startTestOpenDebugRegisterFunction(); |
| | | //todo wmf 解开 |
| | | //startTestOpenDebugRegisterFunction(); |
| | | } |
| | | |
| | | private void startTestOpenDebugRegisterFunction() { |
| | |
| | | //CameraPreviewManager.getInstance().destroy(); |
| | | faceDetectCallBack = null; |
| | | glMantleSurfacView = null; |
| | | FaceSDKManager.getInstance().destroy(); |
| | | //todo wmf 解开 |
| | | //FaceSDKManager.getInstance().destroy(); |
| | | } |
| | | |
| | | private int resultCount = 0; |
| | |
| | | } else { |
| | | //优先会员 |
| | | if("0".equals(user.getGroupId())){ |
| | | |
| | | 11 |
| | | }else { |
| | | if (isCompareCheck) { |
| | | getDB().clFail.setVisibility(View.VISIBLE); |
| | |
| | | super.onPause(); |
| | | isPause = false; |
| | | isTimePause = true; |
| | | CameraPreviewManager.getInstance().stopPreview(); |
| | | //todo wmf 解开 |
| | | //CameraPreviewManager.getInstance().stopPreview(); |
| | | } |
| | | } |