From cfd058531ac72f728028f141102ddb9743a8568f Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期六, 14 三月 2020 21:31:03 +0800
Subject: [PATCH] 如果设备未登录则不发送心跳消息和位置消息等其他一切消息(不包括注册和鉴权消息);鉴权时间戳修改为秒,然后des加密进行发送;0206位置消息,再收到rtk_info的时候进行控制发送,如果移到MessageProcesser app崩溃,MessageManager.get()抛异常动态长度字段和依赖字段只能有一个,暂时先不改,后边有时间再改
---
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 35 ++++++++++++++++++++++++++++-------
1 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
index 7b6f11f..3b85264 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -75,10 +75,12 @@
SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,des);
JKMessage0101 jkMessage0101 = new JKMessage0101();
// jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des;
- int time =(int) System.currentTimeMillis();
- jkMessage0101.timestamp = time;
- byte[] miwen =Utils.encrypt(ByteUtil.intGetBytes(time),des);
- MyLog.i(PlatFormConstant.TAG,"閴存潈瀵嗘枃="+BytesUtils.bytesToHexString(miwen)+" time="+time);
+ long time =System.currentTimeMillis()/1000;
+ int unsignedInt = Utils.parseUnsignedInt(String.valueOf(time),10);
+ MyLog.i(String.format("鎬荤鏁�(long)=%d,瑁呮崲鎴恥nsigned int= %d",time,unsignedInt));
+ jkMessage0101.timestamp = unsignedInt;
+ byte[] miwen =Utils.encrypt(ByteUtil.intGetBytes(unsignedInt),des);
+ MyLog.i(PlatFormConstant.TAG,"閴存潈瀵嗘枃="+BytesUtils.bytesToHexString(miwen)+" time="+unsignedInt);
jkMessage0101.des = BytesUtils.bytesToHexString(miwen);
sendMessage(jkMessage0101);
ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED);
@@ -92,6 +94,7 @@
MyLog.i(PlatFormConstant.TAG,"閴存潈鎴愬姛");
ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_LOGIN);
}else{
+ MyLog.i(PlatFormConstant.TAG,"鏀跺埌浜嗛壌鏉冩秷鎭紝浣嗛壌鏉冧笉鎴愬姛");
ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_NOT_LOGIN);
}
}else if (jk2019MessageBase instanceof JKMessage8201){
@@ -112,11 +115,29 @@
@Override
public void run() {
- if (IMSClientBootstrap.getInstance().isActive()){
- IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+
+
+ if ( ExamPlatformData.getInstance().getExamplatformStatus() == ExamPlatformData.DEV_LOGIN){
+ if (IMSClientBootstrap.getInstance().isActive()){
+ IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+ }else{
+ Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ }
}else{
- Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ JK2019MessageBase jk2019MessageBase = MessageManager.get(msg.toString());
+ if ((jk2019MessageBase instanceof JKMessage0100) || (jk2019MessageBase instanceof JKMessage0101)){
+
+ if (IMSClientBootstrap.getInstance().isActive()){
+ IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+ }else{
+ Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ }
+ }else{
+ MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+BytesUtils.bytesToHexString(ByteUtil.intGetBytes(jk2019MessageBase.messageId)));
+ }
}
+
+
}
});
}
--
Gitblit v1.8.0