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/face/ChoseActivationActivity.java     |    6 
 keyCabinet-android/app/src/main/res/layout/main_activity.xml                                        |    5 
 keyCabinet-android/build.gradle                                                                     |    2 
 keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml                              |    5 
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java    |    7 +
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java                      |   12 ++
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/MCUtils.java                       |   40 ++++++---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java |    9 +-
 /dev/null                                                                                           |    0 
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java                  |    7 -
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java                |   18 ++++
 keyCabinet-android/app/src/main/AndroidManifest.xml                                                 |    1 
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java   |    6 
 keyCabinet-android/app/build.gradle                                                                 |    2 
 keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java                  |   64 +++++++++++++++-
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java                |   55 ++++++++++---
 16 files changed, 179 insertions(+), 60 deletions(-)

diff --git a/keyCabinet-android/app/build.gradle b/keyCabinet-android/app/build.gradle
index a5c5f36..9dfcf2e 100644
--- a/keyCabinet-android/app/build.gradle
+++ b/keyCabinet-android/app/build.gradle
@@ -108,6 +108,7 @@
     implementation project(path: ':settinglibrary')
     implementation 'androidx.legacy:legacy-support-v4:1.0.0'
     implementation files('libs\\simple-xml-2.7.1.jar')
+    implementation files('libs\\myservice_20240630.jar')
     testImplementation deps.test.junit
     androidTestImplementation deps.test.ext_junit
     androidTestImplementation deps.test.test_espresso
@@ -135,4 +136,5 @@
     implementation 'com.bigkoo:convenientbanner:2.0.5'
     //澶村儚
     implementation 'de.hdodenhof:circleimageview:3.1.0'
+
 }
\ No newline at end of file
diff --git a/keyCabinet-android/app/libs/enjoySDK.aar b/keyCabinet-android/app/libs/enjoySDK.aar
deleted file mode 100644
index cf7cc8e..0000000
--- a/keyCabinet-android/app/libs/enjoySDK.aar
+++ /dev/null
Binary files differ
diff --git a/keyCabinet-android/app/src/main/AndroidManifest.xml b/keyCabinet-android/app/src/main/AndroidManifest.xml
index ee474d0..256dbf5 100644
--- a/keyCabinet-android/app/src/main/AndroidManifest.xml
+++ b/keyCabinet-android/app/src/main/AndroidManifest.xml
@@ -65,7 +65,6 @@
             android:launchMode="singleTask">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/ChoseActivationActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/ChoseActivationActivity.java
index b98595a..bbbf5ac 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/ChoseActivationActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/ChoseActivationActivity.java
@@ -10,7 +10,7 @@
 import com.doumee.keyCabinet.databinding.ChoseActivationActivityBinding;
 import com.doumee.keyCabinet.utils.MCUtils;
 import com.doumee.lib_coremodel.bean.event.ActionEventData;
-import com.mc.enjoysdk.McSystemUi;
+import com.proembed.service.MyService;
 
 import dagger.hilt.android.AndroidEntryPoint;
 
@@ -29,8 +29,8 @@
         normalConfig();
         getDB().setModel(getVM());
 
-        McSystemUi mcSystemUi = McSystemUi.getInstance(this);
-        MCUtils.show(mcSystemUi);
+        MyService myService = new MyService(this);
+        MCUtils.show(myService);
     }
 
     @Override
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 ca5959f..97fb266 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
@@ -526,8 +526,16 @@
                 handler.sendEmptyMessageDelayed(1,4000);
                 glMantleSurfacView.setFrame();
                 bdFaceImageConfig.setData(data);
-                FaceSDKManager.getInstance().onDetectCheck(bdFaceImageConfig, null, null,
-                        bdFaceCheckConfig, faceDetectCallBack);
+                try {
+                    FaceSDKManager.getInstance().onDetectCheck(bdFaceImageConfig, null, null,
+                            bdFaceCheckConfig, faceDetectCallBack);
+                }catch (RuntimeException e){
+                    e.printStackTrace();
+                    ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊0:"+e.getMessage());
+                }catch (Exception e){
+                    e.printStackTrace();
+                    ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊0:"+e.getMessage());
+                }
             }
         }
     };
