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