From c3e6e125ebd8cd35d9265ef88d5f8c357393e1c1 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期五, 21 二月 2020 17:47:18 +0800
Subject: [PATCH] 1.修改Netty TCP链接库,连接状态回调通知app;修改RTKConfig界面
---
app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java | 2
app/src/main/java/safeluck/drive/evaluation/app.java | 66 +++++++++++++++++++++++++++++++--
app/src/main/res/layout/layout_rtk_setting.xml | 1
im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java | 4 +-
im_lib/src/main/java/com/safeluck/aykj/message/BinMessageBase.java | 2 +
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 35 +++++++++++++++--
app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java | 5 +-
app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java | 5 ++
8 files changed, 105 insertions(+), 15 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index b026cf9..370b201 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -22,16 +22,19 @@
import com.anyun.exam.lib.MyLog;
import com.anyun.exam.lib.crash.CrashHandler;
import com.anyun.im_lib.ExecutorServiceFactory;
+import com.anyun.im_lib.listener.IMSConnectStatusCallback;
import com.facebook.stetho.Stetho;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import com.safeluck.aykj.utils.BytesUtils;
import org.json.JSONException;
import org.json.JSONObject;
+import java.util.Date;
import java.util.Random;
import safeluck.drive.evaluation.DB.WorkRoomDataBase;
@@ -45,7 +48,14 @@
import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository;
import safeluck.drive.evaluation.cEventCenter.CEvent;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
+import safeluck.drive.evaluation.im.IMSClientBootstrap;
+import safeluck.drive.evaluation.im.IMSConnectStatusListener;
+import safeluck.drive.evaluation.im.MessageProcessor;
+import safeluck.drive.evaluation.platformMessage.JKMessage0100;
+import safeluck.drive.evaluation.platformMessage.JKMessage0101;
+import safeluck.drive.evaluation.platformMessage.JKMessage0203;
import safeluck.drive.evaluation.util.FileUtil;
+import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.util.SystemUtil;
/**
@@ -54,7 +64,7 @@
* 閭锛�632393724@qq.com
* All Rights Saved! Chongqing AnYun Tech co. LTD
*/
-public class app extends Application implements IAYExamListener {
+public class app extends Application implements IAYExamListener , IMSConnectStatusCallback {
private static final String TAG = "app";
private Gson gson;
@@ -102,9 +112,12 @@
}
}).start();
- //TODO 杩涜tcp杩炴帴
+ // 杩涜tcp杩炴帴
+ String userId = "100002";
+ String token = "token_" + userId;
+ String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
+ IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this);
- //TODO 鍒ゆ柇SPUtils 鏄惁淇濆瓨鏈塪es瀵嗙爜锛涘鏋滄病鏈夊垯杩涜娉ㄥ唽JKMessage0100锛屽鏋滄湁瀵嗙爜鍒欒繘琛岄壌鏉僇KMessage0101
}
}
@@ -128,7 +141,7 @@
@Override
public void callBackMsg(final int cmd, String json) {
- MyLog.d(TAG, String.format("鏀跺埌鍛戒护[%d],Json鍐呭涓�%s", cmd, json));
+// MyLog.d(TAG, String.format("鏀跺埌鍛戒护[%d],Json鍐呭涓�%s", cmd, json));
switch (cmd) {
case Constant.NDK_START:
sendVechileInfo();
@@ -158,6 +171,15 @@
case Constant.JUDGE_INFO:
if(!TextUtils.isEmpty(json)){
+ JKMessage0203 jkMessage0203 = new JKMessage0203();
+ jkMessage0203.phone = "0314200100000004";
+ jkMessage0203.timeBCD = new Date();
+ jkMessage0203.fail_item_id = 4;
+ jkMessage0203.fail_score = 10;
+ jkMessage0203.fail_reason = "鍙戝姩鏈哄惎鍔ㄥ悗锛屼笉鍙婃椂鏉惧紑鍚姩寮�鍏�";
+ jkMessage0203.ID = "123456789";
+ jkMessage0203.exam_id = 123456;
+ MessageProcessor.getInstance().sendMessage(jkMessage0203);
JsonArray jsonArray = JsonParser.parseString(json).getAsJsonArray();
for (int i = 0; i < jsonArray.size(); i++) {
JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
@@ -272,4 +294,40 @@
}).start();
}
+
+ @Override
+ public void onConnecting() {
+
+ }
+
+ @Override
+ public void onConnected() {
+ MyLog.i(TAG,"TCP杩炴帴鎴愬姛");
+ //TODO 鍒ゆ柇SPUtils 鏄惁淇濆瓨鏈塪es瀵嗙爜锛涘鏋滄病鏈夊垯杩涜娉ㄥ唽JKMessage0100锛屽鏋滄湁瀵嗙爜鍒欒繘琛岄壌鏉僇KMessage0101
+ String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,"");
+ if (TextUtils.isEmpty(hexPwd)){
+
+ JKMessage0100 jkRegisterMessage = new JKMessage0100();
+ jkRegisterMessage.proviceid = 23;
+ jkRegisterMessage.cityid = 1;
+ jkRegisterMessage.imei = "460123874561";
+ jkRegisterMessage.model = "123";
+ jkRegisterMessage.sn = "0314200100000004";
+
+ Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+ jkRegisterMessage.props.value);
+ byte[] str = jkRegisterMessage.toBytes();
+ MessageProcessor.getInstance().sendMessage(jkRegisterMessage);
+ Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============");
+ }else{
+ JKMessage0101 jkMessage0101 = new JKMessage0101();
+ jkMessage0101.des =hexPwd;
+ jkMessage0101.timestamp = (int) System.currentTimeMillis();
+ MessageProcessor.getInstance().sendMessage(jkMessage0101);
+ }
+ }
+
+ @Override
+ public void onConnectFailed() {
+ MyLog.i(TAG,"TCP杩炴帴澶辫触");
+ }
}
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 82a703a..4ebbd28 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -17,6 +17,7 @@
import androidx.lifecycle.Observer;
import com.anyun.exam.lib.util.Speaker;
+import com.anyun.im_lib.listener.IMSConnectStatusCallback;
import com.anyun.im_lib.util.ByteUtil;
import com.google.android.material.textfield.TextInputEditText;
import com.safeluck.aykj.utils.BytesUtils;
@@ -137,7 +138,22 @@
String hosts = "[{\"host\":\"47.93.157.103\", \"port\":2020}]";
// String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
- IMSClientBootstrap.getInstance().init(userId,token,hosts,1);
+ IMSClientBootstrap.getInstance().init(userId, token, hosts, 1, new IMSConnectStatusCallback() {
+ @Override
+ public void onConnecting() {
+
+ }
+
+ @Override
+ public void onConnected() {
+
+ }
+
+ @Override
+ public void onConnectFailed() {
+
+ }
+ });
break;
case R.id.btn_send:
// if (connectThread != null){
@@ -243,12 +259,21 @@
"{\"utc\":\"20070101062157.00\",\"sat_num\":0,\"qf\":0,\"latitude\":0.0,\"longitude\":0.0,\"altitude\":-6378154.162,\"speed\":0.0}";
jkMessage0206.length = jkMessage0206.json.length();
AttachInfo attachInfo = new AttachInfo();
- attachInfo.attach_message_id = 0x40;
- attachInfo.attach_message_length = 18;
- attachInfo.attach_data="12345678901";
+ attachInfo.attach_message_id = Integer.parseInt(port.getText().toString().trim());
+ attachInfo.attach_message_length = 4;
+ Log.i(TAG, "attachInfo.attach_message_id ="+attachInfo.attach_message_id );
+ if (attachInfo.attach_message_id == 0x41){
+ Log.i(TAG, "onClick: 41");
+ attachInfo.attach_data="00000000";
+ }else{
+
+ //18涓瓧鑺� ascii
+ attachInfo.attach_data="303030303030303030303030303030303030";
+ }
+
jkMessage0206.attachInfo = attachInfo;
Log.i(TAG, "浣嶇疆涓婃姤="+jkMessage0206.toString());
-
+ MessageProcessor.getInstance().sendMessage(jkMessage0206);
break;
case R.id.btn_stop_exam:
JKMessage0204 jkMessage0204 = new JKMessage0204();
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 a508360..a09fd98 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
@@ -3,6 +3,7 @@
import android.util.Log;
import com.anyun.im_lib.interf.IMSClientInteface;
+import com.anyun.im_lib.listener.IMSConnectStatusCallback;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -47,7 +48,7 @@
* @param hosts
* @param appStatus
*/
- public synchronized void init(String userId,String token,String hosts,int appStatus){
+ public synchronized void init(String userId, String token, String hosts, int appStatus, IMSConnectStatusCallback imsConnectStatusListener){
if (!isActive){
Vector<String> serverUrlList = convertHosts(hosts);
if (serverUrlList == null || serverUrlList.size() ==0){
@@ -62,7 +63,7 @@
//鍒濆鍖朓MSClientInteface
imsClient = IMSClientFactory.getIMSClient();
updateAppStatus(appStatus);
- imsClient.init(serverUrlList,new IMSEventListener(userId,token),new IMSConnectStatusListener());
+ imsClient.init(serverUrlList,new IMSEventListener(userId,token),imsConnectStatusListener);
}
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java
index ef0c3f5..67ea888 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java
@@ -14,7 +14,7 @@
@Int8
public int attach_message_length;
@Order(3)
- @Length(lengthField="attach_message_length")
+ @Length(lengthField = "attach_message_length")
@Hex
public String attach_data;
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
index 8d8154b..a56e6ef 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
@@ -46,8 +46,11 @@
@Order(12)
@Message
- @Length(20)
+ @Length(0)
public AttachInfo attachInfo;
+
+
+
/**
* 鎶ヨ
* DWORD
diff --git a/app/src/main/res/layout/layout_rtk_setting.xml b/app/src/main/res/layout/layout_rtk_setting.xml
index 4efa44a..ce6d041 100644
--- a/app/src/main/res/layout/layout_rtk_setting.xml
+++ b/app/src/main/res/layout/layout_rtk_setting.xml
@@ -149,6 +149,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/tv_rtk_model"
+ android:visibility="gone"
android:text="@string/rtk_config_model"
android:layout_weight="1"/>
<TextView
diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
index ac26ebc..aec3868 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
@@ -330,7 +330,7 @@
// TODO: 2019/12/12 鏍规嵁MSG_ID 鏉ュ姞鍏� 瓒呮椂锛� 鏆備笉鍐�
if (channel == null){
- Log.i(TAG, "sendMsg fail,channel涓虹┖"+msg);
+ MyLog.i("PlatformMessage", "sendMsg fail,channel涓虹┖"+msg);
}
try {
MyLog.i("PlatformMessage", "sendMsg: "+ BytesUtils.bytesToHexString(msg));
@@ -338,7 +338,7 @@
byteBuf.writeBytes(msg);
channel.writeAndFlush(byteBuf);
} catch (Exception e) {
- Log.i(TAG, "鍙戦�佹秷鎭け璐ワ紝reason="+e.getMessage()+"\t"+msg);
+ Log.i("PlatformMessage", "鍙戦�佹秷鎭け璐ワ紝reason="+e.getMessage()+"\t"+msg);
}
}
diff --git a/im_lib/src/main/java/com/safeluck/aykj/message/BinMessageBase.java b/im_lib/src/main/java/com/safeluck/aykj/message/BinMessageBase.java
index 84be1d7..c483dfa 100644
--- a/im_lib/src/main/java/com/safeluck/aykj/message/BinMessageBase.java
+++ b/im_lib/src/main/java/com/safeluck/aykj/message/BinMessageBase.java
@@ -168,6 +168,7 @@
try {
Object value = fieldDefine.field.get(this);
String hex = fieldDefine.coder.encode(value);
+ Log.i("PlatformMessage", "FieldName: "+fieldDefine.field.getName()+" hex:"+hex);
if (hex == null) {
fieldDefine.relativeLengthField.set(this, 0);
} else {
@@ -211,6 +212,7 @@
}
}
// System.out.println(hex);
+ Log.i("PlatformMessage value", "FieldName: "+fieldDefine.field.getName()+" hex:"+hex);
sb.append(hex);
} catch (IllegalAccessException e) {
this.buildException(e.getMessage());
--
Gitblit v1.8.0