| | |
| | | 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; |
| | |
| | | private int status; |
| | | |
| | | private int ysDownCount = 10; |
| | | private boolean isChose; |
| | | |
| | | @Override |
| | | public int getLayoutId() { |
| | |
| | | adapter = new CabinetRcvAdapter(this, R.layout.cabinet_rcv_item, new CabinetRcvAdapter.OnItemClick() { |
| | | @Override |
| | | public void onItemClick(KeyCabinetBean item) { |
| | | if(isChose){ |
| | | return; |
| | | } |
| | | selectBean = item; |
| | | } |
| | | }); |
| | |
| | | Toast.makeText(mContext, "请选择柜门", Toast.LENGTH_SHORT).show(); |
| | | return; |
| | | } |
| | | if(isChose){ |
| | | return; |
| | | } |
| | | isChose = true; |
| | | if(isOpening){ |
| | | return; |
| | | } |
| | |
| | | isOpening = false; |
| | | //开启成功 |
| | | status=1; |
| | | if("0".equals(flag)) { |
| | | if(flag==0) { |
| | | getDB().imgTip2.setImageResource(R.mipmap.ic_notclose_key); |
| | | getDB().tvTip22.setText("请领取钥匙后关闭柜门"); |
| | | }else { |
| | |
| | | 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: |
| | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | handler.removeCallbacksAndMessages(null); |
| | | handler = null; |
| | | } |
| | | |
| | | private String openTime = ""; |
| | |
| | | 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) { |
| | | //开门成功 |
| | |
| | | } |
| | | } |
| | | |
| | | 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())) { |
| | |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| | | |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | }; |
| | | } |