From 025f806542921dcaa6719453f208e8a9dda8d450 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 21 五月 2026 09:25:51 +0800
Subject: [PATCH] 钥匙柜关门修改前

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java |   58 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 15 deletions(-)

diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
index 2584140..d64ece9 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -69,6 +69,7 @@
 import com.doumee.keyCabinet.event.OpenGridOneResultEvent;
 import com.doumee.keyCabinet.event.TimeClockEvent;
 import com.doumee.keyCabinet.ui.face.ActivationActivity;
+import com.doumee.keyCabinet.ui.face.ChoseActivationActivity;
 import com.doumee.keyCabinet.ui.face.FaceActivity;
 import com.doumee.keyCabinet.ui.keyCabinet.ChangeUrlActivity;
 import com.doumee.keyCabinet.ui.keyCabinet.KeyCabinetActivity;
@@ -338,6 +339,9 @@
                     if(devConfigBean.getBannerList()!=null) {
                         setBanner(devConfigBean.getBannerList());
                     }
+                    if(!isFaceOk) {
+                        initLicense();
+                    }
                     setJiuConfig();
                     initPort();
                 }
@@ -397,6 +401,10 @@
         switch (type){
             case 2:
             case 3: {
+                if(!isFaceOk) {
+                    initLicense();
+                    return;
+                }
                 //鏍¢獙鏄惁鐧诲綍
                 if(MApplication.getConfigBean().getId()==null){
                     Toast.makeText(mContext, "璁惧鏈坊鍔狅紝鏃犳硶鎿嶄綔", Toast.LENGTH_SHORT).show();
@@ -458,6 +466,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);
@@ -470,13 +484,11 @@
     protected void onResume() {
         super.onResume();
         isShowing = true;
+        getVM().setSubmit(true);
         YNHAPI mAPI = YNHAPI.getInstance();
         mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.ALWAYS_INVISIBLE);
         mAPI.setBootLaunchApk("com.doumee.keyCabinet", true);
         showTime = System.currentTimeMillis();
-        if(!isFaceOk) {
-            initLicense();
-        }
         if(isHavePermission) {
             checkUpdate();
         }
@@ -577,7 +589,7 @@
                         /*
                          *瑕佹墽琛岀殑鎿嶄綔*/
 
-                        startActivity(new Intent(mContext, ActivationActivity.class));
+                        startActivity(new Intent(mContext, ChoseActivationActivity.class));
                     }
                 };
                 Timer timer = new Timer();
@@ -745,6 +757,7 @@
         super.onPause();
         showTime = null;
         isShowing = false;
+        getVM().setSubmit(false);
     }
 
     private int finishCount;
@@ -1285,9 +1298,6 @@
             if(bytes.length==0){
                 return;
             }
-            runOnUiThread(() -> {
-                getVM().addInfo("鑾峰彇鍒伴棬鏁版嵁:"+StringUtil.DateToStrSS(new Date())+"==>"+ SportUtils.bytesToHexSimple(bytes));
-            });
             EventBus.getDefault().post(new CLGridEvent(SportUtils.bytesToHexSimple(bytes)));
         }
     };
@@ -1298,13 +1308,14 @@
             getVM().addInfo(e.getMsg());
         }
     }
-
+    private long lastCloseDoorTime;
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void CLGridEvent(CLGridEvent e){
         if(!isFinishing()){
             String data = e.getData();
             data = data.toUpperCase();
             data = data.replaceAll("\\s+", "");
+            String finalData = data;
             if(data.startsWith("8A")){
                 //寮�閿佸弽棣�
                 String bh = data.substring(2,4);
@@ -1365,12 +1376,16 @@
                     }
                 }
             }else if(data.startsWith("81")){
+                runOnUiThread(() -> {
+                    getVM().addInfo(">>>>>>>>>>>>>>>鑾峰彇鍒板叧闂ㄦ暟鎹�:"+StringUtil.DateToStrSS(new Date())+"==>"+ finalData);
+                });
                 //涓诲姩鍏抽棬 81 01 01 11 90
                 String bh = data.substring(2,4);
                 String tdh = data.substring(4,6);
                 String open = data.substring(6,8);
                 String key = bh+tdh;
                 CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
+                lastCloseDoorTime = System.currentTimeMillis();
                 if(gridDo!=null){
                     gridDo.setIsOpen("00".equals(open)?1:0);
                     gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
@@ -1384,6 +1399,9 @@
                 }
             }else if(data.startsWith("80")){
                 //鏌ヨ鎵�鏈夐棬鐘舵��
+                runOnUiThread(() -> {
+                    getVM().addInfo("<<<<<<<<<<<<<<<<<<<<鑾峰彇鍒版墍鏈夐棬鐘舵�佹暟鎹�:"+StringUtil.DateToStrSS(new Date())+"==>"+ finalData);
+                });
                 //80 01 00 00 FF FF 33 B2
                 //80 02 00 00 00 F7 33 46
                 if(data.length()>=14){
@@ -1521,7 +1539,17 @@
             //涓�鍙风増
             bh = 1;
         }
-        String[] sp = data.split("AA");
+        List<String> sp = new ArrayList<>();
+        String data2 = data.substring(8,data.length());
+        while (data2.length()>0){
+            if (data2.length()<22) {
+                sp.add(data2+"");
+                data2 = "";
+            }else {
+                sp.add(data2.substring(0,22));
+                data2 = data2.substring(22);
+            }
+        }
         for(String s:sp){
             if(s.length()>=20){
                 String key = SportUtils.intToHex(bh)+s.substring(4,6);
@@ -1535,10 +1563,10 @@
                     }else {
                         gridDo.setCurKeyCode("");
                     }
-                    if("0101".equals(key)) {
+                    /*if("0101".equals(key)) {
                         getVM().addInfo(key+" , "+isHaveKey+"  "+keyCode);
                         getVM().addInfo(key + "璁剧疆閽ュ寵锛�" + gridDo.getCurKeyCode());
-                    }
+                    }*/
                     gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
                     updateList.add(gridDo);
                 }
@@ -1546,7 +1574,7 @@
         }
 
         getVM().updateGrids(updateList);
-        EventBus.getDefault().post(new KeyResultEvent());
+        EventBus.getDefault().post(new KeyResultEvent(bh+""));
     }
 
     private SerialPortModel jiuPort;
@@ -1747,9 +1775,9 @@
     private boolean isInitPort;
     //鍒濆鍖栦覆鍙�
     private void initPort(){
-        //SpUtil.setString("port_grid","/dev/ttyS7");
-        //SpUtil.setString("port_key","/dev/ttyS1");
-        //SpUtil.setString("port_jiu","/dev/ttyS2");
+        SpUtil.setString("port_grid","/dev/ttyS7");
+        SpUtil.setString("port_key","/dev/ttyS1");
+        SpUtil.setString("port_jiu","/dev/ttyS2");
         gridPath = SpUtil.getString("port_grid");
         getVM().addInfo("闂ㄤ覆鍙i摼鎺ワ細"+gridPath);
         keyPath = SpUtil.getString("port_key");

--
Gitblit v1.9.3