From d12bcd5acd046d5021072587b4e95c020948e0be Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 23 三月 2020 10:57:20 +0800
Subject: [PATCH] 平台消息基类取电话号码,删除子类取电话号码的操作;训练模式只发送注册鉴权位置消息,其他不发送;Netty TCP增加重置TCP连接接口;收到单片机sn更新的时候重置tcp
---
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 1
app/src/main/java/safeluck/drive/evaluation/cEventCenter/CEventCenter.java | 4
app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt | 1
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 20 +++---
app/src/main/java/safeluck/drive/evaluation/platformMessage/JK2019MessageBase.java | 3
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 48 ++++++++++++----
app/src/main/java/safeluck/drive/evaluation/app.java | 1
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt | 8 ++
app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 7 +-
app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java | 1
app/src/main/java/safeluck/drive/evaluation/platformMessage/PlatFormConstant.java | 4 +
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 21 +++----
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 2
app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java | 13 ++++
14 files changed, 87 insertions(+), 47 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
index 1c921d3..8c0ce4a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
@@ -12,6 +12,9 @@
import org.json.JSONObject
import safeluck.drive.evaluation.DB.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
+import safeluck.drive.evaluation.bean.ExamPlatformData
+import safeluck.drive.evaluation.im.IMSClientBootstrap
+import safeluck.drive.evaluation.platformMessage.PlatFormConstant
class RTKConfigUpdateWorker(context:Context, workerParams: WorkerParameters) :Worker(context, workerParams){
@@ -21,7 +24,7 @@
override fun doWork(): Result {
var data = inputData.getString(Constant.RTK_CONFIG_UPDATE_JSON)
- Log.i(TAG,"鏇存柊RTK_config imei phone sn="+data)
+ MyLog.i(PlatFormConstant.RTK,"鏇存柊RTK_config imei phone sn="+data)
var imei:String=""
var phone:String=""
var sn:String=""
@@ -29,6 +32,7 @@
var jsonObject: JSONObject? = null
jsonObject = JSONObject(data)
sn = jsonObject.getString(Constant.RTK_CONFIG_SN)
+ ExamPlatformData.getInstance().setPhone(sn);
Log.i(TAG,"sn="+sn)
imei = sn.substring(1)
Log.i(TAG,"imei="+imei)
@@ -39,6 +43,8 @@
*/
phone = sn
Log.i(TAG,"phone="+phone)
+ MyLog.i(PlatFormConstant.TAG,"閲嶇疆TCP杩炴帴")
+ IMSClientBootstrap.getInstance().resetConnect();
}
var rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao.also {
it.update(sn, imei, phone)
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 71fbd34..6da2ff2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -139,9 +139,10 @@
public void onChanged(RTKConfig rtkConfig) {
MyLog.i(TAG, "RTKConfig Changed: " + (rtkConfig != null ? rtkConfig.toString() : "null"));
- mRTKConfig = rtkConfig;
+
if (rtkConfig != null)
- ExamPlatformData.getInstance().setPhone(rtkConfig.getSn());
+ mRTKConfig = rtkConfig;
+
synchronized (MainActivity.this){
// if (onlySendOnceRTKConfig){
// MyLog.i(TAG,"杩涘叆 synchronized (MainActivity.this)");
@@ -291,7 +292,6 @@
JKMessage0100 jkRegisterMessage = new JKMessage0100();
if (mRTKConfig!=null){
- jkRegisterMessage.phone = ExamPlatformData.getInstance().getPhone();
jkRegisterMessage.proviceid = mRTKConfig.getProvince();
jkRegisterMessage.cityid = mRTKConfig.getCity();
jkRegisterMessage.imei = mRTKConfig.getImei();
@@ -307,7 +307,6 @@
}else{
MyLog.i(PlatFormConstant.TAG,"瀵嗙爜瀛樺湪锛屽凡娉ㄥ唽杩囷紝鐩存帴鍙戦壌鏉冩秷鎭�");
JKMessage0101 jkMessage0101 = new JKMessage0101();
- jkMessage0101.phone = ExamPlatformData.getInstance().getPhone();
String des = hexPwd;
long time = System.currentTimeMillis()/1000;
int unsignedInt = Utils.parseUnsignedInt(String.valueOf(time),10);
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 538d0c4..bfb131c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -327,7 +327,6 @@
CEventCenter.dispatchEvent(Constant.BIND_RTK_SPEED_TOPIC,cmd,0,speed);
utc = utc.replace(".","");
JKMessage0206 jkMessage0206 = new JKMessage0206();
- jkMessage0206.phone = ExamPlatformData.getInstance().getPhone();
jkMessage0206.alert = 0;
jkMessage0206.status = 0;
jkMessage0206.jd = longitude;
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
index 14d9593..602ef14 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -21,6 +21,7 @@
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker;
import safeluck.drive.evaluation.app;
+import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
import safeluck.drive.evaluation.viewmodels.MainViewModel;
diff --git a/app/src/main/java/safeluck/drive/evaluation/cEventCenter/CEventCenter.java b/app/src/main/java/safeluck/drive/evaluation/cEventCenter/CEventCenter.java
index f87b93c..0776ea7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/cEventCenter/CEventCenter.java
+++ b/app/src/main/java/safeluck/drive/evaluation/cEventCenter/CEventCenter.java
@@ -172,8 +172,8 @@
ICEventListener listener = null;
LinkedList<ICEventListener> listeners = null;
synchronized (LISTENER_LOCK){
- Log.d(TAG, "dispatchEvent | topic="+topic+"\tmsgCode="+event.getMsgCode()+"\tresultCode="+event.getResultCode()
- +"\tobj="+event.getObj());
+// Log.d(TAG, "dispatchEvent | topic="+topic+"\tmsgCode="+event.getMsgCode()+"\tresultCode="+event.getResultCode()
+// +"\tobj="+event.getObj());
Object obj = LISTENER_MAP.get(topic);
if (obj == null){
return;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index 4527745..79ede48 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -130,7 +130,6 @@
String icStr = jsSpeed.getString("serialno");
if (result == 0) {
JKMessage0201 jkMessage0201 = new JKMessage0201();
- jkMessage0201.phone = ExamPlatformData.getInstance().getPhone();
if (exam_type==Constant.Chang_di){
jkMessage0201.currentExam = 0;
}else{
@@ -498,7 +497,6 @@
currTotalScore = 100;
//TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
final JKMessage0202 jkMessage0202 = new JKMessage0202();
- jkMessage0202.phone = ExamPlatformData.getInstance().getPhone();
jkMessage0202.timeBCD = new Date();
jkMessage0202.ID = ExamPlatformData.getInstance().getID();
@@ -595,7 +593,14 @@
private void stopExam() {
MyLog.i(TAG,"缁撴潫鑰冭瘯");
-
+ //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
+ JKMessage0204 jkMessage0204 = new JKMessage0204();
+ jkMessage0204.timeBCD = new Date();
+ jkMessage0204.score = currTotalScore;
+ jkMessage0204.stop = JKMessage0204.SUCC_STOP;
+ jkMessage0204.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
+ MessageProcessor.getInstance().sendMessage(jkMessage0204);
//璁剧疆妯″紡涓篘ONE 0
ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE);
//鎭㈠鍒濆鏁版嵁
@@ -612,15 +617,7 @@
ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯");
examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM);
sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0
- //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
- JKMessage0204 jkMessage0204 = new JKMessage0204();
- jkMessage0204.phone = ExamPlatformData.getInstance().getPhone();
- jkMessage0204.timeBCD = new Date();
- jkMessage0204.score = 10;
- jkMessage0204.stop = JKMessage0204.SUCC_STOP;
- jkMessage0204.ID = ExamPlatformData.getInstance().getID();
- jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
- MessageProcessor.getInstance().sendMessage(jkMessage0204);
+
}
private ICEventListener icEventListener = new ICEventListener() {
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
index a3c5826..6bc40a8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -226,7 +226,6 @@
break;
case R.id.btn_start_exam:
JKMessage0202 jkMessage0202 = new JKMessage0202();
- jkMessage0202.phone = "0314200100000004";
jkMessage0202.timeBCD = new Date();
jkMessage0202.curr_exam = 1;
jkMessage0202.ID = "123456789";
@@ -235,7 +234,6 @@
break;
case R.id.btn_fail:
JKMessage0203 jkMessage0203 = new JKMessage0203();
- jkMessage0203.phone = "0314200100000004";
jkMessage0203.timeBCD = "200226135444";
jkMessage0203.fail_item_id = 4;
jkMessage0203.fail_score = 10;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 2d8e244..c261719 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -522,7 +522,6 @@
//TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
final JKMessage0202 jkMessage0202 = new JKMessage0202();
- jkMessage0202.phone = ExamPlatformData.getInstance().getPhone();
jkMessage0202.timeBCD = new Date();
jkMessage0202.ID = ExamPlatformData.getInstance().getID();
@@ -621,6 +620,15 @@
private void stopExam() {
MyLog.i(TAG,"缁撴潫璁粌");
+
+ //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
+ JKMessage0204 jkMessage0204 = new JKMessage0204();
+ jkMessage0204.timeBCD = new Date();
+ jkMessage0204.score = currTotalScore;
+ jkMessage0204.stop = JKMessage0204.SUCC_STOP;
+ jkMessage0204.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
+ MessageProcessor.getInstance().sendMessage(jkMessage0204);
//璁剧疆妯″紡涓篘ONE 0
ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE);
@@ -637,15 +645,7 @@
ExamPlatformData.getInstance().getTTS().speak("缁撴潫璁粌");
examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM);
sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0
- //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
- JKMessage0204 jkMessage0204 = new JKMessage0204();
- jkMessage0204.phone = ExamPlatformData.getInstance().getPhone();
- jkMessage0204.timeBCD = new Date();
- jkMessage0204.score = 10;
- jkMessage0204.stop = JKMessage0204.SUCC_STOP;
- jkMessage0204.ID = ExamPlatformData.getInstance().getID();
- jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
- MessageProcessor.getInstance().sendMessage(jkMessage0204);
+
}
private ICEventListener icEventListener = new ICEventListener() {
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
index 181f385..1142591 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
@@ -124,4 +124,17 @@
}
}
+
+ /**
+ * 閲嶇疆TCP杩炴帴
+ * 鍘熸潵宸茬粡init杩囷紝浼犺緭杩噃ost锛屾湰鏂规硶鐭ヨ瘑閲嶇疆杩炴帴
+ */
+ public void resetConnect() {
+ if (isActive){
+ if (imsClient != null){
+ imsClient.resetConnect(false);
+ }
+ }
+
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
index 0e230c9..3255c46 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
@@ -94,7 +94,6 @@
@Override
public byte[] getHearbeatMsg() {
JKMessage0002 jkMessage0002 = new JKMessage0002();
- jkMessage0002.phone = ExamPlatformData.getInstance().getPhone();
return messageEscaper.escape(jkMessage0002.toBytes());
}
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 b37cd0d..0a3bf27 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -75,7 +75,6 @@
String des = ((JKMessage8100) jk2019MessageBase).des;
SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,des);
JKMessage0101 jkMessage0101 = new JKMessage0101();
-// jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des;
long time =System.currentTimeMillis()/1000;
int unsignedInt = Utils.parseUnsignedInt(String.valueOf(time),10);
MyLog.i(String.format("鎬荤鏁�(long)=%d,瑁呮崲鎴恥nsigned int= %d",time,unsignedInt));
@@ -120,26 +119,34 @@
if ( ExamPlatformData.getInstance().getExamplatformStatus() == ExamPlatformData.DEV_LOGIN){
- if (IMSClientBootstrap.getInstance().isActive()){
- IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
- }else{
- Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ byte[] msgidbytes= ArrayUtils.subArray(msg.toBytes(),2,2);
+ String msgid = BytesUtils.bytesToHexString(msgidbytes);
+ if (canSend(msgid)){
+ if (IMSClientBootstrap.getInstance().isActive()){
+ IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+ }else{
+ Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ }
}
+
}else{
// JK2019MessageBase jk2019MessageBase = MessageManager.get(msg.toString());
byte[] msgidbytes= ArrayUtils.subArray(msg.toBytes(),2,2);
String msgid = BytesUtils.bytesToHexString(msgidbytes);
Log.i(TAG, "run: msgid="+msgid);
- if ((msgid.equalsIgnoreCase("0100")) || (msgid.equalsIgnoreCase("0101"))){
- MyLog.i(PlatFormConstant.TAG,"娉ㄥ唽/閴存潈娑堟伅鐩存帴鍙戦�侊紝涓嶅彂閫佹槸鍚︾櫥褰曟垚鍔�");
- if (IMSClientBootstrap.getInstance().isActive()){
- IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+ if (canSend(msgid)){
+ if ((msgid.equalsIgnoreCase("0100")) || (msgid.equalsIgnoreCase("0101"))){
+ MyLog.i(PlatFormConstant.TAG,"娉ㄥ唽/閴存潈娑堟伅鐩存帴鍙戦��");
+ if (IMSClientBootstrap.getInstance().isActive()){
+ IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
+ }else{
+ MyLog.i(PlatFormConstant.TAG, "鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ }
}else{
- MyLog.i(PlatFormConstant.TAG, "鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+ MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+msgid);
}
- }else{
- MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+msgid);
}
+
}
@@ -153,4 +160,21 @@
IMSClientBootstrap.getInstance().addHeartbeat(seconds);
}
}
+
+ private boolean canSend(String msgId){
+ if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){
+ //璁粌妯″紡涓� 鍙湁鍑犳潯鍙互鍙戦��
+ switch (msgId){
+ case "0206":
+ case "0100":
+ case "0101":
+ return true;
+ }
+
+ }else{
+ //鑰冭瘯妯″紡涓嬪叏閮ㄩ兘鍙互鍙戦��
+ return true;
+ }
+ return false;
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JK2019MessageBase.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JK2019MessageBase.java
index b8723e1..67ea010 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JK2019MessageBase.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JK2019MessageBase.java
@@ -14,6 +14,7 @@
import com.safeluck.aykj.utils.BitState;
import com.safeluck.aykj.utils.BytesUtils;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.platformMessage.decoder.JWD;
import safeluck.drive.evaluation.platformMessage.decoder.JWDCoder;
import safeluck.drive.evaluation.platformMessage.decoder.Phone;
@@ -99,7 +100,7 @@
public BitState props = new BitState((short) 0);
@Order(5)
@Phone
- public String phone="0314200100000004";
+ public String phone= ExamPlatformData.getInstance().getPhone();
@Order(6)
@Int16
public int messageNo;
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/PlatFormConstant.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/PlatFormConstant.java
index d08872f..eb46ffe 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/PlatFormConstant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/PlatFormConstant.java
@@ -1,5 +1,7 @@
package safeluck.drive.evaluation.platformMessage;
+import org.jetbrains.annotations.Nullable;
+
import java.util.HashMap;
public class PlatFormConstant {
@@ -8,4 +10,6 @@
public static final int SUCCESS = 0;
public static final short STU_INFO_SUCC = 1;
+ @Nullable
+ public static final String RTK = "RTK_Config";
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt b/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
index 935c91c..048ecc2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
@@ -26,7 +26,6 @@
var gson:Gson =Gson()
override fun doWork(): Result {
val jkMessage0203 = JKMessage0203()
- jkMessage0203.phone = ExamPlatformData.getInstance().phone
jkMessage0203.ID = ExamPlatformData.getInstance().id
jkMessage0203.exam_id = ExamPlatformData.getInstance().exam_id
var ttsInput = inputData.getString(Constant.TTS);
--
Gitblit v1.8.0