From 8ff90d87687b6d38158809aae776b6c709d7b60a Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 04 十二月 2025 12:01:41 +0800
Subject: [PATCH] 指纹钥匙柜

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 110 insertions(+), 10 deletions(-)

diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
index e935ae4..94257da 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
+++ b/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);
+                        //鍐嶆娴嬶紝灏嗗0闊冲叧闂�
+                        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);

--
Gitblit v1.9.3