From 3c5e5ed692e2e5248080b064b7d14b8eb9988a8c Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 11 十二月 2025 19:12:45 +0800
Subject: [PATCH] 指纹钥匙柜

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java |   85 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 27 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 6543879..3d9d176 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
@@ -18,6 +18,7 @@
 import android.text.Spanned;
 import android.text.TextUtils;
 import android.text.style.TextAppearanceSpan;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -117,16 +118,17 @@
 import com.example.datalibrary.model.User;
 import com.example.datalibrary.utils.ToastUtils;
 import com.example.datalibrary.view.PreviewTexture;
-import com.mc.enjoysdk.McHome;
-import com.mc.enjoysdk.McSystemUi;
-import com.mc.enjoysdk.transform.McSystemUiFlag;
+import com.proembed.service.MyService;
 import com.yanzhenjie.permission.runtime.Permission;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -166,8 +168,7 @@
     private int downCount = 0;
     private Long lastDownTime;
     private Long showTime;
-    private McSystemUi mcSystemUi;
-    private McHome mcHome;
+    private MyService mXService;
 
     private Handler handler = new Handler(){
         @Override
@@ -226,9 +227,25 @@
         Intent intent2 = new Intent(MainActivity.this, FaceUpdateService.class);
         startService(intent2);*/
         getPermission();
-        Timber.tag("====>").d(LMobileInfo.getDeviceUniqueId());
-        mcSystemUi = McSystemUi.getInstance(this);
-        mcHome = McHome.getInstance(this);
+        mXService = new MyService(this);
+        //Timber.tag("====>").d(LMobileInfo.getDeviceUniqueId());
+        Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> {
+            String time2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+            getVM().addInfo("GlobalException绾跨▼鎶ラ敊锛�" + thread.getName());
+            try {
+                ByteArrayOutputStream out = new ByteArrayOutputStream();
+                PrintStream print = new PrintStream(out);
+                //瀵煎嚭鍙戠敓寮傚父鐨勬椂闂�
+                print.println(time2);
+                print.println();
+                throwable.printStackTrace(print);
+                SpUtil.saveString(CrashHandler.FILE_NAME+time2,new String(out.toByteArray()));
+                print.close();
+            } catch (Exception e) {
+                e.printStackTrace();
+                getVM().addInfo("閿欒鏃ュ織2"+e.getMessage());
+            }
+        });
     }
 
     private void initM(){
@@ -336,9 +353,7 @@
                     getDB().nsv.setVisibility(View.VISIBLE);
                 }
                 //鏄剧ず鐘舵�佹爮
-                mcSystemUi.temporarilySwitchStatusBar(true);
-                //鏄剧ず瀵艰埅鏍�
-                mcSystemUi.temporarilySwitchNavigation(true);
+                MCUtils.show(mXService);
             }
         });
         upErrInfo();
@@ -350,6 +365,9 @@
                 if(devConfigBean!=null){
                     if(devConfigBean.getBannerList()!=null) {
                         setBanner(devConfigBean.getBannerList());
+                    }
+                    if(!isFaceOk) {
+                        initLicense();
                     }
                     setJiuConfig();
                     initPort();
@@ -411,6 +429,10 @@
         switch (type){
             case 2:
             case 3: {
+                if(!isFaceOk) {
+                    initLicense();
+                    return;
+                }
                 //鏍¢獙鏄惁鐧诲綍
                 if(MApplication.getConfigBean().getId()==null){
                     Toast.makeText(mContext, "璁惧鏈坊鍔狅紝鏃犳硶鎿嶄綔", Toast.LENGTH_SHORT).show();
@@ -491,12 +513,9 @@
         super.onResume();
         isShowing = true;
         getVM().setSubmit(true);
-        MCUtils.hind(mcSystemUi);
-        mcHome.setHomePackage("com.doumee.keyCabinet");
+        MCUtils.hind(mXService);
+        MCUtils.setHomePackage(mXService,"com.doumee.keyCabinet");
         showTime = System.currentTimeMillis();
-        if(!isFaceOk) {
-            initLicense();
-        }
         if(isHavePermission) {
             checkUpdate();
         }
@@ -712,11 +731,14 @@
     }
 
     private void initModel(List<FaceUserBean> userBeans) {
+        if(!isFaceOk){
+            return;
+        }
         if (com.example.datalibrary.manager.FaceSDKManager.initStatus == com.example.datalibrary.manager.FaceSDKManager.SDK_MODEL_LOAD_SUCCESS) {
-            getVM().addInfo("鏇存柊浜鸿劯===銆嬪紑濮嬫洿鏂�");
+            //getVM().addInfo("鏇存柊浜鸿劯===銆嬪紑濮嬫洿鏂�");
             waitUpdate(userBeans);
         }else {
-            getVM().addInfo("鏇存柊浜鸿劯===銆嬪垵濮嬪寲");
+            //getVM().addInfo("鏇存柊浜鸿劯===銆嬪垵濮嬪寲");
             initFaceSDKManager(userBeans);
         }
     }
@@ -1590,7 +1612,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);
@@ -1604,7 +1636,7 @@
                     }else {
                         gridDo.setCurKeyCode("");
                     }
-                    if("0101".equals(key)) {
+                    if("0109".equals(key)) {
                         getVM().addInfo(key+" , "+isHaveKey+"  "+keyCode);
                         getVM().addInfo(key + "璁剧疆閽ュ寵锛�" + gridDo.getCurKeyCode());
                     }
@@ -1828,19 +1860,18 @@
             /*SpUtil.setString("port_grid","/dev/ttyS0");
             SpUtil.setString("port_key","/dev/ttyS4");
             SpUtil.setString("port_jiu","/dev/ttyS9");*/
-
-            gridPath = SpUtil.getString("port_grid");
-            getVM().addInfo("闂ㄤ覆鍙i摼鎺ワ細"+gridPath);
-            keyPath = SpUtil.getString("port_key");
-            getVM().addInfo("閽ュ寵涓插彛閾炬帴锛�"+keyPath);
-            jiuPath = SpUtil.getString("port_jiu");
-            getVM().addInfo("閰掔簿涓插彛閾炬帴锛�"+jiuPath);
             if(!TextUtils.isEmpty(SpUtil.getString("port_grid"))&&
                     !TextUtils.isEmpty(SpUtil.getString("port_key"))&&
                     !TextUtils.isEmpty(SpUtil.getString("port_jiu"))){
                 if(isInitPort){
                     return;
                 }
+                gridPath = SpUtil.getString("port_grid");
+                getVM().addInfo("闂ㄤ覆鍙i摼鎺ワ細"+gridPath);
+                keyPath = SpUtil.getString("port_key");
+                getVM().addInfo("閽ュ寵涓插彛閾炬帴锛�"+keyPath);
+                jiuPath = SpUtil.getString("port_jiu");
+                getVM().addInfo("閰掔簿涓插彛閾炬帴锛�"+jiuPath);
                 xhCount=0;
                 closePort(chosePort);
                 if(!TextUtils.isEmpty(SpUtil.getString("port_grid"))){

--
Gitblit v1.9.3