weimingfei
13 小时以前 8ff90d87687b6d38158809aae776b6c709d7b60a
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -27,6 +27,7 @@
import com.doumee.keyCabinet.base.MyBaseActivity;
import com.doumee.keyCabinet.databinding.FaceActivityBinding;
import com.doumee.keyCabinet.event.FaceStatusChangeEvent;
import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.event.JiujinBeginEvent;
import com.doumee.keyCabinet.event.JiujinResultEvent;
import com.doumee.keyCabinet.event.TimeClockEvent;
@@ -120,6 +121,12 @@
    private SpannableString getErrPhoneText(){
        String phone = MApplication.getConfigBean().getLinkPhone();
        if(phone==null){
            String text = "如有问题请联系管理员";
            SpannableString styledText = new SpannableString(text);
            styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip3), 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            return styledText;
        }
        String text = "如有问题请联系管理员"+phone;
        SpannableString styledText = new SpannableString(text);
        styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip3), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -130,20 +137,30 @@
    private void statusFsm(int toStatus){
        status = toStatus;
        isToChose = false;
        getDB().etEwm.requestFocus();
        switch (toStatus){
            case 0:
                //取-管理员人脸验证
                getDB().tvTitle.setText("管理员身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.VISIBLE);
                setFaceModel(0);
                break;
            case 10:
                //取-管理员指纹验证
                getDB().tvTitle.setText("管理员身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.VISIBLE);
                setFaceModel(2);
                break;
            case 1:
                //取-管理员刷卡验证
                getDB().etEwm.setText("");
                getDB().etEwm.requestFocus();
                getDB().tvTitle.setText("管理员身份验证");
                getDB().clFace.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clCard.setVisibility(View.VISIBLE);
                setFaceModel(2);
                break;
@@ -151,6 +168,7 @@
                //取-司机验证方式选择页
                getDB().tvTitle.setText("司机身份验证");
                getDB().clFace.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clCard.setVisibility(View.GONE);
                getDB().clTip1.setVisibility(View.GONE);
                getDB().clSjXuan.setVisibility(View.VISIBLE);
@@ -161,9 +179,19 @@
                //取-司机人脸验证
                getDB().tvTitle.setText("司机身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clSjXuan.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.VISIBLE);
                setFaceModel(1);
                break;
            case 11:
                //取-司机指纹验证
                getDB().tvTitle.setText("司机身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.GONE);
                getDB().clSjXuan.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.VISIBLE);
                setFaceModel(2);
                break;
            case 3:
                //取-司机刷卡验证
@@ -171,6 +199,7 @@
                getDB().etEwm.requestFocus();
                getDB().tvTitle.setText("司机身份验证");
                getDB().clFace.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clSjXuan.setVisibility(View.GONE);
                getDB().clCard.setVisibility(View.VISIBLE);
                setFaceModel(2);
@@ -180,6 +209,7 @@
                getDB().tvTitle.setText("酒精检测");
                getDB().clFace.setVisibility(View.GONE);
                getDB().clCard.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clSjXuan.setVisibility(View.GONE);
                getDB().clTip1.setVisibility(View.GONE);
                getDB().clJiu.setVisibility(View.VISIBLE);
@@ -198,15 +228,24 @@
                //取-司机酒精检测失败
                //Toast.makeText(mContext, "司机酒精检测失败", Toast.LENGTH_SHORT).show();
                getDB().clJiu.setVisibility(View.GONE);
                getDB().tvJg1.setText("酒精检测异常,请重新检测");
                getDB().tvJg1.setText("酒精检测操作不当,请重新检测");
                getDB().clTip1.setVisibility(View.VISIBLE);
                break;
            case 7:
                //还-司机人脸验证
                getDB().tvTitle.setText("司机身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.VISIBLE);
                setFaceModel(1);
                break;
            case 12:
                //还-司机人脸验证
                getDB().tvTitle.setText("司机身份验证");
                getDB().clCard.setVisibility(View.GONE);
                getDB().clFace.setVisibility(View.GONE);
                getDB().clZw.setVisibility(View.VISIBLE);
                setFaceModel(2);
                break;
            case 8:
                //还-司机刷卡验证
@@ -248,15 +287,37 @@
    protected void doRegister(int type, ActionEventData data) {
        switch (type){
            case 1:
                //切换到刷卡
                if(flag==0){
                    if(status==0){
                    //切换到管理员刷卡
                    if(status==0||status==10){
                        statusFsm(1);
                    }else if(status==2){
                    }else if(status==2||status==11){
                        statusFsm(3);
                    }
                }else {
                    //还-司机刷卡验证
                    statusFsm(8);
                }
                break;
            case 9:
                //管理员指纹验证
                statusFsm(10);
                break;
            case 10:
                //司机指纹验证
                statusFsm(11);
                break;
            case 11:
                //刷卡-->指纹验证
                if(flag==0){
                    if(status==1){
                        statusFsm(10);
                    }else {
                        statusFsm(11);
                    }
                }else {
                    //还-司机指纹
                    statusFsm(12);
                }
                break;
            case 2:
@@ -270,9 +331,9 @@
            case 4:
                //切换到人脸
                if(flag==0){
                    if(status==1){
                    if(status==1||status==10){
                        statusFsm(0);
                    }else if(status==3){
                    }else if(status==3||status==11){
                        statusFsm(2);
                    }
                }else {
@@ -290,13 +351,29 @@
                //司机ic卡成功
                if(flag==0) {
                    //取
                    statusFsm(4);
                    if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                        //非酒精检测
                        startActivity(KeyCabinetActivity.class);
                        finish();
                    }else {
                        //酒精检测
                        statusFsm(4);
                    }
                }else {
                    //还
                    startActivity(KeyCabinetActivity.class);
                    finish();
                }
                break;
            case 8:
                getDB().message.setText(data.getData().get("obj").toString());
                getDB().message.setVisibility(View.VISIBLE);
                handler.sendEmptyMessageDelayed(6,2000);
                getDB().message.invalidate();
                getDB().message.requestLayout();
                EventBus.getDefault().post(new HttpEvent("ic卡+++++++"+data.getData().get("type").toString()));
                break;
            default:
                break;
        }
@@ -328,7 +405,7 @@
        //ic卡读取
        getDB().etEwm.requestFocus();
        getDB().etEwm.setFocusable(true);
        getDB().etEwm.setShowSoftInputOnFocus(true);
        getDB().etEwm.setShowSoftInputOnFocus(false);
        hideSoftKeyboard(getDB().etEwm);
        getDB().etEwm.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
@@ -336,6 +413,7 @@
                hideSoftKeyboard(getDB().etEwm);
            }
        });
        getDB().etEwm.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -354,6 +432,8 @@
                    return;
                }
                if(status!=1&&status!=3&&status!=8){
                    getDB().etEwm.setText("");
                    getDB().etEwm.requestFocus();
                    return;
                }
                if(handler.hasMessages(5)){
@@ -491,6 +571,7 @@
                    if(new BigDecimal(MApplication.getConfigBean().getCabinetConfigDataVO().getConcentration())
                            .compareTo(resultEvent.getConcentration())>=0){
                        //酒精通过
                        getVM().alcoholTestAlarm(resultEvent.getConcentration().toString());
                        getDB().clJiujinOk.setVisibility(View.VISIBLE);
                        handler.sendEmptyMessageDelayed(4,1000);
                    }else {
@@ -498,6 +579,8 @@
                        getVM().alcoholTestAlarm(resultEvent.getConcentration().toString());
                        //Toast.makeText(mContext, "酒精检测超标", Toast.LENGTH_SHORT).show();
                        statusFsm(9);
                        //再检测,将声音关闭
                        EventBus.getDefault().post(new JiujinBeginEvent());
                    }
                    break;
                case 4:
@@ -515,6 +598,9 @@
                    }
                    getDB().etEwm.setText("");
                    getDB().etEwm.requestFocus();
                    break;
                case 6:
                    getDB().message.setVisibility(View.GONE);
                    break;
                default:
                    break;
@@ -593,6 +679,7 @@
                    User user = livenessModel.getUser();
                    if (user == null) {
                        mUser = null;
                        //EventBus.getDefault().post(new HttpEvent("人脸用户检测失败------->"+(status==0?"管理员人脸检测:":"司机人脸检测:")));
                        if (isCompareCheck) {
                            /*getDB().clFail.setVisibility(View.VISIBLE);
                            getDB().tv4.setText(getString(R.string.face_tip2));
@@ -601,6 +688,8 @@
                    } else {
                        mUser = user;
                        /*EventBus.getDefault().post(new HttpEvent("人脸用户------->"+(status==0?"管理员人脸检测:":"司机人脸检测:")
                                +(user.getGroupId().equals("0")?"管理员":"司机")));*/
                        if (isCompareCheck) {
                            getDB().clFail.setVisibility(View.GONE);
                            if(handler.hasMessages(0)) {
@@ -625,7 +714,15 @@
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
                            MApplication.getLoginBean().setAuthType(0);
                            //handler.sendEmptyMessageDelayed(8,0);
                            EventBus.getDefault().post(new FaceStatusChangeEvent(4));
                            //Toast.makeText(mContext, "是否酒精检测:"+MApplication.getConfigBean().getAlcoholStatus(), Toast.LENGTH_SHORT).show();
                            if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                                //非酒精检测
                                startActivity(KeyCabinetActivity.class);
                                finish();
                            }else {
                                //酒精检测
                                EventBus.getDefault().post(new FaceStatusChangeEvent(4));
                            }
                        }else if(status==7){
                            //还-司机
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
@@ -665,6 +762,9 @@
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void JiujinResultEvent(JiujinResultEvent e){
        if(!isFinishing()){
            if(status!=4&&status!=6){
                return;
            }
            //Toast.makeText(mContext, "酒精检测返回:"+e.isOk(), Toast.LENGTH_SHORT).show();
            if(!e.isOk()){
                getDB().clJiujinProgress.setVisibility(View.GONE);