From 4e4017b2e55c70c32bd725fc9c9bda335ddc59f6 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期三, 10 十二月 2025 17:09:47 +0800
Subject: [PATCH] 钥匙柜酒精检测控制

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java              |   18 ++++++++-
 keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml                        |    2 
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java |   69 ++++++++++++++++++++++++++++------
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java                |   13 ++++++
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java              |    7 ++-
 5 files changed, 90 insertions(+), 19 deletions(-)

diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
index 2f176a9..97830f9 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
@@ -12,8 +12,13 @@
     private String linkPhone;
     //璁惧ID
     private String devId;
+
     //鏄惁鍙岄噸楠岃瘉 0鍚� 1鏄�
     private int doubleAuth;
+
+    //閰掔簿妫�娴嬪紑鍚細0=寮�鍚紱1=鍏抽棴
+    private int  alcoholStatus;
+
     //涓婚敭
     private Integer id;
     //澶囨敞
@@ -113,4 +118,12 @@
     public void setActivateFileUrl(String activateFileUrl) {
         this.activateFileUrl = activateFileUrl;
     }
+
+    public int getAlcoholStatus() {
+        return alcoholStatus;
+    }
+
+    public void setAlcoholStatus(int alcoholStatus) {
+        this.alcoholStatus = alcoholStatus;
+    }
 }
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 c7ffe76..471c2cd 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
@@ -297,7 +297,14 @@
                 //鍙告満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);
@@ -651,7 +658,14 @@
                             MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
                             MApplication.getLoginBean().setAuthType(0);
                             //handler.sendEmptyMessageDelayed(8,0);
-                            EventBus.getDefault().post(new FaceStatusChangeEvent(4));
+                            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()));
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
index 6245db2..4f52855 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
@@ -2,12 +2,18 @@
 
 import androidx.annotation.Nullable;
 
+import android.app.DownloadManager;
+import android.content.BroadcastReceiver;
 import android.content.ClipboardManager;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Environment;
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.Toast;
 
 import com.baidu.idl.main.facesdk.FaceAuth;
 import com.baidu.idl.main.facesdk.callback.Callback;
@@ -68,6 +74,8 @@
 
         getDB().accreditOffBtn.setOnClickListener(this);
         getDB().btnDown.setOnClickListener(this);
+        setupDownloadManager();
+        setupDownloadReceiver();
     }
 
     @Subscribe
@@ -127,19 +135,7 @@
                 }
                 if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
                     isDownLoad = true;
-                    FileUtil.downLoadFile(filePath, MApplication.getConfigBean().getActivateFileUrl(), new FileUtil.DownLoadCallBack() {
-                        @Override
-                        public void sucess() {
-                            ToastView.show(MApplication.mContext,"涓嬭浇鎴愬姛");
-                            isDownLoad = false;
-                        }
-
-                        @Override
-                        public void err(String e) {
-                            ToastView.show(MApplication.mContext,e);
-                            isDownLoad = false;
-                        }
-                    });
+                    startDownload(MApplication.getConfigBean().getActivateFileUrl());
                 }
                 break;
             // 绂荤嚎婵�娲�
@@ -186,5 +182,52 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        if (downloadReceiver != null) {
+            unregisterReceiver(downloadReceiver);
+        }
+    }
+
+    private BroadcastReceiver downloadReceiver;
+    private DownloadManager downloadManager;
+    private long downloadId;
+
+    private void setupDownloadManager() {
+        downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
+    }
+
+
+    private void startDownload(String url) {
+        try {
+            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
+
+            // 璁剧疆涓嬭浇鍙傛暟
+            request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
+            request.setTitle("鏂囦欢涓嬭浇");
+            request.setDescription("姝e湪涓嬭浇鏂囦欢...");
+            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
+            request.setDestinationInExternalPublicDir("", "License.zip");
+
+            // 寮�濮嬩笅杞�
+            downloadId = downloadManager.enqueue(request);
+            Toast.makeText(mContext, "涓嬭浇宸插紑濮�", Toast.LENGTH_SHORT).show();
+
+        } catch (Exception e) {
+            isDownLoad = false;
+            Toast.makeText(this, "涓嬭浇澶辫触: " + e.getMessage(), Toast.LENGTH_LONG).show();
+        }
+    }
+
+    private void setupDownloadReceiver() {
+        downloadReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive (Context context, Intent intent){
+                long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
+                if (id == downloadId) {
+                    isDownLoad = false;
+                    Toast.makeText(context, "鏂囦欢涓嬭浇瀹屾垚", Toast.LENGTH_LONG).show();
+                }
+            }
+        };
+        registerReceiver(downloadReceiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
     }
 }
\ No newline at end of file
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 204cdf4..e4bb3b3 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
@@ -1305,7 +1305,7 @@
             getVM().addInfo(e.getMsg());
         }
     }
-
+    private long lastCloseDoorTime;
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void CLGridEvent(CLGridEvent e){
         if(!isFinishing()){
@@ -1378,6 +1378,7 @@
                 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()));
@@ -1542,10 +1543,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);
                 }
diff --git a/keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml b/keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml
index 7cccb3f..30da852 100644
--- a/keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml
@@ -191,7 +191,7 @@
                     android:layout_below="@+id/accredit_setTv"
                     android:layout_marginTop="20dp"
                     android:gravity="center"
-                    android:textColor="@color/white" />
+                    android:textColor="@color/black" />
 
                 <View
                     android:id="@+id/aaccredit_view"

--
Gitblit v1.9.3