From 81e258e6aa59dafce998b4f41b1271a9f5c9aff5 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 30 十月 2025 20:07:26 +0800
Subject: [PATCH] 钥匙柜
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java | 74 +++++++++++++++++++++++++++++++++++-
1 files changed, 71 insertions(+), 3 deletions(-)
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 b9a76ca..77415dc 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
@@ -25,6 +25,7 @@
import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
import com.doumee.keyCabinet.event.KeyResultEvent;
import com.doumee.keyCabinet.event.GetKeyStatusEvent;
+import com.doumee.keyCabinet.event.OpenErrEvent;
import com.doumee.keyCabinet.event.OpenGridEvent;
import com.doumee.keyCabinet.event.OpenGridListEvent;
import com.doumee.keyCabinet.event.OpenGridOneResultEvent;
@@ -58,6 +59,7 @@
private int status;
private int ysDownCount = 10;
+ private boolean isChose;
@Override
public int getLayoutId() {
@@ -73,6 +75,9 @@
adapter = new CabinetRcvAdapter(this, R.layout.cabinet_rcv_item, new CabinetRcvAdapter.OnItemClick() {
@Override
public void onItemClick(KeyCabinetBean item) {
+ if(isChose){
+ return;
+ }
selectBean = item;
}
});
@@ -151,6 +156,10 @@
Toast.makeText(mContext, "璇烽�夋嫨鏌滈棬", Toast.LENGTH_SHORT).show();
return;
}
+ if(isChose){
+ return;
+ }
+ isChose = true;
if(isOpening){
return;
}
@@ -183,7 +192,7 @@
isOpening = false;
//寮�鍚垚鍔�
status=1;
- if("0".equals(flag)) {
+ if(flag==0) {
getDB().imgTip2.setImageResource(R.mipmap.ic_notclose_key);
getDB().tvTip22.setText("璇烽鍙栭挜鍖欏悗鍏抽棴鏌滈棬");
}else {
@@ -193,7 +202,6 @@
getDB().tvTip21.setText(getTipText(selectBean.getCode(),"鏌滈棬鎵撳紑鎴愬姛"), TextView.BufferType.SPANNABLE);
getDB().clTip1.setVisibility(View.GONE);
getDB().clTip2.setVisibility(View.VISIBLE);
- EventBus.getDefault().post(new GetKeyStatusEvent());
ysDownCount = 8;
break;
case 7:
@@ -291,6 +299,8 @@
@Override
protected void onDestroy() {
super.onDestroy();
+ handler.removeCallbacksAndMessages(null);
+ handler = null;
}
private String openTime = "";
@@ -300,6 +310,10 @@
if(selectBean!=null){
String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
+SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
+ //寮�闂ㄦ垚鍔燂紝绉婚櫎寮�闂�
+ if(handler.hasMessages(1)){
+ handler.removeMessages(1);
+ }
if(key.equals(e.getKey())) {
if (e.getIsOpen()==1) {
//寮�闂ㄦ垚鍔�
@@ -333,13 +347,23 @@
}
}
+ private Long keyTime;
private boolean isOpened = false;
@Subscribe(threadMode= ThreadMode.MAIN)
public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
if(!isFinishing()){
+ //鍏抽棬鎴愬姛锛岀Щ闄ゅ紑闂�
+ if(handler.hasMessages(1)){
+ handler.removeMessages(1);
+ }
//鑾峰彇鍗″彿
EventBus.getDefault().post(new GetKeyStatusEvent());
- if(selectBean!=null){
+ keyTime = new Date().getTime()+500;
+ if(handler.hasMessages(0)){
+ handler.removeMessages(0);
+ }
+ handler.sendEmptyMessageDelayed(0,1200);
+ /*if(selectBean!=null){
String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
+SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
if(key.equals(e.getKey())) {
@@ -419,7 +443,20 @@
}
}
}
+ }*/
+ }
+ }
+
+ @Subscribe(threadMode= ThreadMode.MAIN)
+ public void OpenErrEvent(OpenErrEvent e){
+ //寮�闂ㄥけ璐�
+ if(!isFinishing()){
+ //寮�闂�
+ if(handler.hasMessages(1)){
+ handler.removeMessages(1);
}
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ handler.sendEmptyMessageDelayed(1,1000);
}
}
@@ -427,6 +464,17 @@
public void KeyResultEvent(KeyResultEvent e){
if(!isFinishing()){
if(selectBean!=null){
+ //鏍¢獙鏃堕棿
+ if(keyTime==null){
+ return;
+ }
+ if(keyTime!=null&&keyTime>System.currentTimeMillis()){
+ //鏍¢獙杩斿洖鏃堕棿<鍛戒护鏃堕棿
+ return;
+ }
+ if(handler.hasMessages(0)){
+ handler.removeMessages(0);
+ }
String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
+SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
if(flag==0) {
@@ -501,4 +549,24 @@
}
}
}
+
+ private Handler handler = new Handler(){
+ @Override
+ public void handleMessage(@NonNull Message msg) {
+ switch (msg.what){
+ case 0:
+ //閲嶆柊鍙戦�侀挜鍖欐煡璇�
+ //鍙戦�佹煡璇㈤挜鍖欏彿
+ EventBus.getDefault().post(new GetKeyStatusEvent());
+ handler.sendEmptyMessageDelayed(0,1200);
+ break;
+ case 1:
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ handler.sendEmptyMessageDelayed(1,1000);
+ break;
+ default:
+ break;
+ }
+ }
+ };
}
\ No newline at end of file
--
Gitblit v1.9.3