From 22881a4d6409c7d17867e1d40bf81a13578208df Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 31 十月 2025 15:16:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java | 260 +++++++++++++++++++++++++++++++++------------------
1 files changed, 166 insertions(+), 94 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 44934c8..2377446 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,13 +25,17 @@
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;
import com.doumee.keyCabinet.ui.keyCabinet.adapter.CabinetRcvAdapter;
import com.doumee.keyCabinet.utils.i485.SportUtils;
import com.doumee.lib_coremodel.bean.event.ActionEventData;
import com.doumee.lib_coremodel.util.RecyclerHelp;
import com.doumee.lib_coremodel.util.StringUtil;
+import com.doumee.lib_coremodel.view.ToastView;
+import com.example.datalibrary.utils.ToastUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -55,32 +59,7 @@
private int status;
private int ysDownCount = 10;
- private Handler handler = new Handler(){
- @Override
- public void handleMessage(@NonNull Message msg) {
- switch (msg.what){
- case 0:
- /*if (ysDownCount==4) {
- //棰嗗彇閽ュ寵鍊掕鏃�
- doRegister(7,null);
- ysDownCount--;
- handler.sendEmptyMessageDelayed(0,1000);
- }else if (ysDownCount==0) {
- //棰嗗彇閽ュ寵鍊掕鏃�
- //doRegister(MApplication.nextBoolean()?5:6,null);
- }else {
- ysDownCount--;
- handler.sendEmptyMessageDelayed(0,1000);
- }*/
- break;
- case 1:
-
- break;
- default:
- break;
- }
- }
- };
+ private boolean isChose;
@Override
public int getLayoutId() {
@@ -96,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;
}
});
@@ -132,7 +114,6 @@
for(CabinetGridDo d:gridDos){
oldMap.put(d.getGridKey(),d);
}
- List<CabinetGridDo> addList = new ArrayList<>();
List<CabinetGridDo> updateList = new ArrayList<>();
for(KeyCabinetBean bean:beans){
String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode()))+SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
@@ -148,23 +129,7 @@
gridDo.setKeyStatus(bean.getKeyStatus());
gridDo.setWorkingStatus(bean.getWorkingStatus());
updateList.add(gridDo);
- }else {
- //鏂板
- CabinetGridDo gridDo = new CabinetGridDo();
- gridDo.setGridId(bean.getId());
- gridDo.setCabinetName(bean.getCode());
- gridDo.setGridKey(key);
- gridDo.setKeyCode(bean.getKeyCode());
- gridDo.setBindStatus(bean.getBindStatus());
- gridDo.setGridStatus(bean.getStatus());
- gridDo.setKeyStatus(bean.getKeyStatus());
- gridDo.setWorkingStatus(bean.getWorkingStatus());
- gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
- addList.add(gridDo);
}
- }
- if(addList.size()>0){
- DaoManager.getCabinetGridDao().insert(addList);
}
if(updateList.size()>0){
CabinetGridDo[] upList = new CabinetGridDo[updateList.size()];
@@ -191,6 +156,10 @@
Toast.makeText(mContext, "璇烽�夋嫨鏌滈棬", Toast.LENGTH_SHORT).show();
return;
}
+ if(isChose){
+ return;
+ }
+ isChose = true;
if(isOpening){
return;
}
@@ -200,9 +169,10 @@
downTime = 60;
break;
case 2:
- getDB().clTip1.setVisibility(View.GONE);
+ //getDB().clTip1.setVisibility(View.GONE);
if(status==0) {
//閲嶆柊寮�闂�
+ openTime = StringUtil.DateToStr(new Date());
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
}
downTime = 60;
@@ -222,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 {
@@ -232,9 +202,7 @@
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;
- handler.sendEmptyMessageDelayed(0,1000);
break;
case 7:
//鎻愰啋鍏虫煖闂�
@@ -312,7 +280,7 @@
}
private SpannableString getErrPhoneText(){
- String phone = "15899098765";
+ String phone = MApplication.getConfigBean().getLinkPhone();
String text = "濡傛湁闂璇疯仈绯荤鐞嗗憳"+phone;
SpannableString styledText = new SpannableString(text);
styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip2), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -325,34 +293,6 @@
getDB().tvKm.setBackgroundResource(R.drawable.shape_r25_blue_bg);
}else {
getDB().tvKm.setBackgroundResource(R.drawable.shape_mb_bt_faile);
- }
- }
-
- @Subscribe(threadMode= ThreadMode.MAIN)
- public void KeyResultEvent(KeyResultEvent e){
- if(!isFinishing()){
- //閽ュ寵鍙樻洿浜�
- if(selectBean!=null) {
- String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
- + SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
- //鏌ヨ鏌滄牸
- CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
- if (gridDo != null) {
- if(flag==0){
- //鍙�
- if(TextUtils.isEmpty(gridDo.getKeyCode())){
- //绌轰簡
- doRegister(7,null);
- }
- }else {
- //杩�
- if(!TextUtils.isEmpty(gridDo.getKeyCode())){
- //鏈夐挜鍖欎簡
- doRegister(7,null);
- }
- }
- }
- }
}
}
@@ -370,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) {
//寮�闂ㄦ垚鍔�
@@ -377,9 +321,7 @@
return;
}
isOpened = true;
- openTime = StringUtil.DateToStr(new Date());
- Toast.makeText(mContext, "鎿嶄綔4", Toast.LENGTH_LONG).show();
- doRegister(4, null);
+ getVM().doAction(4);
} else {
//澶辫触
//濡傛灉鏄挜鍖欎笉瀵圭户缁紑闂�
@@ -392,23 +334,35 @@
}
if (!gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
//閽ュ寵涓嶅尮閰�
- doRegister(10,null);
+ getVM().doAction(10,null);
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
return;
}
}
- doRegister(3, null);
+ getVM().doAction(3);
}
}
}
}
}
+ private Long keyTime;
private boolean isOpened = false;
@Subscribe(threadMode= ThreadMode.MAIN)
public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
if(!isFinishing()){
- if(selectBean!=null){
+ //鍏抽棬鎴愬姛锛岀Щ闄ゅ紑闂�
+ if(handler.hasMessages(1)){
+ handler.removeMessages(1);
+ }
+ //鑾峰彇鍗″彿
+ EventBus.getDefault().post(new GetKeyStatusEvent());
+ 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())) {
@@ -430,25 +384,21 @@
if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
//棰嗗彇澶辫触
isOpened = false;
- doRegister(6, null);
+ getVM().doAction(6);
getVM().closeGrid(gridDo);
}else {
//閽ュ寵涓嶅尮閰�
- Toast.makeText(mContext, "鎿嶄綔10", Toast.LENGTH_LONG).show();
- doRegister(10,null);
+ getVM().doAction(10,null);
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
}
} else {
//閽ュ寵鎷胯蛋浜�
isOpened = false;
- doRegister(5, null);
+ getVM().doAction(5);
getVM().closeGrid(gridDo);
}
- if (handler.hasMessages(0)) {
- handler.removeMessages(0);
- }
}else {
- Toast.makeText(mContext, "鏈煡璇㈠埌", Toast.LENGTH_LONG).show();
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
}
} else {
//鍏抽棬澶辫触
@@ -470,28 +420,150 @@
if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
//鐩稿悓褰掕繕鎴愬姛
isOpened = false;
- doRegister(8, null);
+ getVM().doAction(8);
getVM().closeGrid(gridDo);
}else {
//閽ュ寵涓嶅尮閰�
- doRegister(10,null);
+ getVM().doAction(10,null);
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
}
} else {
//閽ュ寵鏈綊杩�
isOpened = false;
- doRegister(9, null);
+ getVM().doAction(9);
getVM().closeGrid(gridDo);
}
}else {
- Toast.makeText(mContext, "鏈煡璇㈠埌", Toast.LENGTH_LONG).show();
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
}
} else {
//鍏抽棬澶辫触
}
}
}
+ }*/
+ }
+ }
+
+ @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);
+ }
+ }
+
+ @Subscribe(threadMode= ThreadMode.MAIN)
+ 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) {
+ //棰嗗彇
+ //鏌ヨ閽ュ寵鍙�
+ CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
+ if (gridDo != null) {
+ if (gridDo.getIsOpen() == 0) {
+ //鍏抽棬鎴愬姛
+ if (!TextUtils.isEmpty(gridDo.getCurKeyCode())) {
+ if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
+ //棰嗗彇澶辫触
+ isOpened = false;
+ getVM().doAction(6);
+ getVM().closeGrid(gridDo);
+ }else {
+ //閽ュ寵涓嶅尮閰�
+ getVM().doAction(10);
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ }
+ } else {
+ //閽ュ寵鎷胯蛋浜�
+ isOpened = false;
+ getVM().doAction(5);
+ getVM().closeGrid(gridDo);
+ }
+ }else {
+ //娌″叧闂�
+ if(TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //绌轰簡
+ getVM().doAction(7);
+ }
+ }
+ }else {
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
+ }
+ }else {
+ //褰掕繕
+ CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
+ if (gridDo != null) {
+ if (gridDo.getIsOpen() == 0) {
+ //鍏抽棬鎴愬姛
+ if (!TextUtils.isEmpty(gridDo.getCurKeyCode())) {
+ if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
+ //鐩稿悓褰掕繕鎴愬姛
+ isOpened = false;
+ getVM().doAction(8);
+ getVM().closeGrid(gridDo);
+ }else {
+ //閽ュ寵涓嶅尮閰�
+ getVM().doAction(10);
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ }
+ } else {
+ //閽ュ寵鏈綊杩�
+ isOpened = false;
+ getVM().doAction(9);
+ getVM().closeGrid(gridDo);
+ }
+ }else {
+ //娌″叧闂�
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //鏈夐挜鍖欎簡
+ getVM().doAction(7);
+ }
+ }
+ } else {
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
+ }
+ }
}
}
}
+
+ 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