From 8d459194e620a691994fb8226fb08c51a3dd8065 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期三, 29 十月 2025 21:33:24 +0800
Subject: [PATCH] 钥匙柜
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlVM.java | 5
keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/utils/ToastUtils.java | 4
keyCabinet-android/app/src/main/res/layout/main_activity.xml | 29 +
keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml | 12
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CircularQueue.java | 27 +
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java | 135 ++++++---
keyCabinet-android/app/src/main/res/layout/face_activity.xml | 55 +++
keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml | 8
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java | 27 +
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java | 9
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java | 68 ++++
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java | 127 +++++++--
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java | 88 +++++
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/CheckGridStatusEvent.java | 5
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/face/FaceSDKManager.java | 3
keyCabinet-android/lib_coremodel/src/main/res/layout/toast_view.xml | 4
keyCabinet-android/app/src/test/java/com/doumee/ticketmachine/ExampleUnitTest.java | 15
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java | 19 +
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java | 175 ++++++++----
19 files changed, 627 insertions(+), 188 deletions(-)
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/CheckGridStatusEvent.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/CheckGridStatusEvent.java
new file mode 100644
index 0000000..28bd59b
--- /dev/null
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/CheckGridStatusEvent.java
@@ -0,0 +1,5 @@
+package com.doumee.keyCabinet.event;
+
+//鏌ヨ鎵�鏈夐棬鐘舵��
+public class CheckGridStatusEvent {
+}
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java
index b6fd389..f39bb62 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java
@@ -3,6 +3,7 @@
public class AlcoholTestAlarmParam {
//浼氬憳id
private Integer memberId;
+ private String alcoholNum;
public Integer getMemberId() {
return memberId;
@@ -11,4 +12,12 @@
public void setMemberId(Integer memberId) {
this.memberId = memberId;
}
+
+ public String getAlcoholNum() {
+ return alcoholNum;
+ }
+
+ public void setAlcoholNum(String alcoholNum) {
+ this.alcoholNum = alcoholNum;
+ }
}
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 bcc9095..e935ae4 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
@@ -9,9 +9,11 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.text.Editable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
+import android.text.TextWatcher;
import android.text.style.TextAppearanceSpan;
import android.view.View;
import android.view.ViewTreeObserver;
@@ -35,6 +37,7 @@
import com.doumee.lib_coremodel.bean.event.ActionEventData;
import com.doumee.lib_coremodel.util.SpUtil;
import com.doumee.lib_coremodel.util.StringUtil;
+import com.doumee.lib_coremodel.view.ToastView;
import com.example.datalibrary.callback.CameraDataCallback;
import com.example.datalibrary.callback.FaceDetectCallBack;
import com.example.datalibrary.gatecamera.CameraPreviewManager;
@@ -137,6 +140,8 @@
break;
case 1:
//鍙�-绠$悊鍛樺埛鍗¢獙璇�
+ getDB().etEwm.setText("");
+ getDB().etEwm.requestFocus();
getDB().tvTitle.setText("绠$悊鍛樿韩浠介獙璇�");
getDB().clFace.setVisibility(View.GONE);
getDB().clCard.setVisibility(View.VISIBLE);
@@ -162,6 +167,8 @@
break;
case 3:
//鍙�-鍙告満鍒峰崱楠岃瘉
+ getDB().etEwm.setText("");
+ getDB().etEwm.requestFocus();
getDB().tvTitle.setText("鍙告満韬唤楠岃瘉");
getDB().clFace.setVisibility(View.GONE);
getDB().clSjXuan.setVisibility(View.GONE);
@@ -183,14 +190,15 @@
//寮�濮嬫娴�
EventBus.getDefault().post(new JiujinBeginEvent());
}else {
- ToastUtils.toast(this,"鏈幏鍙栧埌閰掔簿娴撳害鎶ヨ鍊�");
+ ToastView.show(this,"鏈幏鍙栧埌閰掔簿娴撳害鎶ヨ鍊�");
statusFsm(6);
}
break;
case 6:
//鍙�-鍙告満閰掔簿妫�娴嬪け璐�
- Toast.makeText(mContext, "鍙告満閰掔簿妫�娴嬪け璐�", Toast.LENGTH_SHORT).show();
+ //Toast.makeText(mContext, "鍙告満閰掔簿妫�娴嬪け璐�", Toast.LENGTH_SHORT).show();
getDB().clJiu.setVisibility(View.GONE);
+ getDB().tvJg1.setText("閰掔簿妫�娴嬪紓甯革紝璇烽噸鏂版娴�");
getDB().clTip1.setVisibility(View.VISIBLE);
break;
case 7:
@@ -202,10 +210,18 @@
break;
case 8:
//杩�-鍙告満鍒峰崱楠岃瘉
+ getDB().etEwm.setText("");
+ getDB().etEwm.requestFocus();
getDB().tvTitle.setText("鍙告満韬唤楠岃瘉");
getDB().clFace.setVisibility(View.GONE);
getDB().clCard.setVisibility(View.VISIBLE);
setFaceModel(2);
+ break;
+ case 9:
+ //鍙�-鍙告満閰掔簿妫�娴嬪け璐�
+ getDB().clJiu.setVisibility(View.GONE);
+ getDB().tvJg1.setText("閰掔簿妫�娴嬭秴鏍�");
+ getDB().clTip1.setVisibility(View.VISIBLE);
break;
default:
break;
@@ -266,6 +282,21 @@
case 5:
statusFsm(4);
break;
+ case 6:
+ //绠$悊鍛榠c鍗℃垚鍔�
+ statusFsm(5);
+ break;
+ case 7:
+ //鍙告満ic鍗℃垚鍔�
+ if(flag==0) {
+ //鍙�
+ statusFsm(4);
+ }else {
+ //杩�
+ startActivity(KeyCabinetActivity.class);
+ finish();
+ }
+ break;
default:
break;
}
@@ -296,12 +327,39 @@
//ic鍗¤鍙�
getDB().etEwm.requestFocus();
- getDB().etEwm.setShowSoftInputOnFocus(false);
+ getDB().etEwm.setFocusable(true);
+ getDB().etEwm.setShowSoftInputOnFocus(true);
hideSoftKeyboard(getDB().etEwm);
getDB().etEwm.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
hideSoftKeyboard(getDB().etEwm);
+ }
+ });
+ getDB().etEwm.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ String m = s.toString();
+ if(TextUtils.isEmpty(m)){
+ return;
+ }
+ if(status!=1&&status!=3&&status!=8){
+ return;
+ }
+ if(handler.hasMessages(5)){
+ handler.removeMessages(5);
+ }
+ handler.sendEmptyMessageDelayed(5,500);
}
});
}
@@ -428,7 +486,8 @@
//isCheckFace = false;
break;
case 3:
- Toast.makeText(mContext, "閰掔簿妫�鏌ヨ繑鍥�", Toast.LENGTH_SHORT).show();
+ getDB().clJiujinProgress.setVisibility(View.GONE);
+ //Toast.makeText(mContext, "閰掔簿妫�鏌ヨ繑鍥�", Toast.LENGTH_SHORT).show();
if(new BigDecimal(MApplication.getConfigBean().getCabinetConfigDataVO().getConcentration())
.compareTo(resultEvent.getConcentration())>=0){
//閰掔簿閫氳繃
@@ -436,14 +495,26 @@
handler.sendEmptyMessageDelayed(4,1000);
}else {
//閰掔簿涓嶉�氳繃
- getVM().alcoholTestAlarm("");
- Toast.makeText(mContext, "閰掔簿妫�娴嬩笉閫氳繃", Toast.LENGTH_SHORT).show();
- statusFsm(6);
+ getVM().alcoholTestAlarm(resultEvent.getConcentration().toString());
+ //Toast.makeText(mContext, "閰掔簿妫�娴嬭秴鏍�", Toast.LENGTH_SHORT).show();
+ statusFsm(9);
}
break;
case 4:
startActivity(KeyCabinetActivity.class);
finish();
+ break;
+ case 5:
+ String m = getDB().etEwm.getText().toString();
+ int index = m.indexOf("\r");
+ if(index!=-1){
+ m = m.substring(0,index);
+ }
+ if(!TextUtils.isEmpty(m)){
+ getVM().getMemberIdByCode(m,status==1?"0":"1");
+ }
+ getDB().etEwm.setText("");
+ getDB().etEwm.requestFocus();
break;
default:
break;
@@ -596,8 +667,10 @@
if(!isFinishing()){
//Toast.makeText(mContext, "閰掔簿妫�娴嬭繑鍥烇細"+e.isOk(), Toast.LENGTH_SHORT).show();
if(!e.isOk()){
+ getDB().clJiujinProgress.setVisibility(View.GONE);
statusFsm(6);
}else {
+ getDB().clJiujinProgress.setVisibility(View.VISIBLE);
if(resultEvent==null){
resultEvent = e;
}else if(resultEvent.getConcentration().compareTo(e.getConcentration())<0){
@@ -611,4 +684,5 @@
}
}
}
+
}
\ No newline at end of file
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java
index 3b5c511..db88e0b 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java
@@ -9,6 +9,7 @@
import com.doumee.keyCabinet.bean.CabinetFaceBean;
import com.doumee.keyCabinet.bean.FaceUserBean;
import com.doumee.keyCabinet.bean.KeyCabinetBean;
+import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.http.Apis;
import com.doumee.keyCabinet.http.param.AlcoholTestAlarmParam;
import com.doumee.keyCabinet.http.param.BaseResponse;
@@ -21,9 +22,14 @@
import com.doumee.lib_coremodel.base.BaseModel;
import com.doumee.lib_coremodel.base.DataViewModel;
import com.doumee.lib_coremodel.http.rxJava.SimpleObserver;
+import com.doumee.lib_coremodel.http.utils.GsonTools;
import com.doumee.lib_coremodel.http.utils.RxUtils;
+import com.doumee.lib_coremodel.util.StringUtil;
+
+import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
public class FaceVM extends DataViewModel {
@@ -43,26 +49,28 @@
* @param type //0锛氱鐞嗗憳锛�1锛氬徃鏈�
*/
public void getMemberIdByCode(String code,String type){
- showLoading(true);
+ //showLoading(true);
getRetrofitService(Apis.class).getMemberIdByCode(code)
.compose(RxUtils.schedulersTransformer())
.subscribe(new SimpleObserver<BaseResponse<Integer>>(rxJavaGcManager) {
@Override
public void onNext(@NonNull BaseResponse<Integer> response) {
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+
+ "鑾峰彇IC鍗$敤鎴蜂富閿� - 鍙告満:"+code+", 杩斿洖锛�"+ GsonTools.changeGsonToJson(response)));
if(200==response.getCode()){
//鏌ヨ鏁版嵁
if(response.getData()!=null){
if("0".equals(type)){
MApplication.getLoginBean().setAutoMemberId(response.getData());
- //doAction();
+ doAction(6);
}else {
MApplication.getLoginBean().setMemberId(response.getData());
MApplication.getLoginBean().setAuthType(1);
- //doAction();
+ doAction(7);
}
}
}else {
- toast(response.getMessage());
+ //toast(response.getMessage());
}
}
@@ -73,7 +81,7 @@
@Override
public void onComplete() {
- hideLoading();
+ //hideLoading();
}
});
}
@@ -85,6 +93,7 @@
public void alcoholTestAlarm(String data){
AlcoholTestAlarmParam param = new AlcoholTestAlarmParam();
param.setMemberId(MApplication.getLoginBean().getMemberId());
+ param.setAlcoholNum(data);
showLoading(true);
getRetrofitService(Apis.class).alcoholTestAlarm(ParamsUtil.encodeRequestBody(param))
.compose(RxUtils.schedulersTransformer())
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java
index ebae917..91a9912 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java
@@ -3,11 +3,25 @@
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
+import android.text.TextUtils;
+import com.doumee.keyCabinet.MApplication;
import com.doumee.keyCabinet.R;
import com.doumee.keyCabinet.base.MyBaseActivity;
import com.doumee.keyCabinet.databinding.ChangeUrlActivityBinding;
+import com.doumee.keyCabinet.http.Apis;
+import com.doumee.keyCabinet.ui.main.MainActivity;
+import com.doumee.keyCabinet.utils.LMobileInfo;
+import com.doumee.keyCabinet.utils.i485.SportUtils;
+import com.doumee.lib_coremodel.bean.event.ActionEventData;
+import com.doumee.lib_coremodel.util.SpUtil;
+import com.doumee.lib_coremodel.view.ToastView;
+import com.example.datalibrary.utils.ToastUtils;
import dagger.hilt.android.AndroidEntryPoint;
@@ -24,11 +38,63 @@
isAddCountTimer = false;
normalConfig();
getDB().setModel(getVM());
-
+ getDB().etNo.setText(LMobileInfo.getDeviceUniqueId());
+ getDB().etNo.setEnabled(false);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
+ getDB().etUrl.setText(SpUtil.getString("base_url", Apis.HTTP));
+ getDB().etTime.setText(SpUtil.getInt("loop_time",30)+"");
+ }
+ @Override
+ protected void doRegister(int type, ActionEventData data) {
+ switch (type){
+ case 2:
+ String url = getDB().etUrl.getText().toString();
+ if(TextUtils.isEmpty(url)){
+ ToastView.show(MApplication.mContext,"鎺ュ彛鍦板潃涓嶈兘涓虹┖");
+ return;
+ }
+ if(!url.startsWith("http://")||!url.startsWith("https://")||!url.endsWith("/")){
+ ToastView.show(MApplication.mContext,"鎺ュ彛鍦板潃閿欒");
+ return;
+ }
+ if(TextUtils.isEmpty(getDB().etTime.getText().toString())){
+ ToastView.show(MApplication.mContext,"鎺ュ彛璋冪敤闂撮殧涓嶈兘涓虹┖");
+ return;
+ }
+ int time = Integer.parseInt(getDB().etTime.getText().toString());
+ if(time<=0){
+ ToastView.show(MApplication.mContext,"鎺ュ彛璋冪敤闂撮殧閿欒");
+ return;
+ }
+ String oldUrl = SpUtil.getString("base_url", Apis.HTTP);
+ SpUtil.saveString("base_url",url);
+ SpUtil.saveInt("loop_time",time);
+ ToastView.show(MApplication.mContext,"淇濆瓨鎴愬姛");
+ if(!oldUrl.equals(url)){
+ //鎺ュ彛涓嶅悓锛岄噸鏂板惎鍔�
+ restartApp();
+ }
+ break;
+ }
+ }
+
+ private void restartApp(){
+ // 鍒涘缓涓�涓柊鐨勫惎鍔ㄦ剰鍥�
+ Intent intent = new Intent(mContext, MainActivity.class);
+ // 璁剧疆FLAG_ACTIVITY_CLEAR_TASK鏍囧織浣�
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ // 浣跨敤PendingIntent鍖呰鍚姩鎰忓浘
+ PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT);
+ // 鑾峰彇AlarmManager瀹炰緥
+ AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
+ // 鍦�500姣鍚庤Е鍙戦噸鍚搷浣�
+ alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 10, pendingIntent);
+
+ android.os.Process.killProcess(android.os.Process.myPid());
+ System.exit(1);
}
}
\ No newline at end of file
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlVM.java
index 547666e..d782073 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlVM.java
@@ -13,4 +13,9 @@
public ChangeUrlVM(@NonNull Application application, BaseModel model) {
super(application, model);
}
+
+ @Override
+ protected void clickByTypeCommand(int type) {
+ doAction(type);
+ }
}
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 f062a3f..b9a76ca 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
@@ -26,12 +26,15 @@
import com.doumee.keyCabinet.event.KeyResultEvent;
import com.doumee.keyCabinet.event.GetKeyStatusEvent;
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;
@@ -106,7 +109,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()));
@@ -122,23 +124,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()];
@@ -302,34 +288,6 @@
}
}
- @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.getCurKeyCode())){
- //绌轰簡
- doRegister(7,null);
- }
- }else {
- //杩�
- if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
- //鏈夐挜鍖欎簡
- doRegister(7,null);
- }
- }
- }
- }
- }
- }
-
@Override
protected void onDestroy() {
super.onDestroy();
@@ -379,6 +337,8 @@
@Subscribe(threadMode= ThreadMode.MAIN)
public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
if(!isFinishing()){
+ //鑾峰彇鍗″彿
+ EventBus.getDefault().post(new GetKeyStatusEvent());
if(selectBean!=null){
String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
+SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
@@ -405,7 +365,7 @@
getVM().closeGrid(gridDo);
}else {
//閽ュ寵涓嶅尮閰�
- Toast.makeText(mContext, "鎿嶄綔10", Toast.LENGTH_LONG).show();
+ //Toast.makeText(mContext, "鎿嶄綔10", Toast.LENGTH_LONG).show();
doRegister(10,null);
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
}
@@ -416,7 +376,7 @@
getVM().closeGrid(gridDo);
}
}else {
- Toast.makeText(mContext, "鏈煡璇㈠埌", Toast.LENGTH_LONG).show();
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
}
} else {
//鍏抽棬澶辫触
@@ -452,7 +412,7 @@
getVM().closeGrid(gridDo);
}
}else {
- Toast.makeText(mContext, "鏈煡璇㈠埌", Toast.LENGTH_LONG).show();
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
}
} else {
//鍏抽棬澶辫触
@@ -462,4 +422,83 @@
}
}
}
+
+ @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()));
+ 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;
+ doRegister(6, null);
+ getVM().closeGrid(gridDo);
+ }else {
+ //閽ュ寵涓嶅尮閰�
+ //Toast.makeText(mContext, "鎿嶄綔10", Toast.LENGTH_LONG).show();
+ doRegister(10,null);
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ }
+ } else {
+ //閽ュ寵鎷胯蛋浜�
+ isOpened = false;
+ doRegister(5, null);
+ getVM().closeGrid(gridDo);
+ }
+ }else {
+ //娌″叧闂�
+ if(TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //绌轰簡
+ doRegister(7,null);
+ }
+ }
+ }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;
+ doRegister(8, null);
+ getVM().closeGrid(gridDo);
+ }else {
+ //閽ュ寵涓嶅尮閰�
+ doRegister(10,null);
+ EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
+ }
+ } else {
+ //閽ュ寵鏈綊杩�
+ isOpened = false;
+ doRegister(9, null);
+ getVM().closeGrid(gridDo);
+ }
+ }else {
+ //娌″叧闂�
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //鏈夐挜鍖欎簡
+ doRegister(7,null);
+ }
+ }
+ } else {
+ ToastView.show(MApplication.mContext, "鏈煡璇㈠埌瑙勬牸淇℃伅");
+ }
+ }
+ }
+ }
+ }
}
\ No newline at end of file
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 f982e43..a38a64b 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
@@ -20,18 +20,23 @@
import com.doumee.keyCabinet.dao.CabinetGridDo;
import com.doumee.keyCabinet.dao.DaoManager;
import com.doumee.keyCabinet.databinding.ManageCabinetActivityBinding;
+import com.doumee.keyCabinet.event.CheckGridStatusEvent;
import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
+import com.doumee.keyCabinet.event.GetKeyStatusEvent;
import com.doumee.keyCabinet.event.HttpEvent;
+import com.doumee.keyCabinet.event.KeyResultEvent;
import com.doumee.keyCabinet.event.ManageOpenGridResultEvent;
import com.doumee.keyCabinet.event.OpenAllGridEvent;
import com.doumee.keyCabinet.event.OpenGridEvent;
import com.doumee.keyCabinet.event.OpenGridListEvent;
+import com.doumee.keyCabinet.event.OpenGridOneResultEvent;
import com.doumee.keyCabinet.event.TimeClockEvent;
import com.doumee.keyCabinet.ui.keyCabinet.adapter.ManageCabinetRcvAdapter;
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.example.datalibrary.db.DBManager;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -105,6 +110,7 @@
for(ManageKeyCabinetBean d:datas){
if(d.getIsSelected().get()){
isCanPL = true;
+ isCanBJ = true;
if(keyStatus==-1){
keyStatus = getGridStatus(d);
}else {
@@ -120,8 +126,7 @@
}else {
getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_faile);
}
- if(keyStatus==2||keyStatus==4){
- isCanBJ = true;
+ if(isCanBJ){
getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_ok);
}else {
getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_faile);
@@ -142,7 +147,6 @@
for(CabinetGridDo d:gridDos){
oldMap.put(d.getGridKey(),d);
}
- List<CabinetGridDo> addList = new ArrayList<>();
List<CabinetGridDo> updateList = new ArrayList<>();
for(ManageKeyCabinetBean bean:beans){
String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode()))+SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
@@ -158,29 +162,19 @@
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()];
for(int i=0;i<updateList.size();i++){
upList[i] = updateList.get(i);
}
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null){
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵2锛�"+gridDo.getCurKeyCode()));
+ }
+
DaoManager.getCabinetGridDao().update(upList);
}
}
@@ -240,6 +234,7 @@
SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
waitOpenMap.put(key,bean.getCode());
}
+ waitResultCount = 2;
EventBus.getDefault().post(new OpenAllGridEvent());
}break;
case 10: {
@@ -255,11 +250,12 @@
keys.add(key);
}
}
+ waitResultCount = keys.size();
EventBus.getDefault().post(new OpenGridListEvent(keys));
}break;
case 4: {
//鏍囪
- if(!isCanPL){
+ if(!isCanBJ){
return;
}
bjIds.clear();
@@ -285,7 +281,12 @@
getDB().tvBjgz.setText("鏍囪涓烘晠闅�");
getDB().tvBjgz.setTextColor(0xffFF3600);
getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_1_bg);
- getDB().tvBy.setVisibility(View.VISIBLE);
+ if(keyStatus==2) {
+ //0鏈粦瀹� 1鍦ㄤ綅 2鍊熷嚭 3缁翠慨淇濆吇
+ getDB().tvBy.setVisibility(View.VISIBLE);
+ }else {
+ getDB().tvBy.setVisibility(View.GONE);
+ }
}
getDB().clCz.setVisibility(View.VISIBLE);
}break;
@@ -336,7 +337,6 @@
if(tipDownCount==0){
isShowTip = false;
getDB().clTip.setVisibility(View.GONE);
- finish();
}else {
tipDownCount--;
getDB().tvDjs.setText(tipDownCount+"s");
@@ -404,10 +404,10 @@
return styledText;
}
- private void showKeyErrTip(CabinetGridDo gridDo){
+ private void showKeyErrTip(String name){
getDB().imgClKm1.setImageResource(R.mipmap.ic_jjfail);
getDB().tvClKm1.setText("璇嗗埆澶辫触");
- getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",gridDo.getCabinetName(),"璇嗗埆澶辫触"), TextView.BufferType.SPANNABLE);
+ getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",name,"璇嗗埆澶辫触"), TextView.BufferType.SPANNABLE);
getDB().tvClKmClose.setText("閲嶆柊瀛樻斁");
getDB().tvClKmClose.setTextColor(0xffffffff);
getDB().tvClKmClose.setBackgroundResource(R.drawable.shape_mb_bt_ok);
@@ -425,6 +425,7 @@
return super.onKeyDown(keyCode, event);
}
+ private int waitResultCount = 0;
/**
* 寮�闂ㄨ繑鍥�
* @param e
@@ -432,6 +433,13 @@
@Subscribe(threadMode = ThreadMode.MAIN)
public void ManageOpenGridResultEvent(ManageOpenGridResultEvent e){
if(!isFinishing()){
+ if(waitResultCount>0){
+ waitResultCount--;
+ }
+ if(waitResultCount>0){
+ return;
+ }
+ EventBus.getDefault().post(new CheckGridStatusEvent());
//鏍¢獙鏄惁宸插叏寮�
List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll();
List<String> msgList = new ArrayList<>();
@@ -518,6 +526,22 @@
}
}
+ private String sygKey;
+ @Subscribe
+ public void OpenGridOneResultEvent(OpenGridOneResultEvent e){
+ if(!isFinishing()){
+ if(e.getIsOpen()==0){
+ if(e.getKey().equals(sygKey)){
+ return;
+ }
+ sygKey = e.getKey();
+ //寮�闂ㄥけ璐�,閲嶆柊寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ }
+ }
+ }
+
/**
* 鍏抽棬
* @param e
@@ -525,14 +549,19 @@
@Subscribe(threadMode= ThreadMode.MAIN)
public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
if(!isFinishing()){
+ //鑾峰彇鍗″彿
+ EventBus.getDefault().post(new GetKeyStatusEvent());
+ if(isShowTip){
+ isShowTip = false;
+ getDB().clTip.setVisibility(View.GONE);
+ }
//鏍¢獙鍗″彿
CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey());
if(gridDo!=null){
- //鏍¢獙閽ュ寵鏄惁鍖归厤
- if(gridDo.getGridKey()==null){
+ if(TextUtils.isEmpty(gridDo.getGridKey())){
if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
//鏈粦瀹氱殑瀛樻斁浜嗛挜鍖�
- showKeyErrTip(gridDo);
+ showKeyErrTip(gridDo.getCabinetName()+"-"+gridDo.getCurKeyCode());
//寮�闂�
EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
Integer.parseInt(e.getKey().substring(0,2), 16)+""));
@@ -542,7 +571,8 @@
if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())){
//閽ュ寵涓嶅尮閰�
- showKeyErrTip(gridDo);
+ showKeyErrTip(gridDo.getCabinetName()+"-"+gridDo.getCurKeyCode());
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"閽ュ寵涓嶅尮閰�==>鐩爣锛�"+gridDo.getKeyCode()+",褰撳墠锛�"+gridDo.getCurKeyCode()));
//寮�闂�
EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
Integer.parseInt(e.getKey().substring(0,2), 16)+""));
@@ -550,8 +580,49 @@
}
}
}
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"闂ㄥ叧闂垚鍔�==>鐩爣锛�"+gridDo.getKeyCode()+",褰撳墠锛�"+gridDo.getCurKeyCode()));
getVM().closeGrid(gridDo);
}
}
}
+
+ @Subscribe
+ public void KeyResultEvent(KeyResultEvent e){
+ if(!isFinishing()){
+ //鏍¢獙鍗″彿涓嶅鐨勶紝鐩存帴寮瑰嚭
+ List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll();
+ List<String> keys = new ArrayList<>();
+ StringBuilder sb = new StringBuilder();
+ for(CabinetGridDo gridDo:gridDos){
+ if(TextUtils.isEmpty(gridDo.getGridKey())){
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&&gridDo.getIsOpen()==0){
+ //鏈粦瀹氱殑瀛樻斁浜嗛挜鍖�
+ keys.add(gridDo.getGridKey());
+ if(sb.length()>0){
+ sb.append("銆�");
+ }
+ sb.append(gridDo.getCabinetName());
+ }
+ }else {
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())&&gridDo.getIsOpen()==0){
+ //閽ュ寵涓嶅尮閰�
+ keys.add(gridDo.getGridKey());
+ if(sb.length()>0){
+ sb.append("銆�");
+ }
+ sb.append(gridDo.getCabinetName());
+ }
+ }
+ }
+ }
+ if(sb.length()>0){
+ showKeyErrTip(sb.toString());
+ }
+ if(keys.size()>0){
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridListEvent(keys));
+ }
+ }
+ }
}
\ 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 0a253eb..13b914e 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
@@ -49,6 +49,7 @@
import com.doumee.keyCabinet.databinding.MainActivityBinding;
import com.doumee.keyCabinet.event.CLGridEvent;
import com.doumee.keyCabinet.event.CLKeyEvent;
+import com.doumee.keyCabinet.event.CheckGridStatusEvent;
import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
import com.doumee.keyCabinet.event.GetFacesEvent;
import com.doumee.keyCabinet.event.GetKeyStatusEvent;
@@ -76,6 +77,7 @@
import com.doumee.keyCabinet.ui.face.UserManagerActivity;
import com.doumee.keyCabinet.ui.view.BannerViewImageHolder;
import com.doumee.keyCabinet.utils.BraceletLogUtils;
+import com.doumee.keyCabinet.utils.CircularQueue;
import com.doumee.keyCabinet.utils.CrashHandler;
import com.doumee.keyCabinet.utils.LMobileInfo;
import com.doumee.keyCabinet.utils.TimeUtils;
@@ -99,11 +101,13 @@
import com.doumee.lib_coremodel.http.utils.GsonTools;
import com.doumee.lib_coremodel.util.SpUtil;
import com.doumee.lib_coremodel.util.StringUtil;
+import com.doumee.lib_coremodel.view.ToastView;
import com.example.datalibrary.api.FaceApi;
import com.example.datalibrary.listener.DBLoadListener;
import com.example.datalibrary.listener.SdkInitListener;
import com.example.datalibrary.model.ImportFeatureResult;
import com.example.datalibrary.model.User;
+import com.example.datalibrary.utils.ToastUtils;
import com.example.datalibrary.view.PreviewTexture;
import com.yanzhenjie.permission.runtime.Permission;
@@ -277,7 +281,6 @@
getDB().tvId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- startActivity(ManageLoginActivity.class);
//鏇存敼url
if(lastDownTime2!=null){
if(System.currentTimeMillis()-lastDownTime2>1000){
@@ -469,7 +472,9 @@
}else {
getDB().banner.stopTurning();
}
- unCloseGrid();
+ //妫�鏌ユ墍鏈夋煖鏍奸棬銆侀挜鍖欑姸鎬�
+ checkKeyStatus(0);
+ checkGridStatus(900);
}
private void unCloseGrid(){
@@ -951,10 +956,7 @@
}
private void initRGBCheck(){
- String index = SpUtil.getString("rbgCameraId");
- if(!"1".equals(index)){
- index = "0";
- }
+ String index = SpUtil.getString("rbgCameraId","0");
setRgbCameraId(Integer.parseInt(index));
/*if (isSetCameraId()){
setRgbCameraId(SingleBaseConfig.getBaseConfig().getRBGCameraId());
@@ -1078,16 +1080,26 @@
}
private int tipDownCount = 10;
+ private int loopDownCount = 30;
private boolean isShowTip;
@Subscribe
public void TimeClockEvent(TimeClockEvent e){
- if(isShowTip){
- if(tipDownCount==0){
- isShowTip = false;
- getDB().clTip.setVisibility(View.GONE);
+ if(!isFinishing()) {
+ if(isShowTip){
+ if(tipDownCount==0){
+ isShowTip = false;
+ getDB().clTip.setVisibility(View.GONE);
+ }else {
+ tipDownCount--;
+ getDB().tvDjs.setText(tipDownCount+"s");
+ }
+ }
+ if(loopDownCount==0){
+ loopDownCount = SpUtil.getInt("loop_time",30);
+ //瀹氭椂鎷夊彇鍩烘湰淇℃伅
+ getVM().devLogin();
}else {
- tipDownCount--;
- getDB().tvDjs.setText(tipDownCount+"s");
+ loopDownCount--;
}
}
}
@@ -1179,7 +1191,7 @@
!TextUtils.isEmpty(gridDo.getKeyCode())&&
!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())){
//閽ュ寵涓嶄竴鏍凤紝寮�闂�
- Toast.makeText(mContext, "閽ュ寵瀛樻斁浣嶇疆閿欒", Toast.LENGTH_SHORT).show();
+ ToastView.show(MApplication.mContext,gridDo.getCabinetName()+"閽ュ寵瀛樻斁浣嶇疆閿欒");
EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
Integer.parseInt(e.getKey().substring(0,2), 16)+""));
}else {
@@ -1252,23 +1264,33 @@
});*/
String key = bh+tdh;
CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
- if(gridDo==null){
- //鏂板
- gridDo = new CabinetGridDo();
- gridDo.setIsOpen("00".equals(open)?1:0);
- gridDo.setGridKey(key);
- gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
- DaoManager.getCabinetGridDao().insert(gridDo);
- }else {
+ if(gridDo!=null){
gridDo.setIsOpen("00".equals(open)?1:0);
gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
+ //todo 鍘绘帀
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵3锛�"+gridDo.getCurKeyCode()));
+
DaoManager.getCabinetGridDao().update(gridDo);
+ EventBus.getDefault().post(new ManageOpenGridResultEvent());
+ if(gridDo.getIsOpen()==0) {
+ //寮�闂ㄥけ璐�
+ if (isShowing) {
+ //棣栭〉寮�闂ㄥけ璐ワ紝閽ュ寵涓嶅
+ if (!TextUtils.isEmpty(gridDo.getCurKeyCode()) &&
+ !TextUtils.isEmpty(gridDo.getKeyCode()) &&
+ !gridDo.getCurKeyCode().equals(gridDo.getKeyCode())) {
+ //閽ュ寵涓嶄竴鏍凤紝寮�闂�
+ ToastView.show(MApplication.mContext, gridDo.getCabinetName() + "閽ュ寵瀛樻斁浣嶇疆閿欒");
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(gridDo.getGridKey().substring(2, 4), 16) + "",
+ Integer.parseInt(gridDo.getGridKey().substring(0, 2), 16) + ""));
+ }
+ }
+ }else {
+ //寮�闂ㄦ垚鍔�
+ }
}
//寮�闂ㄨ繑鍥�
- EventBus.getDefault().post(new OpenGridOneResultEvent(key,gridDo.getIsOpen()));
- if(!portHandler.hasMessages(1)){
- EventBus.getDefault().post(new ManageOpenGridResultEvent());
- }
+ EventBus.getDefault().post(new OpenGridOneResultEvent(key,"00".equals(open)?1:0));
}else if(data.length()==16){
//鎵归噺
//8A 02 00 00 00 00 11 99
@@ -1281,12 +1303,7 @@
for(CabinetGridDo d:gridDos){
oldMap.put(d.getGridKey(),d);
}
- List<CabinetGridDo> addList = new ArrayList<>();
List<CabinetGridDo> updateList = new ArrayList<>();
- String finalDm = dm;
- /*runOnUiThread(() -> {
- getVM().addInfo("鎵归噺鏌ヨ杩斿洖锛�" +bh+","+ finalDm+",鎬绘暟鎹細"+oldMap.size());
- });*/
try {
for(int i=1;i<=dm.length();i++){
String key = bh+SportUtils.intToHex(i);
@@ -1295,22 +1312,19 @@
gridDo.setIsOpen("1".equals(dm.substring(i-1,i))?0:1);
gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
updateList.add(gridDo);
- }/*else {
- getVM().addInfo("鏂板key锛�" +key);
- CabinetGridDo gridDo = new CabinetGridDo();
- gridDo.setGridKey(key);
- gridDo.setIsOpen("1".equals(dm.substring(i-1,i))?0:1);
- gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
- addList.add(gridDo);
- }*/
+ }
}
runOnUiThread(() -> {
- getVM().addInfo("鎵归噺寮�闂ㄦ洿鏂板簱鏁版嵁:鐗堝彿锛�" +bh+","+ addList.size()+","+updateList.size());
+ getVM().addInfo("鎵归噺寮�闂ㄦ洿鏂板簱鏁版嵁:鐗堝彿锛�" +bh+","+updateList.size());
});
- getVM().updateGrids(updateList);
- if(!portHandler.hasMessages(1)){
- EventBus.getDefault().post(new ManageOpenGridResultEvent());
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null) {
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵6锛�" + gridDo.getCurKeyCode()));
}
+
+ getVM().updateGrids(updateList);
+ EventBus.getDefault().post(new ManageOpenGridResultEvent());
}catch (Exception exception){
runOnUiThread(() -> {
getVM().addInfo("鎵归噺寮�闂ㄦ姤閿欙細" +exception.getMessage());
@@ -1324,20 +1338,16 @@
String open = data.substring(6,8);
String key = bh+tdh;
CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
- if(gridDo==null){
- //鏂板
- gridDo = new CabinetGridDo();
- gridDo.setIsOpen("00".equals(open)?1:0);
- gridDo.setGridKey(key);
- gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
- DaoManager.getCabinetGridDao().insert(gridDo);
- }else {
+ if(gridDo!=null){
gridDo.setIsOpen("00".equals(open)?1:0);
gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
+ //todo 鍘绘帀
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵3锛�"+gridDo.getCurKeyCode()));
+
DaoManager.getCabinetGridDao().update(gridDo);
}
//鍏抽棬杩斿洖
- EventBus.getDefault().post(new CloseGridOneResultEvent(key,gridDo.getIsOpen()));
+ EventBus.getDefault().post(new CloseGridOneResultEvent(key,"00".equals(open)?1:0));
if(isShowing&&isShowTip){
//淇敼鏄剧ず鎻愰啋
doRegister(5,null);
@@ -1383,7 +1393,17 @@
runOnUiThread(() -> {
getVM().addInfo("鏇存柊搴撴暟鎹�:鐗堝彿锛�" +bh+","+ addList.size()+","+updateList.size());
});
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null){
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+
+ "=================>鏇存柊鏁版嵁褰撳墠閽ュ寵5锛�"+gridDo.getCurKeyCode()));
+ }
+
getVM().updateGrids(updateList);
+ if(isShowing){
+ unCloseGrid();
+ }
}catch (Exception exception){
runOnUiThread(() -> {
getVM().addInfo("鎶ラ敊锛�" +exception.getMessage());
@@ -1440,7 +1460,15 @@
String data2 = keyPreviousData+data;
runOnUiThread(() -> {
getVM().addInfo("鑾峰彇鍒伴挜鍖欐暟鎹�:" + data2);
- jxKey(data2);
+ if(data2.contains("CC01")&&data2.contains("CC02")){
+ String[] sp = data2.split("CC02");
+ if(sp.length==2){
+ jxKey(sp[0]);
+ jxKey("CC02"+sp[1]);
+ }
+ }else {
+ jxKey(data2);
+ }
});
keyPreviousData = null;
}
@@ -1483,11 +1511,22 @@
}else {
gridDo.setCurKeyCode("");
}
+ if("0101".equals(key)) {
+ getVM().addInfo(key+" , "+isHaveKey+" "+keyCode);
+ getVM().addInfo(key + "璁剧疆閽ュ寵锛�" + gridDo.getCurKeyCode());
+ }
gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
updateList.add(gridDo);
}
}
}
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null) {
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+
+ "=================>鏇存柊鏁版嵁褰撳墠閽ュ寵7锛�" + gridDo.getCurKeyCode()));
+ }
+
getVM().updateGrids(updateList);
EventBus.getDefault().post(new KeyResultEvent());
}
@@ -1513,11 +1552,11 @@
}
try {
runOnUiThread(() -> {
- getVM().addInfo("鑾峰彇鍒伴厭绮炬娴嬫暟鎹�:"+StringUtil.DateToStrSS(new Date())+" " + new String(bytes));
+ //getVM().addInfo("鑾峰彇鍒伴厭绮炬娴嬫暟鎹�:"+StringUtil.DateToStrSS(new Date())+" " + new String(bytes));
});
String data = new String(bytes);
runOnUiThread(() -> {
- getVM().addInfo("鑾峰彇鍒伴厭绮炬娴嬫槸鍚︽娴嬪け璐�:" + (data.contains("blow fail")));
+ //getVM().addInfo("鑾峰彇鍒伴厭绮炬娴嬫槸鍚︽娴嬪け璐�:" + (data.contains("blow fail")));
});
if(data.contains("blow fail")){
//妫�娴嬪け璐�
@@ -1633,6 +1672,13 @@
}
};
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void CheckGridStatusEvent(CheckGridStatusEvent e){
+ if(!isFinishing()){
+ checkGridStatus(0);
+ }
+ }
+
//妫�鏌ユ墍鏈夐棬鐘舵��
private void checkGridStatus(long time){
sendPortHandlerMsg(1,"80010033B2",time+100);
@@ -1666,20 +1712,24 @@
portHandler.sendMessageDelayed(mc,time);
}
+ private boolean isInitPort;
//鍒濆鍖栦覆鍙�
private void initPort(){
SpUtil.setString("port_grid","/dev/ttyS7");
SpUtil.setString("port_key","/dev/ttyS1");
SpUtil.setString("port_jiu","/dev/ttyS2");
gridPath = SpUtil.getString("port_grid");
- getVM().addInfo("闂ㄤ覆鍙i摼鎺ワ細"+gridPath);
+ //getVM().addInfo("闂ㄤ覆鍙i摼鎺ワ細"+gridPath);
keyPath = SpUtil.getString("port_key");
- getVM().addInfo("閽ュ寵涓插彛閾炬帴锛�"+keyPath);
+ //getVM().addInfo("閽ュ寵涓插彛閾炬帴锛�"+keyPath);
jiuPath = SpUtil.getString("port_jiu");
- getVM().addInfo("閰掔簿涓插彛閾炬帴锛�"+jiuPath);
+ //getVM().addInfo("閰掔簿涓插彛閾炬帴锛�"+jiuPath);
if(!TextUtils.isEmpty(SpUtil.getString("port_grid"))&&
!TextUtils.isEmpty(SpUtil.getString("port_key"))&&
!TextUtils.isEmpty(SpUtil.getString("port_jiu"))){
+ if(isInitPort){
+ return;
+ }
xhCount=0;
closePort(chosePort);
if(!TextUtils.isEmpty(SpUtil.getString("port_grid"))){
@@ -1690,6 +1740,7 @@
,1 , 0,gridReadObserver);
boolean isSucc = gridPort.open();
if(isSucc) {
+ isInitPort = true;
getVM().addInfo("闂ㄤ覆鍙i摼鎺ユ垚鍔燂細"+path);
String msg = isSucc ? "鎴愬姛" : "澶辫触";
//getVM().append("涓插彛 "+ settingBean.getDevicePath() + " -杩炴帴"+msg);
@@ -1707,6 +1758,7 @@
,1 , 0,keyReadObserver);
boolean isSucc = keyPort.open();
if(isSucc) {
+ isInitPort = true;
getVM().addInfo("閽ュ寵涓插彛閾炬帴鎴愬姛锛�"+path);
String msg = isSucc ? "鎴愬姛" : "澶辫触";
//getVM().append("涓插彛 "+ settingBean.getDevicePath() + " -杩炴帴"+msg);
@@ -1723,6 +1775,7 @@
,1 , 0,jiuReadObserver);
boolean isSucc = jiuPort.open();
if(isSucc) {
+ isInitPort = true;
getVM().addInfo("閰掔簿涓插彛閾炬帴鎴愬姛锛�"+path);
String msg = isSucc ? "鎴愬姛" : "澶辫触";
//getVM().append("涓插彛 "+ settingBean.getDevicePath() + " -杩炴帴"+msg);
@@ -1809,15 +1862,23 @@
portHandler.sendEmptyMessageDelayed(0,0);
}
+ private CircularQueue openGridQueue = new CircularQueue();
private void send485(int type,String code){
runOnUiThread(new Runnable() {
@Override
public void run() {
+ //todo 鍘绘帀
+ if(type==2){
+ return;
+ }
getVM().addInfo("鍙戦�佹寚浠わ細"+StringUtil.DateToStrSS(new Date())+"==>"+code);
}
});
if(type==0){
if(gridPort!=null){
+ if(code.startsWith("8A")){
+ openGridQueue.enqueue(code);
+ }
byte[] sendByte = SportUtils.hexToByteArray(code);
gridPort.write(sendByte);
}
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 4f0b4ab..c511e94 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
@@ -128,6 +128,7 @@
gridDo.setKeyStatus(bean.getKeyStatus());
gridDo.setWorkingStatus(bean.getWorkingStatus());
updateList.add(gridDo);
+ oldMap.remove(key);
}else {
//鏂板
CabinetGridDo gridDo = new CabinetGridDo();
@@ -143,9 +144,26 @@
addList.add(gridDo);
}
}
+ if(oldMap.size()>0) {
+ CabinetGridDo[] dels = new CabinetGridDo[oldMap.size()];
+ int i=0;
+ for (String key : oldMap.keySet()) {
+ dels[i] = oldMap.get(key);
+ i++;
+ }
+ //鍒犻櫎澶氱殑
+ DaoManager.getCabinetGridDao().delete(dels);
+ }
if(addList.size()>0){
DaoManager.getCabinetGridDao().insert(addList);
}
+
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null){
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵1锛�"+gridDo.getCurKeyCode()));
+ }
+
if(updateList.size()>0){
CabinetGridDo[] upList = new CabinetGridDo[updateList.size()];
for(int i=0;i<updateList.size();i++){
@@ -262,13 +280,6 @@
return DaoManager.getCabinetGridDao().getOpenGrids();
}
- public void insertGrids(List<CabinetGridDo> addList){
- if(addList.size()>0){
- DaoManager.getCabinetGridDao().insert(addList);
- }
- addInfo("鏇存柊搴撴暟鎹�:鏂板" + addList.size());
- }
-
public void updateGrids(List<CabinetGridDo> updateList){
if(updateList.size()>0){
CabinetGridDo[] upList = new CabinetGridDo[updateList.size()];
@@ -340,7 +351,7 @@
public void addInfo(String info){
String s = infoObs.get();
- s+=info+"\n";
+ s=info+"\n"+s;
infoObs.set(s);
}
}
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CircularQueue.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CircularQueue.java
new file mode 100644
index 0000000..ca9ba11
--- /dev/null
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CircularQueue.java
@@ -0,0 +1,27 @@
+package com.doumee.keyCabinet.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+// 椤哄簭闃熷垪绀轰緥锛堝惊鐜槦鍒�,鍏堣繘鍚庡嚭锛�
+public class CircularQueue {
+ List<String> list = new ArrayList<>(10);
+
+ public void enqueue(String element){
+ if(list.size()==10){
+ list.remove(0);
+ }
+ list.add(element);
+ }
+
+ public String dequeue(){
+ //浠庢渶鍚庡彇
+ if(list.size()==0){
+ return null;
+ }
+ String element = list.get(list.size()-1);
+ list.remove(list.size()-1);
+ return element;
+ }
+}
+
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/face/FaceSDKManager.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/face/FaceSDKManager.java
index ce130a4..1849b2c 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/face/FaceSDKManager.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/face/FaceSDKManager.java
@@ -8,6 +8,7 @@
import com.baidu.idl.main.facesdk.license.BDFaceLicenseAuthInfo;
import com.baidu.idl.main.facesdk.model.BDFaceSDKCommon;
import com.baidu.idl.main.facesdk.utils.PreferencesUtil;
+import com.doumee.lib_coremodel.view.ToastView;
import com.example.datalibrary.listener.SdkInitListener;
import com.example.datalibrary.utils.ToastUtils;
@@ -59,7 +60,7 @@
// 濡傛灉licenseKey 涓嶅瓨鍦ㄦ彁绀烘巿鏉冪爜涓虹┖锛屽苟璺宠浆鎺堟潈椤甸潰鎺堟潈
if (TextUtils.isEmpty(licenseOfflineKey) && TextUtils.isEmpty(licenseOnlineKey)
&& TextUtils.isEmpty(licenseBatchlineKey)) {
- ToastUtils.toast(context, "鏈巿鏉冭澶囷紝璇峰畬鎴愭巿鏉冩縺娲�");
+ ToastView.show(context, "鏈巿鏉冭澶囷紝璇峰畬鎴愭巿鏉冩縺娲�");
if (listener != null) {
listener.initLicenseFail(-1, "鎺堟潈鐮佷笉瀛樺湪锛岃閲嶆柊杈撳叆锛�");
}
diff --git a/keyCabinet-android/app/src/main/res/layout/face_activity.xml b/keyCabinet-android/app/src/main/res/layout/face_activity.xml
index af37448..53880b2 100644
--- a/keyCabinet-android/app/src/main/res/layout/face_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/face_activity.xml
@@ -482,7 +482,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:background="@color/white"
- android:visibility="gone">
+ android:visibility="visible">
+
+ <EditText
+ android:id="@+id/et_ewm"
+ android:layout_width="100dp"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:inputType="number"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:background="@null"
+ android:layout_marginTop="20dp"
+ />
<View
android:id="@+id/v_c_sl"
@@ -685,17 +698,43 @@
</androidx.constraintlayout.widget.ConstraintLayout>
-
- <EditText
- android:id="@+id/et_ewm"
- android:layout_width="100dp"
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/cl_jiujin_progress"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text=""
+ android:background="@drawable/shape_jiujin_ok"
+ android:paddingLeft="80dp"
+ android:paddingRight="80dp"
+ android:paddingTop="50dp"
+ android:paddingBottom="50dp"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- android:background="@null"
- />
+ android:visibility="gone">
+
+ <pl.droidsonroids.gif.GifImageView
+ android:id="@+id/img_progress"
+ android:layout_width="150dp"
+ android:layout_height="150dp"
+ android:src="@mipmap/zhuanquan"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ android:layout_marginBottom="30dp"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="妫�娴嬩腑"
+ android:textColor="#ffffffff"
+ android:textSize="33sp"
+ app:layout_constraintTop_toBottomOf="@+id/img_progress"
+ android:layout_marginTop="10dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"/>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
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 d5bed45..36f24dc 100644
--- a/keyCabinet-android/app/src/main/res/layout/main_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/main_activity.xml
@@ -365,7 +365,7 @@
<androidx.core.widget.NestedScrollView
android:id="@+id/nsv"
android:layout_width="match_parent"
- android:layout_height="200dp"
+ android:layout_height="700dp"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/white"
android:visibility="gone">
@@ -384,23 +384,26 @@
</TextView>
- <TextView
- android:id="@+id/tv11"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="娓呯┖"
- android:textColor="#ff279baa"
- android:textSize="20sp"
- android:textStyle="bold"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:commandType="@{55}"
- app:onClickCommand="@{model.myTypeCommand}"/>
+
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
+ <TextView
+ android:id="@+id/tv11"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="娓呯┖"
+ android:textColor="#ff279baa"
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:commandType="@{55}"
+ app:onClickCommand="@{model.myTypeCommand}"/>
+
<ImageView
android:id="@+id/img"
android:layout_width="50dp"
diff --git a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml
index 20f9de2..01997ec 100644
--- a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml
+++ b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml
@@ -37,6 +37,18 @@
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:paddingBottom="9dp"/>
+ <TextView
+ android:id="@+id/tv3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@{data.keyCode}"
+ android:textColor="#ff279baa"
+ android:textSize="14sp"
+ app:layout_constraintTop_toBottomOf="@+id/tv2"
+ app:layout_constraintStart_toStartOf="parent"
+ android:layout_marginLeft="15dp"
+ android:layout_marginTop="10dp"
+ android:paddingBottom="9dp"/>
<ImageView
android:layout_width="45dp"
diff --git a/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml b/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
index 25c4fab..c40e433 100644
--- a/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
@@ -32,7 +32,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30s"
- android:textColor="#ff279baa"
+ android:textColor="@color/white"
android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="33dp"
@@ -88,7 +88,7 @@
android:layout_width="0dp"
android:layout_height="75dp"
android:background="@null"
- android:text="15055153182"
+ android:text="18656077929"
android:textColor="#111111"
android:hint="璇疯緭鍏ョ櫥褰曡处鍙�"
android:textColorHint="#999999"
@@ -138,7 +138,7 @@
android:layout_width="0dp"
android:layout_height="75dp"
android:background="@null"
- android:text="123456a"
+ android:text="Whyc2025"
android:hint="璇疯緭鍏ヨ处鍙峰瘑鐮�"
android:textColorHint="#999999"
android:textSize="24sp"
@@ -186,7 +186,7 @@
android:id="@+id/tv_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="NO锛�28228293837"
+ android:text="NO锛�"
android:textColor="#b3ffffff"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
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 406da30..f2ea06b 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
@@ -1,6 +1,9 @@
package com.doumee.ticketmachine;
+import com.doumee.keyCabinet.MApplication;
+import com.doumee.keyCabinet.utils.CircularQueue;
import com.doumee.keyCabinet.utils.i485.SportUtils;
+import com.example.datalibrary.utils.ToastUtils;
import org.junit.Test;
@@ -12,12 +15,14 @@
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
- String s = "Result:12.00mg/100ml";
- Pattern pattern = Pattern.compile("([0-9]+\\.[0-9]+)");
- Matcher matcher = pattern.matcher(s);
- if (matcher.find()) {
- System.out.println(matcher.group(1)); // 杈撳嚭: 12.00
+ CircularQueue queue = new CircularQueue();
+ for(int i=0;i<3;i++){
+ queue.enqueue(i+"");
}
+ System.out.println(queue.dequeue());
+ System.out.println(queue.dequeue());
+ System.out.println(queue.dequeue());
+ System.out.println(queue.dequeue());
}
diff --git a/keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/utils/ToastUtils.java b/keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/utils/ToastUtils.java
index 36e3fa7..4cfb695 100644
--- a/keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/utils/ToastUtils.java
+++ b/keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/utils/ToastUtils.java
@@ -13,7 +13,7 @@
handler.post(new Runnable() {
@Override
public void run() {
- Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
+ Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
});
}
@@ -22,7 +22,7 @@
handler.post(new Runnable() {
@Override
public void run() {
- Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
+ Toast.makeText(context, resId, Toast.LENGTH_LONG).show();
}
});
}
diff --git a/keyCabinet-android/lib_coremodel/src/main/res/layout/toast_view.xml b/keyCabinet-android/lib_coremodel/src/main/res/layout/toast_view.xml
index 76cde9e..59e1211 100644
--- a/keyCabinet-android/lib_coremodel/src/main/res/layout/toast_view.xml
+++ b/keyCabinet-android/lib_coremodel/src/main/res/layout/toast_view.xml
@@ -3,7 +3,9 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:gravity="center"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:focusable="false"
+ android:focusableInTouchMode="false">
<TextView
android:layout_width="wrap_content"
--
Gitblit v1.9.3