@@ -552,6 +560,9 @@
                         checkOpenDebugResult(livenessModel);
                     }
                 });
+            }catch (RuntimeException e){
+                e.printStackTrace();
+                ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊2:"+e.getMessage());
             }catch (Exception e){
                 e.printStackTrace();
                 ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊2:"+e.getMessage());
@@ -789,6 +800,9 @@
                     }
                 }
             }
+        }catch (RuntimeException e){
+            e.printStackTrace();
+            ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊锛�"+e.getMessage());
         }catch (Exception e){
             e.printStackTrace();
             ToastView.show(MApplication.mContext,"浜鸿劯鎶ラ敊锛�"+e.getMessage());
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
index c006208..ffbdafd 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
@@ -366,7 +366,7 @@
             //鑾峰彇鍗″彿
             EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>鍏抽棬锛岃幏鍙栭挜鍖欎俊鎭�"));
             EventBus.getDefault().post(new GetKeyStatusEvent());
-            keyTime = new Date().getTime()+500;
+            keyTime = new Date().getTime()+100;
             if(handler.hasMessages(0)){
                 handler.removeMessages(0);
             }
@@ -404,6 +404,8 @@
                 if(handler.hasMessages(0)){
                     handler.removeMessages(0);
                 }
+                EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>閽ュ寵淇℃伅,鐗堝彿锛�"+
+                        e.getType())+",bar:"+selectBean.getBoardCode()+",flag="+flag);
                 if("1".equals(e.getType())){
                     //1鍙锋澘
                     if(!"1".equals(selectBean.getBoardCode())){
@@ -422,14 +424,17 @@
                 if(flag==0) {
                     //棰嗗彇
                     //鏌ヨ閽ュ寵鍙�
+                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>閽ュ寵淇℃伅杩斿洖"));
                     CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                     if (gridDo != null) {
                         if (gridDo.getIsOpen() == 0) {
+                            //ToastView.show(MApplication.mContext,"褰撳墠锛�"+gridDo.getCurKeyCode()+"锛岀粦瀹氾細"+gridDo.getKeyCode());
                             //鍏抽棬鎴愬姛
                             if (!TextUtils.isEmpty(gridDo.getCurKeyCode())) {
                                 if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
                                     //棰嗗彇澶辫触
                                     isOpened = false;
+                                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>褰撳墠閽ュ寵锛�"+gridDo.getCurKeyCode()));
                                     getVM().doAction(6);
                                     getVM().closeGrid(gridDo);
                                 }else {
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
index 4e6109c..774c568 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
@@ -42,8 +42,7 @@
 import com.doumee.lib_coremodel.bean.event.ActionEventData;
 import com.doumee.lib_coremodel.util.RecyclerHelp;
 import com.doumee.lib_coremodel.util.StringUtil;
-import com.example.datalibrary.db.DBManager;
-import com.mc.enjoysdk.McSystemUi;
+import com.proembed.service.MyService;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -111,8 +110,8 @@
             @Override
             public boolean onLongClick(View v) {
                 //鍙互涓嬫媺
-                McSystemUi mcSystemUi = McSystemUi.getInstance(ManageCabinetActivity.this);
-                MCUtils.show(mcSystemUi);
+                MyService myService = new MyService(ManageCabinetActivity.this);
+                MCUtils.show(myService);
                 return true;
             }
         });
@@ -571,7 +570,7 @@
             }
             //鍙戦�佹煡璇㈤挜鍖欏彿
             EventBus.getDefault().post(new GetKeyStatusEvent());
-            keyTime = new Date().getTime()+500;
+            keyTime = new Date().getTime()+100;
             if(handler.hasMessages(0)){
                 handler.removeMessages(0);
             }
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java
index 0532abf..872142b 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java
@@ -19,7 +19,7 @@
 import com.doumee.keyCabinet.utils.LMobileInfo;
 import com.doumee.keyCabinet.utils.MCUtils;
 import com.doumee.lib_coremodel.bean.event.ActionEventData;
-import com.mc.enjoysdk.McSystemUi;
+import com.proembed.service.MyService;
 
 import org.greenrobot.eventbus.Subscribe;
 
@@ -52,8 +52,8 @@
             public boolean onLongClick(View v) {
                 if(MApplication.getConfigBean().getId()==null){
                     //鍙互涓嬫媺
-                    McSystemUi mcSystemUi = McSystemUi.getInstance(ManageLoginActivity.this);
-                    MCUtils.show(mcSystemUi);
+                    MyService myService = new MyService(ManageLoginActivity.this);
+                    MCUtils.show(myService);
                     return true;
                 }
                 return false;
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 64b4cbd..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();
@@ -498,8 +513,8 @@
         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(isHavePermission) {
             checkUpdate();
@@ -1597,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);
@@ -1611,7 +1636,7 @@
                     }else {
                         gridDo.setCurKeyCode("");
                     }
-                    if("0101".equals(key)) {
+                    if("0109".equals(key)) {
                         getVM().addInfo(key+" , "+isHaveKey+"  "+keyCode);
                         getVM().addInfo(key + "璁剧疆閽ュ寵锛�" + gridDo.getCurKeyCode());
                     }
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
index fe0d656..f4a59ac 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
@@ -153,12 +153,18 @@
         if(oldMap.size()>0) {
             CabinetGridDo[] dels = new CabinetGridDo[oldMap.size()];
             int i=0;
+            StringBuilder sb = new StringBuilder();
             for (String key : oldMap.keySet()) {
                 dels[i] = oldMap.get(key);
                 i++;
+                if(sb.length()>0){
+                    sb.append(",");
+                }
+                sb.append(oldMap.get(key).getKeyCode());
             }
             //鍒犻櫎澶氱殑
             DaoManager.getCabinetGridDao().delete(dels);
+            addInfo("鍒犻櫎瑙勬牸锛�"+dels.length);
         }
         if(addList.size()>0){
             DaoManager.getCabinetGridDao().insert(addList);
@@ -334,7 +340,7 @@
             }
             DaoManager.getCabinetGridDao().update(upList);
         }
-        addInfo("鏇存柊搴撴暟鎹�:淇敼" + updateList.size());
+        addInfo("鏇存柊搴撴暟鎹�:淇敼" + updateList.size()+",鎬诲叡:"+updateList.size());
     }
 
     public void timeOutUnCloseAlarm(CabinetGridDo gridDo){
@@ -397,8 +403,8 @@
     }
 
     public void addInfo(String info){
-        String s = infoObs.get();
+        /*String s = infoObs.get();
         s=info+"\n"+s;
-        infoObs.set(s);
+        infoObs.set(s);*/
     }
 }
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java
index e6fd8d6..63cf90f 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java
@@ -16,7 +16,7 @@
 import com.doumee.keyCabinet.ui.main.MainActivity;
 import com.doumee.keyCabinet.utils.update.FileUtil;
 import com.doumee.lib_coremodel.util.SpUtil;
-import com.mc.enjoysdk.McSystemUi;
+import com.proembed.service.MyService;
 
 import java.io.BufferedWriter;
 import java.io.ByteArrayOutputStream;
@@ -108,10 +108,9 @@
 				System.out.println("閿欒鏃ュ織2"+e.getMessage());
 				//LogUtils.e(TAG, "dump crash info failed");
 			}
