keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/FaceUserBean.java
@@ -8,7 +8,7 @@ private Integer memberId; private String memberName; //0:管çåï¼1ï¼ç¨æ· //0:管çåï¼1ï¼å¸æº private String groupId; private boolean checked; keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/OpenErrEvent.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.doumee.keyCabinet.event; public class OpenErrEvent { private String key; public OpenErrEvent(String key) { this.key = key; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/event/OpenGridEvent.java
@@ -5,12 +5,25 @@ private String channelCode; //æ¿å· private String boardCode; private String key; public OpenGridEvent(String channelCode, String boardCode) { this.channelCode = channelCode; this.boardCode = boardCode; } public OpenGridEvent(String key) { this.key = key; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getChannelCode() { return channelCode; } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java
@@ -61,7 +61,7 @@ * è·åICå¡ç¨æ·ä¸»é® - 叿º */ @POST("visitsAdmin/cloudService/web/cabinet/getMemberIdByCode") Observable<BaseResponse<Integer>> getMemberIdByCode(@Query("code")String code); Observable<BaseResponse<Integer>> getMemberIdByCode(@Body RequestBody requestBody); /** * é ç²¾æ£æµåè¦ keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/AlcoholTestAlarmParam.java
@@ -1,6 +1,8 @@ package com.doumee.keyCabinet.http.param; public class AlcoholTestAlarmParam { //æåid private Integer cabinetId; //ä¼åid private Integer memberId; private String alcoholNum; @@ -20,4 +22,12 @@ public void setAlcoholNum(String alcoholNum) { this.alcoholNum = alcoholNum; } public Integer getCabinetId() { return cabinetId; } public void setCabinetId(Integer cabinetId) { this.cabinetId = cabinetId; } } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/param/GetMemberIdByCodeParam.java
@@ -1,11 +1,9 @@ package com.doumee.keyCabinet.http.param; public class GetMemberIdByCodeParam { //å ³è人åç±»åï¼0=叿ºï¼1=æ ¡éªäººå private Integer userType; private String code; public GetMemberIdByCodeParam(String code) { this.code = code; } public String getCode() { return code; @@ -14,4 +12,12 @@ public void setCode(String code) { this.code = code; } public Integer getUserType() { return userType; } public void setUserType(Integer userType) { this.userType = userType; } } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/AddFaceVM.java
@@ -51,13 +51,13 @@ List<FaceUserBean> datas = new ArrayList<>(); if(faceBean!=null&&faceBean.getAutoFaceList()!=null){ for(FaceUserBean bean:faceBean.getAutoFaceList()){ bean.setGroupId("1"); bean.setGroupId("0"); } datas.addAll(faceBean.getAutoFaceList()); } if(faceBean!=null&&faceBean.getDriverFaceList()!=null){ for(FaceUserBean bean:faceBean.getDriverFaceList()){ bean.setGroupId("0"); bean.setGroupId("1"); } datas.addAll(faceBean.getDriverFaceList()); } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -27,6 +27,7 @@ import com.doumee.keyCabinet.base.MyBaseActivity; import com.doumee.keyCabinet.databinding.FaceActivityBinding; import com.doumee.keyCabinet.event.FaceStatusChangeEvent; import com.doumee.keyCabinet.event.HttpEvent; import com.doumee.keyCabinet.event.JiujinBeginEvent; import com.doumee.keyCabinet.event.JiujinResultEvent; import com.doumee.keyCabinet.event.TimeClockEvent; @@ -130,6 +131,7 @@ private void statusFsm(int toStatus){ status = toStatus; isToChose = false; getDB().etEwm.requestFocus(); switch (toStatus){ case 0: //å-管çå人è¸éªè¯ @@ -141,7 +143,6 @@ case 1: //å-管çåå·å¡éªè¯ getDB().etEwm.setText(""); getDB().etEwm.requestFocus(); getDB().tvTitle.setText("管çå身份éªè¯"); getDB().clFace.setVisibility(View.GONE); getDB().clCard.setVisibility(View.VISIBLE); @@ -198,7 +199,7 @@ //å-叿ºé ç²¾æ£æµå¤±è´¥ //Toast.makeText(mContext, "叿ºé ç²¾æ£æµå¤±è´¥", Toast.LENGTH_SHORT).show(); getDB().clJiu.setVisibility(View.GONE); getDB().tvJg1.setText("é ç²¾æ£æµå¼å¸¸ï¼è¯·éæ°æ£æµ"); getDB().tvJg1.setText("é ç²¾æ£æµæä½ä¸å½ï¼è¯·éæ°æ£æµ"); getDB().clTip1.setVisibility(View.VISIBLE); break; case 7: @@ -297,6 +298,14 @@ finish(); } break; case 8: getDB().message.setText(data.getData().get("obj").toString()); getDB().message.setVisibility(View.VISIBLE); handler.sendEmptyMessageDelayed(6,2000); getDB().message.invalidate(); getDB().message.requestLayout(); EventBus.getDefault().post(new HttpEvent("icå¡+++++++"+data.getData().get("type").toString())); break; default: break; } @@ -328,7 +337,7 @@ //icå¡è¯»å getDB().etEwm.requestFocus(); getDB().etEwm.setFocusable(true); getDB().etEwm.setShowSoftInputOnFocus(true); getDB().etEwm.setShowSoftInputOnFocus(false); hideSoftKeyboard(getDB().etEwm); getDB().etEwm.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override @@ -336,6 +345,7 @@ hideSoftKeyboard(getDB().etEwm); } }); getDB().etEwm.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -354,6 +364,8 @@ return; } if(status!=1&&status!=3&&status!=8){ getDB().etEwm.setText(""); getDB().etEwm.requestFocus(); return; } if(handler.hasMessages(5)){ @@ -498,6 +510,8 @@ getVM().alcoholTestAlarm(resultEvent.getConcentration().toString()); //Toast.makeText(mContext, "é ç²¾æ£æµè¶ æ ", Toast.LENGTH_SHORT).show(); statusFsm(9); //忣æµï¼å°å£°é³å ³é EventBus.getDefault().post(new JiujinBeginEvent()); } break; case 4: @@ -515,6 +529,9 @@ } getDB().etEwm.setText(""); getDB().etEwm.requestFocus(); break; case 6: getDB().message.setVisibility(View.GONE); break; default: break; @@ -593,6 +610,7 @@ User user = livenessModel.getUser(); if (user == null) { mUser = null; //EventBus.getDefault().post(new HttpEvent("人è¸ç¨æ·æ£æµå¤±è´¥------->"+(status==0?"管çåäººè¸æ£æµï¼":"叿ºäººè¸æ£æµï¼"))); if (isCompareCheck) { /*getDB().clFail.setVisibility(View.VISIBLE); getDB().tv4.setText(getString(R.string.face_tip2)); @@ -601,6 +619,8 @@ } else { mUser = user; /*EventBus.getDefault().post(new HttpEvent("人è¸ç¨æ·------->"+(status==0?"管çåäººè¸æ£æµï¼":"叿ºäººè¸æ£æµï¼") +(user.getGroupId().equals("0")?"管çå":"叿º")));*/ if (isCompareCheck) { getDB().clFail.setVisibility(View.GONE); if(handler.hasMessages(0)) { @@ -665,6 +685,9 @@ @Subscribe(threadMode = ThreadMode.MAIN) public void JiujinResultEvent(JiujinResultEvent e){ if(!isFinishing()){ if(status!=4&&status!=6){ return; } //Toast.makeText(mContext, "é ç²¾æ£æµè¿åï¼"+e.isOk(), Toast.LENGTH_SHORT).show(); if(!e.isOk()){ getDB().clJiujinProgress.setVisibility(View.GONE); keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceVM.java
@@ -49,8 +49,10 @@ * @param type //0ï¼ç®¡çåï¼1ï¼å¸æº */ public void getMemberIdByCode(String code,String type){ //showLoading(true); getRetrofitService(Apis.class).getMemberIdByCode(code) GetMemberIdByCodeParam param = new GetMemberIdByCodeParam(); param.setUserType("0".equals(type)?1:0); param.setCode(code); getRetrofitService(Apis.class).getMemberIdByCode(ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver<BaseResponse<Integer>>(rxJavaGcManager) { @Override @@ -70,7 +72,7 @@ } } }else { //toast(response.getMessage()); doAction(8,response.getMessage()); } } @@ -92,6 +94,7 @@ */ public void alcoholTestAlarm(String data){ AlcoholTestAlarmParam param = new AlcoholTestAlarmParam(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setMemberId(MApplication.getLoginBean().getMemberId()); param.setAlcoholNum(data); showLoading(true); keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/adapter/FaceUserAdapter.java
@@ -69,7 +69,7 @@ // æ·»å æ°æ® holder.text_user_ctime.setText(mList.get(position).getId()+""); holder.textUserName.setText(mList.get(position).getUserName()); holder.textSf.setText(mList.get(position).getGroupId().equals("0")? holder.textSf.setText(mList.get(position).getGroupId().equals("1")? MApplication.mContext.getString(R.string.face_hy) :MApplication.mContext.getString(R.string.face_xy)); FrescoUtils.displayImageFresco(mList.get(position).getImageName(),holder.circleUserHead); } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ChangeUrlActivity.java
@@ -45,7 +45,7 @@ @Override public void initData(@Nullable Bundle savedInstanceState) { getDB().etUrl.setText(SpUtil.getString("base_url", Apis.HTTP)); getDB().etTime.setText(SpUtil.getInt("loop_time",30)+""); getDB().etTime.setText(SpUtil.getInt("loop_time",60)+""); } @Override @@ -57,7 +57,9 @@ ToastView.show(MApplication.mContext,"æ¥å£å°åä¸è½ä¸ºç©º"); return; } if(!url.startsWith("http://")||!url.startsWith("https://")||!url.endsWith("/")){ if((url.startsWith("http://")||url.startsWith("https://"))&&url.endsWith("/")){ //æ£ç¡® }else { ToastView.show(MApplication.mContext,"æ¥å£å°åé误"); return; } 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; } } }; } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
@@ -1,10 +1,13 @@ package com.doumee.keyCabinet.ui.keyCabinet; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.SpannableString; import android.text.Spanned; import android.text.TextUtils; @@ -14,6 +17,7 @@ import android.widget.TextView; import android.widget.Toast; import com.doumee.keyCabinet.MApplication; import com.doumee.keyCabinet.R; import com.doumee.keyCabinet.base.MyBaseActivity; import com.doumee.keyCabinet.bean.ManageKeyCabinetBean; @@ -27,6 +31,7 @@ import com.doumee.keyCabinet.event.KeyResultEvent; import com.doumee.keyCabinet.event.ManageOpenGridResultEvent; import com.doumee.keyCabinet.event.OpenAllGridEvent; import com.doumee.keyCabinet.event.OpenErrEvent; import com.doumee.keyCabinet.event.OpenGridEvent; import com.doumee.keyCabinet.event.OpenGridListEvent; import com.doumee.keyCabinet.event.OpenGridOneResultEvent; @@ -37,6 +42,7 @@ import com.doumee.lib_coremodel.util.RecyclerHelp; import com.doumee.lib_coremodel.util.StringUtil; import com.example.datalibrary.db.DBManager; import com.innohi.YNHAPI; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -100,6 +106,15 @@ } }); getVM().getCabinetDetail(); getDB().tvTitle.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { //å¯ä»¥ä¸æ YNHAPI mAPI = YNHAPI.getInstance(); mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); return true; } }); } private void updateBtnStatus(){ @@ -526,15 +541,14 @@ } } private String sygKey; @Subscribe public void OpenGridOneResultEvent(OpenGridOneResultEvent e){ if(!isFinishing()){ //å¼é¨æåï¼ç§»é¤å¼é¨ if(handler.hasMessages(1)){ handler.removeMessages(1); } 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)+"")); @@ -542,6 +556,8 @@ } } private Long keyTime; private HashMap<String,String> closeMap = new HashMap<>(); /** * å ³é¨ * @param e @@ -549,12 +565,23 @@ @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); } //å ³é¨æåï¼ç§»é¤å¼é¨ 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); closeMap.put(e.getKey(),""); /*111 //æ ¡éªå¡å· CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey()); if(gridDo!=null){ @@ -580,20 +607,51 @@ } } } EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å ³éæå==>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å ³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); getVM().closeGrid(gridDo); }*/ } } @Subscribe(threadMode= ThreadMode.MAIN) public void OpenErrEvent(OpenErrEvent e){ //å¼é¨å¤±è´¥ if(!isFinishing()){ //å¼é¨ if(handler.hasMessages(1)){ handler.removeMessages(1); } EventBus.getDefault().post(new OpenGridEvent(e.getKey())); Message msg = Message.obtain(); msg.what=1; msg.obj = e.getKey(); handler.sendMessageDelayed(msg,1000); } } @Subscribe public void KeyResultEvent(KeyResultEvent e){ if(!isFinishing()){ //æ ¡éªæ¶é´ if(keyTime==null){ return; } if(keyTime!=null&&keyTime>System.currentTimeMillis()){ //æ ¡éªè¿åæ¶é´<å½ä»¤æ¶é´ return; } if(handler.hasMessages(0)){ handler.removeMessages(0); } HashMap<String,String> copyMap = new HashMap<>(); copyMap.putAll(closeMap); closeMap.clear(); //æ ¡éªå¡å·ä¸å¯¹çï¼ç´æ¥å¼¹åº List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll(); List<String> keys = new ArrayList<>(); StringBuilder sb = new StringBuilder(); for(CabinetGridDo gridDo:gridDos){ boolean isFail = false; if(TextUtils.isEmpty(gridDo.getGridKey())){ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&&gridDo.getIsOpen()==0){ //æªç»å®çåæ¾äºé¥å @@ -602,6 +660,7 @@ sb.append("ã"); } sb.append(gridDo.getCabinetName()); isFail = true; } }else { if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){ @@ -612,7 +671,15 @@ sb.append("ã"); } sb.append(gridDo.getCabinetName()); isFail = true; } } } if(!isFail){ if(copyMap.containsKey(gridDo.getGridKey())){ //å ³é¨æå EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å ³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); getVM().closeGrid(gridDo); } } } @@ -625,4 +692,31 @@ } } } @Override protected void onDestroy() { super.onDestroy(); handler.removeCallbacksAndMessages(null); handler = null; } 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((String) msg.obj)); handler.sendEmptyMessageDelayed(1,1000); break; default: break; } } }; } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
@@ -296,7 +296,7 @@ @Override public void onNext(@NonNull BaseResponse response) { if(response.getCode()==200){ EventBus.getDefault().post(new HttpEvent("å ³éææ ¼æ¥å£æå")); EventBus.getDefault().post(new HttpEvent("å ³éææ ¼æ¥å£æå:"+gridDo.getCurKeyCode())); getCabinetDetail(); doAction(11); } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginActivity.java
@@ -11,12 +11,14 @@ import android.widget.Toast; import com.doumee.keyCabinet.BuildConfig; import com.doumee.keyCabinet.MApplication; import com.doumee.keyCabinet.R; import com.doumee.keyCabinet.base.MyBaseActivity; import com.doumee.keyCabinet.databinding.ManageLoginActivityBinding; import com.doumee.keyCabinet.event.TimeClockEvent; import com.doumee.keyCabinet.utils.LMobileInfo; import com.doumee.lib_coremodel.bean.event.ActionEventData; import com.innohi.YNHAPI; import org.greenrobot.eventbus.Subscribe; @@ -44,7 +46,18 @@ getDB().tvNo.setText("NOï¼"+ LMobileInfo.getDeviceUniqueId()); getDB().tvV.setText("V"+ BuildConfig.VERSION_NAME); getDB().tv1.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { if(MApplication.getConfigBean().getId()==null){ //å¯ä»¥ä¸æ YNHAPI mAPI = YNHAPI.getInstance(); mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); return true; } return false; } }); } @Override keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.PixelFormat; import android.graphics.drawable.BitmapDrawable; import android.hardware.Camera; import android.opengl.Visibility; @@ -20,6 +21,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; @@ -60,6 +62,7 @@ import com.doumee.keyCabinet.event.KeyResultEvent; import com.doumee.keyCabinet.event.ManageOpenGridResultEvent; import com.doumee.keyCabinet.event.OpenAllGridEvent; import com.doumee.keyCabinet.event.OpenErrEvent; import com.doumee.keyCabinet.event.OpenGridEvent; import com.doumee.keyCabinet.event.OpenGridListEvent; import com.doumee.keyCabinet.event.OpenGridOneResultEvent; @@ -109,6 +112,7 @@ import com.example.datalibrary.model.User; import com.example.datalibrary.utils.ToastUtils; import com.example.datalibrary.view.PreviewTexture; import com.innohi.YNHAPI; import com.yanzhenjie.permission.runtime.Permission; import org.greenrobot.eventbus.EventBus; @@ -171,8 +175,21 @@ getVM().getFaceLD(); } getVM().upBraceletLog();*/ case 1: if(isShowing) { EventBus.getDefault().post(new OpenGridEvent((String) msg.obj)); handler.sendEmptyMessageDelayed(1, 1000); } break; case 2: if(isShowing){ //éæ°åéé¥åæ¥è¯¢ //åéæ¥è¯¢é¥åå· EventBus.getDefault().post(new GetKeyStatusEvent()); handler.sendEmptyMessageDelayed(2,1200); } break; default: break; } } @@ -270,7 +287,7 @@ lastDownTime1 = System.currentTimeMillis(); downCount1++; System.out.println(); Timber.tag("==>").d(""+downCount1); //Timber.tag("==>").d(""+downCount1); if(downCount1>4) { downCount1=0; lastDownTime1=null; @@ -296,14 +313,7 @@ } } }); getDB().tvVersion.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //todo 临æ¶ä»£ç  //setJiuConfig(); SpUtil.saveString("rbgCameraId","0"); } }); getDB().imgLeft.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -458,6 +468,8 @@ protected void onResume() { super.onResume(); isShowing = true; YNHAPI mAPI = YNHAPI.getInstance(); mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.ALWAYS_INVISIBLE); showTime = System.currentTimeMillis(); if(!isFaceOk) { initLicense(); @@ -773,7 +785,63 @@ waitBeans.clear(); selectBeans.addAll(userBeans); finishCount=0; faceHandler.sendEmptyMessage(0); /*//å é¤å ¨é¨ FaceApi.getInstance().userClean(); faceHandler.sendEmptyMessage(0);*/ HashMap<String,String> uMap = new HashMap<>(); for(FaceUserBean d:selectBeans){ String key = d.getMemberId().toString()+"_"+d.getGroupId(); uMap.put(key,""); } //å é¤ä¸åå¨ç¨æ· List<User> users = FaceApi.getInstance().getAllUserList(); List<User> dels = new ArrayList<>(); for(User u:users){ String key = u.getUserId()+"_"+u.getGroupId(); if(!uMap.containsKey(key)){ dels.add(u); } } if(dels.size()>0){ UserInfoManager.getInstance().deleteUserListInfo(dels, "", new UserInfoManager.UserInfoListener() { @Override public void userListDeleteSuccess() { // ç¨æ·å表å 餿å faceHandler.sendEmptyMessage(0); } @Override public void userListDeleteFailure(String message) { // ç¨æ·å表å é¤å¤±è´¥ faceHandler.sendEmptyMessage(0); } }, new DBLoadListener() { @Override public void onStart(int successCount) { } @Override public void onLoad(int finishCount, int successCount, float progress) { } @Override public void onComplete(List<User> features, int successCount) { } @Override public void onFail(int finishCount, int successCount, List<User> features) { } }); }else { faceHandler.sendEmptyMessage(0); } } } @@ -1041,14 +1109,21 @@ } } private UpdateUtil updateUtil; private void checkUpdate(){ //çæ¬æ´æ° new UpdateUtil(this).setShowToast(false).getServerVerCode(new UpdateUtil.VersionCallBack() { @Override public void isNeedUpdate(boolean isUpdate) { isUpdateVersion = isUpdate; } }); if(updateUtil==null){ updateUtil = new UpdateUtil(this); updateUtil.setShowToast(false); } if(!updateUtil.isShowing()){ updateUtil.getServerVerCode(new UpdateUtil.VersionCallBack() { @Override public void isNeedUpdate(boolean isUpdate) { isUpdateVersion = isUpdate; } }); } } private PermissiondDialog permissiondDialog; @@ -1080,7 +1155,7 @@ } private int tipDownCount = 10; private int loopDownCount = 30; private int loopDownCount = 60; private boolean isShowTip; @Subscribe public void TimeClockEvent(TimeClockEvent e){ @@ -1095,9 +1170,10 @@ } } if(loopDownCount==0){ loopDownCount = SpUtil.getInt("loop_time",30); loopDownCount = SpUtil.getInt("loop_time",60); //宿¶æååºæ¬ä¿¡æ¯ getVM().devLogin(); getPermission(); }else { loopDownCount--; } @@ -1112,8 +1188,12 @@ public void OpenGridEvent(OpenGridEvent e){ if(!isFinishing()){ //å¼å¯æé¨ String code = "8A"+SportUtils.intToHex(Integer.parseInt(e.getBoardCode())) +SportUtils.intToHex(Integer.parseInt(e.getChannelCode()))+"11"; String key = e.getKey(); if(TextUtils.isEmpty(key)) { key = SportUtils.intToHex(Integer.parseInt(e.getBoardCode())) + SportUtils.intToHex(Integer.parseInt(e.getChannelCode())); } String code = "8A" + key + "11"; code += SportUtils.getBCC(code); send485(0,code); } @@ -1176,38 +1256,6 @@ } } @Subscribe public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ if(!isFinishing()&&isShowing){ //å¨é¦é¡µï¼æ ¡éªå ³é¨çé¥åæ¯å¦å¹é  if (e.getIsOpen() == 0) { //å ³é¨æå //æ¥è¯¢é¥åå· CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey()); if (gridDo != null) { getVM().addInfo("æ¯è¾é¥åï¼å½åï¼"+gridDo.getCurKeyCode()+", å ³èé¥åï¼"+gridDo.getKeyCode()); 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(e.getKey().substring(2,4), 16)+"", Integer.parseInt(e.getKey().substring(0,2), 16)+"")); }else { if(isShowTip){ doRegister(5,null); } if(isShowing){ //å¨é¦é¡µå ³é¨æåï¼éè°ç¨å ³é¨æ¹æ³ getVM().closeGrid(gridDo); } } } } } } private SerialPortModel gridPort; private SerialPortReadObserver gridReadObserver = new SerialPortReadObserver() { @Override @@ -1267,30 +1315,18 @@ 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) + "")); } } EventBus.getDefault().post(new OpenErrEvent(key)); }else { //å¼é¨æå //å¼é¨è¿å EventBus.getDefault().post(new OpenGridOneResultEvent(key,"00".equals(open)?1:0)); } } //å¼é¨è¿å EventBus.getDefault().post(new OpenGridOneResultEvent(key,"00".equals(open)?1:0)); }else if(data.length()==16){ //æ¹é //8A 02 00 00 00 00 11 99 @@ -1314,14 +1350,6 @@ updateList.add(gridDo); } } runOnUiThread(() -> { getVM().addInfo("æ¹éå¼é¨æ´æ°åºæ°æ®:çå·ï¼" +bh+","+updateList.size()); }); //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()); @@ -1341,9 +1369,6 @@ 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); } //å ³é¨è¿å @@ -1393,12 +1418,6 @@ 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){ @@ -1451,7 +1470,7 @@ keyPreviousData = data; }else if(data.startsWith("CC02")){ runOnUiThread(() -> { getVM().addInfo("è·åå°é¥åæ°æ®:" + data); //getVM().addInfo("è·åå°é¥åæ°æ®:" + data); jxKey(data); }); keyPreviousData = null; @@ -1459,7 +1478,7 @@ if(!TextUtils.isEmpty(keyPreviousData)){ String data2 = keyPreviousData+data; runOnUiThread(() -> { getVM().addInfo("è·åå°é¥åæ°æ®:" + data2); //getVM().addInfo("è·åå°é¥åæ°æ®:" + data2); if(data2.contains("CC01")&&data2.contains("CC02")){ String[] sp = data2.split("CC02"); if(sp.length==2){ @@ -1552,12 +1571,9 @@ } 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"))); }); if(data.contains("blow fail")){ //æ£æµå¤±è´¥ EventBus.getDefault().post(new JiujinResultEvent(false,null)); @@ -1691,18 +1707,35 @@ sendPortHandlerMsg(2,"A002010000000003",time+400); } private String jiu_blow; private String jiu_mic_ad; private String jiu_alarm; private String jiu_unit; private void setJiuConfig(long time){ CabinetConfigDataBean config = MApplication.getConfigBean().getCabinetConfigDataVO(); //è®¾ç½®å¹æ°æ¶é´ sendPortHandlerMsg(3,"blow:"+config.getBlowTime(),time+100); //ååå¼ sendPortHandlerMsg(3,"mic_ad:"+config.getPressure(),time+300); //æµåº¦éå¼ sendPortHandlerMsg(3,"alarm:"+config.getConcentration(),time+600); //æµåº¦éå¼åä½ (1=mg/100ml;2=mg/L;3=%BAC) sendPortHandlerMsg(3,"unit:"+config.getThreshold(),time+900); sendPortHandlerMsg(3,"read"+config.getThreshold(),time+1200); if(!config.getBlowTime().equals(jiu_blow)) { //è®¾ç½®å¹æ°æ¶é´ jiu_blow = config.getBlowTime(); sendPortHandlerMsg(3, "blow:" + config.getBlowTime(), time += 100); } if(!config.getPressure().equals(jiu_mic_ad)) { //ååå¼ jiu_mic_ad = config.getPressure(); sendPortHandlerMsg(3, "mic_ad:" + config.getPressure(), time += 300); } if(!config.getConcentration().equals(jiu_alarm)) { //æµåº¦éå¼ jiu_alarm = config.getConcentration(); sendPortHandlerMsg(3, "alarm:" + config.getConcentration(), time += 300); } if("3".equals(config.getThreshold())){ config.setThreshold("0"); } if(!config.getThreshold().equals(jiu_unit)) { //æµåº¦éå¼åä½ (1=mg/100ml;2=mg/L;3=%BAC) jiu_unit = config.getThreshold(); sendPortHandlerMsg(3, "unit:" + config.getThreshold(), time += 300); } } private void sendPortHandlerMsg(int what,String obj,long time){ @@ -1867,10 +1900,6 @@ runOnUiThread(new Runnable() { @Override public void run() { //todo 廿 if(type==2){ return; } getVM().addInfo("åéæä»¤ï¼"+StringUtil.DateToStrSS(new Date())+"==>"+code); } }); @@ -1937,4 +1966,124 @@ getVM().addInfo("串å£å ¨é¨é¾æ¥æåï¼"); return true; } //å¼é¨ @Subscribe public void OpenGridOneResultEvent(OpenGridOneResultEvent e){ if(!isFinishing()&&isShowing){ //å¼é¨æåï¼ç§»é¤å¼é¨ if(handler.hasMessages(1)){ handler.removeMessages(1); getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); } } } private Long keyTime; private HashMap<String,String> closeMap = new HashMap<>(); /** * å ³é¨ * @param e */ @Subscribe(threadMode= ThreadMode.MAIN) public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ if(!isFinishing()&&isShowing){ //å ³é¨æåï¼ç§»é¤å¼é¨ if(handler.hasMessages(1)){ handler.removeMessages(1); getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); } closeMap.put(e.getKey(),""); //åéæ¥è¯¢é¥åå· EventBus.getDefault().post(new GetKeyStatusEvent()); keyTime = new Date().getTime()+500; if(handler.hasMessages(2)){ handler.removeMessages(2); } handler.sendEmptyMessageDelayed(2,1200); } } @Subscribe(threadMode= ThreadMode.MAIN) public void OpenErrEvent(OpenErrEvent e){ //å¼é¨å¤±è´¥ if(!isFinishing()&&isShowing){ //å¼é¨ if(handler.hasMessages(1)){ handler.removeMessages(1); getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); } EventBus.getDefault().post(new OpenGridEvent(e.getKey())); Message msg = Message.obtain(); msg.what=1; msg.obj = e.getKey(); handler.sendMessageDelayed(msg,1000); } } @Subscribe public void KeyResultEvent(KeyResultEvent e){ if(!isFinishing()&&isShowing){ //æ ¡éªæ¶é´ if(keyTime==null){ return; } if(keyTime!=null&&keyTime>System.currentTimeMillis()){ //æ ¡éªè¿åæ¶é´<å½ä»¤æ¶é´ return; } if(handler.hasMessages(2)){ handler.removeMessages(2); } HashMap<String,String> copyMap = new HashMap<>(); copyMap.putAll(closeMap); closeMap.clear(); //æ ¡éªå¡å·ä¸å¯¹çï¼ç´æ¥å¼¹åº List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll(); List<String> keys = new ArrayList<>(); StringBuilder sb = new StringBuilder(); for(CabinetGridDo gridDo:gridDos){ //è¦å¨èå´å if(copyMap.containsKey(gridDo.getGridKey())){ boolean isFail = false; 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()); isFail = true; } }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()); isFail = true; } } } if(!isFail){ //å ³é¨æå EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å ³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); getVM().closeGrid(gridDo); } } } if(sb.length()>0){ ToastView.show(MApplication.mContext, sb.toString() + "é¥ååæ¾ä½ç½®é误"); } if(keys.size()>0){ //å¼é¨ EventBus.getDefault().post(new OpenGridListEvent(keys)); } } } } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
@@ -215,13 +215,13 @@ List<FaceUserBean> datas = new ArrayList<>(); if(faceBean!=null&&faceBean.getAutoFaceList()!=null){ for(FaceUserBean bean:faceBean.getAutoFaceList()){ bean.setGroupId("1"); bean.setGroupId("0"); } datas.addAll(faceBean.getAutoFaceList()); } if(faceBean!=null&&faceBean.getDriverFaceList()!=null){ for(FaceUserBean bean:faceBean.getDriverFaceList()){ bean.setGroupId("0"); bean.setGroupId("1"); } datas.addAll(faceBean.getDriverFaceList()); } keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/update/UpdateUtil.java
@@ -57,6 +57,17 @@ // thread.interrupt(); // } } public boolean isShowing() { if(updateDialog!=null&&updateDialog.isShowing()){ return true; } if(downloadDialog!=null&&downloadDialog.isShowing()){ return true; } return false; } public static interface VersionCallBack{ void isNeedUpdate(boolean isUpdate); } @@ -81,8 +92,8 @@ versionCallBack.isNeedUpdate(true); upgradeurl=data.getFullFileUrl(); updatelog=data.getContent(); newVerName = response.getData().getVersionInfo(); doNewVersionUpdate(true); newVerName = data.getVersionInfo(); doNewVersionUpdate(data.getIsForce()==1); }else { versionCallBack.isNeedUpdate(false); } @@ -117,6 +128,7 @@ } } private UpdateDialog updateDialog; // æ´æ°æ°çæ¬ public void doNewVersionUpdate(boolean type) { StringBuffer sb = new StringBuffer(); @@ -132,14 +144,17 @@ } // sb.append(updatelog+"\n\n\r"); // new UpdateDialog(activity).show(); final UpdateDialog updateDialog = new UpdateDialog(activity); if(updateDialog!=null&&updateDialog.isShowing()){ updateDialog.dismiss(); } updateDialog = new UpdateDialog(activity); updateDialog.setText(sb.toString(),newVerName); updateDialog.setOnOtemListener(new UpdateDialog.UpdialogListener() { @Override public void setOnclickUpdate() { updateDialog.hide(); downloadDialog = new DownloadDialog(activity, upgradeurl); //updateDialog.hide(); /*downloadDialog = new DownloadDialog(activity, upgradeurl); downloadDialog.show(); downloadDialog.setCanceledOnTouchOutside(false); downloadDialog.setUpdateDialog(updateDialog); @@ -156,7 +171,7 @@ } return false; } }); });*/ } @Override keyCabinet-android/app/src/main/res/layout/face_activity.xml
@@ -17,6 +17,18 @@ android:background="@color/white" > <EditText android:id="@+id/et_ewm" android:layout_width="100dp" android:layout_height="wrap_content" android:text="" android:inputType="number" app:layout_constraintTop_toTopOf="@+id/viewBack" app:layout_constraintBottom_toBottomOf="@+id/viewBack" app:layout_constraintStart_toStartOf="parent" android:background="@null" /> <View android:id="@+id/viewBack" android:layout_width="0dp" @@ -482,20 +494,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:background="@color/white" 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" /> android:visibility="gone"> <View android:id="@+id/v_c_sl" @@ -736,5 +735,23 @@ </androidx.constraintlayout.widget.ConstraintLayout> <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/activity_vertical_margin" android:layout_marginRight="@dimen/activity_vertical_margin" android:text="" android:textColor="@color/white" android:textSize="24sp" android:padding="@dimen/activity_horizontal_margin" android:background="@drawable/toast_view_bg" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:gravity="center" android:visibility="gone"/> </androidx.constraintlayout.widget.ConstraintLayout> </layout> keyCabinet-android/app/src/main/res/layout/layout_download.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_width="450dp" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_gravity="center" keyCabinet-android/app/src/main/res/layout/manage_cabinet_rcv_item.xml
@@ -37,18 +37,6 @@ 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" keyCabinet-android/app/src/main/res/layout/ui_update_dialog.xml
@@ -2,7 +2,7 @@ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/rl_root" android:layout_width="match_parent" android:layout_width="450dp" android:layout_height="wrap_content"> <androidx.constraintlayout.widget.ConstraintLayout keyCabinet-android/app/src/main/res/values/strings.xml
@@ -114,8 +114,8 @@ <string name="main_tip3">人è¸åºå 载失败,å ±%1$dæ¡æ°æ®, å·²å è½½%2$dæ¡æ°æ®</string> <string name="main_tip4">模åå è½½æåï¼æ¬¢è¿ä½¿ç¨</string> <string name="main_tip5">模åå 载失败ï¼è¯·å°è¯éå¯åºç¨</string> <string name="face_hy">ä¼å</string> <string name="face_xy">管çå</string> <string name="face_hy">叿º</string> <string name="face_xy">éªè¯äºº</string> <string name="guide_2">è®¾å¤æªç»å½</string> <string name="face_login">人è¸è¯å«ä¸</string> <string name="face_tip1">请æ£è§åæ¹ï¼ä¸è¦é®æ¡è¸é¨</string> keyCabinet-android/datalibrary/src/main/java/com/example/datalibrary/manager/FaceSDKManager.java
@@ -309,15 +309,14 @@ private static BDFaceImageInstance rgbInstance =null; private LivenessModel livenessModel; private String groupId; /** * 0:管çåï¼1ï¼ç¨æ· * @param groupId */ public void setGroupId(String groupId){ if(livenessModel!=null){ livenessModel.setGroupId(groupId); } this.groupId = groupId; } /** * æ£æµ-æ´»ä½-ç¹å¾-äººè¸æ£ç´¢æµç¨ @@ -1215,7 +1214,7 @@ //System.out.println("==isOk==>å¹é å°æ°é"+featureResult.size()); User user = null; Feature topFeature = null; if(TextUtils.isEmpty(livenessModel.getGroupId())){ if(TextUtils.isEmpty(groupId)){ //为空ï¼éè¦æåºï¼ä¼å åä¼å for(Feature feat:featureResult) { threholdScore = bdFaceCheckConfig.scoreThreshold; @@ -1242,7 +1241,7 @@ //System.out.println("==isOk==>50"); // å½åfeatureEntity åªæid+feature ç´¢å¼ï¼å¨æ°æ®åºä¸æ¥å°å®æ´ä¿¡æ¯ User userOld = FaceApi.getInstance().getUserListById(feat.getId()); if(livenessModel.getGroupId().equals(userOld.getGroupId())){ if(groupId.equals(userOld.getGroupId())){ user = userOld; topFeature = feat; break; keyCabinet-android/lib_coremodel/src/main/java/com/doumee/lib_coremodel/base/BaseViewModel.java
@@ -228,6 +228,10 @@ actionEvent.setValue(new ActionEventData(type)); } public void doAction(int type,String obj){ actionEvent.setValue(new ActionEventData(type,obj)); } public LifecycleOwner getLifecycleOwner() { return lifecycleOwner; } keyCabinet-android/lib_coremodel/src/main/java/com/doumee/lib_coremodel/bean/event/ActionEventData.java
@@ -28,6 +28,13 @@ this.data.put("type",type); } public ActionEventData(int type,String obj){ this.action = ActionEvent.Action.DO; this.data = new HashMap<>(); this.data.put("type",type); this.data.put("obj",obj); } public ActionEventData(int action,Object value) { this.action = action; this.data = new HashMap<>(); keyCabinet-android/lib_coremodel/src/main/res/values/colors.xml
@@ -8,4 +8,5 @@ <color name="line">#E5E5E5</color> <color name="bg">#fff4f6f9</color> <color name="f7">#F7F7F7</color> <color name="dialog_bg">#80000000</color> </resources>