-
 			//瀵煎嚭寮傚父淇℃伅鍒癝D鍗′腑
-			McSystemUi mcSystemUi = McSystemUi.getInstance(mContext);
-			MCUtils.show(mcSystemUi);
+			MyService myService = new MyService(mContext);
+			MCUtils.show(myService);
 			long time = SpUtil.getLong("err_app");
 			SpUtil.saveLong("err_app",System.currentTimeMillis());
 			if(System.currentTimeMillis()-time>60000){
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/MCUtils.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/MCUtils.java
index 67d78b4..fe42169 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/MCUtils.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/MCUtils.java
@@ -1,23 +1,33 @@
 package com.doumee.keyCabinet.utils;
 
-import com.mc.enjoysdk.McSystemUi;
-import com.mc.enjoysdk.transform.McSystemUiFlag;
+import com.doumee.keyCabinet.event.HttpEvent;
+import com.proembed.service.MyService;
+
+import org.greenrobot.eventbus.EventBus;
 
 public class MCUtils {
-    public static void hind(McSystemUi mcSystemUi){
-        mcSystemUi.temporarilySwitchStatusBar(false);
-        mcSystemUi.temporarilySwitchNavigation(false);
-        /*//闅愯棌鐘舵�佹爮淇℃伅
-        mcSystemUi.disableStatusBarItem(McSystemUiFlag.DISABLE_SYSTEM_INFO);
-        //绂佹鐘舵�佹爮寮瑰嚭
-        mcSystemUi.disableStatusBarItem(McSystemUiFlag.DISABLE_NOTIFICATION_ALERTS);
-        //绂佹鐘舵�佹爮涓嬫媺
-        mcSystemUi.disableStatusBarItem(McSystemUiFlag.DISABLE_EXPAND);*/
+
+    //闅愯棌
+    public static void hind(MyService myService){
+        //闅愯棌鐘舵�佹爮
+        try {
+            myService.setHideNavBar(true);
+        }catch (Exception e){
+            EventBus.getDefault().post(new HttpEvent(".....鐘舵�佹爮鎶ラ敊锛�"+e.getMessage()));
+        }
     }
 
-    public static void show(McSystemUi mcSystemUi){
-        //mcSystemUi.disableStatusBarItem(McSystemUiFlag.DISABLE_NONE);
-        mcSystemUi.temporarilySwitchStatusBar(true);
-        mcSystemUi.temporarilySwitchNavigation(true);
+    //鏄剧ず
+    public static void show(MyService myService){
+        myService.setHideNavBar(false);
+    }
+
+    /**
+     * 璁剧疆app鑷惎鍔�
+     *
+     * @param packageName 搴旂敤鍖呭悕
+     */
+    public static void setHomePackage(MyService myService, String packageName) {
+        myService.setAppBoot(packageName);
     }
 }
diff --git a/keyCabinet-android/app/src/main/res/layout/main_activity.xml b/keyCabinet-android/app/src/main/res/layout/main_activity.xml
index 7268c54..602b50f 100644
--- a/keyCabinet-android/app/src/main/res/layout/main_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/main_activity.xml
@@ -388,7 +388,8 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:commandType="@{55}"
-            app:onClickCommand="@{model.myTypeCommand}"/>
+            app:onClickCommand="@{model.myTypeCommand}"
+            android:visibility="gone"/>
 
         <ImageView
             android:id="@+id/img"
@@ -404,7 +405,7 @@
             android:layout_height="50dp"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            />
+            android:visibility="gone"/>
 
         <TextView
             android:id="@+id/tv_m"
diff --git a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
index f1ed265..e664e4f 100644
--- a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
@@ -73,7 +73,7 @@
             android:textSize="22sp"
             app:layout_constraintTop_toTopOf="@+id/tv_title"
             app:layout_constraintBottom_toBottomOf="@+id/tv_title"
-            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintRight_toLeftOf="@+id/tv_count"
             android:layout_marginLeft="30dp"/>
 
         <TextView
@@ -84,7 +84,8 @@
             android:textColor="#111111"
             android:textSize="22sp"
             app:layout_constraintTop_toTopOf="@+id/tv1"
-            app:layout_constraintStart_toEndOf="@+id/tv1"/>
+            app:layout_constraintEnd_toEndOf="parent"
+            android:layout_marginRight="30dp"/>
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:id="@+id/cl_1"
diff --git a/keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java b/keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java
index 59b3a17..ae03c5e 100644
--- a/keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java
+++ b/keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java
@@ -9,6 +9,8 @@
 
 import org.junit.Test;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -17,11 +19,65 @@
 public class ExampleUnitTest {
     @Test
     public void addition_isCorrect() {
-       String code = "EF 01 FF FF FF FF 01 00 03 1D 00";
-       String x = SportUtils.getBCC(code);
-       System.out.println(x);
+        for(int i=1;i<=16;i++){
+            String key = SportUtils.intToHex(Integer.parseInt("1"))
+                    +SportUtils.intToHex(Integer.parseInt(i+""));
+            System.out.println("key = "+key);
+        }
+       String data2 = "CC0110AA" +
+               "0001010001A77B092F5DAA" +
+               "00010200014E7B092F05AA" +
+               "0001030001FD7A092FB4AA" +
+               "00010400000000000005AA" +
+               "0001050001F07C092FABAA" +
+               "00010600000000000007AA" +
+               "00010700000000000008AA" +
+               "00010800000000000009AA" +
+               "0001090000000000000AAA" +
+               "00010A0001967C092F56AA" +
+               "00010B0000000000000CAA" +
+               "00010C000000000000ODAA" +
+               "00010D0000000000000EAA" +
+               "00010E0000000000000FAA" +
+               "00010F00000000000010AA" +
+               "00011000000000000011DB" +
+               "CC0208AA" +
+               "0002010001A77B092F5DAA" +
+               "00020200014E7B092F05AA" +
+               "0002030001FD7A092FB4AA" +
+               "00020400000000000005AA" +
+               "0002050001F07C092FABAA" +
+               "00020600000000000007AA" +
+               "00020700000000000008AA" +
+               "00020800000000000009AA";
+        if(data2.contains("CC01")&&data2.contains("CC02")){
+            String[] sp = data2.split("CC02");
+            if(sp.length==2){
+                jx(sp[0]);
+                jx("CC02"+sp[1]);
+            }
+        }
+
     }
 
-
+    private void jx(String data){
+        List<String> sp = new ArrayList<>();
+        String data2 = data.substring(8,data.length());
+        while (data2.length()>0){
+            sp.add(data2.substring(0,22));
+            data2 = data2.substring(22,data2.length());
+        }
+        System.out.println("==>"+data2);
+        for(String s:sp) {
+            if (s.length() >= 20) {
+                String key = SportUtils.intToHex(1) + s.substring(4, 6);
+                String isHaveKey = s.substring(8, 10);
+                String keyCode = s.substring(10, 18);
+                System.out.println("==>"+s);
+                System.out.println("==>"+s.substring(4, 6));
+                System.out.println(key+"  "+ isHaveKey+"  "+keyCode);
+            }
+        }
+    }
 
 }
\ No newline at end of file
diff --git a/keyCabinet-android/build.gradle b/keyCabinet-android/build.gradle
index 944862a..f4d334f 100644
--- a/keyCabinet-android/build.gradle
+++ b/keyCabinet-android/build.gradle
@@ -11,6 +11,7 @@
         maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
         maven { url 'https://dl.bintray.com/hpdx/maven/' }
         maven { url "https://jitpack.io" }
+        maven { url 'https://repo1.maven.org/maven2/' }
         google()
         jcenter()
     }
@@ -33,6 +34,7 @@
         maven { url 'https://dl.bintray.com/hpdx/maven/' }
         maven {url  "https://dl.bintray.com/rongcloud/maven"}
         maven {url "https://www.jitpack.io"}
+        maven { url 'https://repo1.maven.org/maven2/' }
         maven {
             allowInsecureProtocol = true
             url 'http://maven.xiaoliyun.com:9999/repository/sdk/'

--
Gitblit v1.9.3