From 6e512f99ae6d56f52cd79ff7ea7245a431be4dbb Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 16 三月 2020 16:30:27 +0800
Subject: [PATCH] 修改判断消息ID可能导致崩溃的bug
---
app/src/main/java/safeluck/drive/evaluation/app.java | 11 +----------
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java | 19 +++++--------------
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 10 +++++++---
3 files changed, 13 insertions(+), 27 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
index 1f172d2..fb107b4 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
@@ -24,12 +24,11 @@
private static final String TAG = "AppStatusWorker";
private AppStatusDao appStatusDao;
- private int lastSatNum = 0;
- private int lastQf = 0;
+
public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
- MyLog.d(TAG,"鍒濆鍖朅ppStatusWorker");
+ MyLog.i("鍒濆鍖朅ppStatusWorker");
appStatusDao = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao();
}
@@ -38,7 +37,7 @@
public Result doWork() {
String[] str = getInputData().getStringArray(Constant.APP_STATUS);
JSONObject jsonObject = null;
- MyLog.i(PlatFormConstant.TAG,"AppStatusWorker:"+str[0]+": "+str[1]);
+ MyLog.i("AppStatusWorker:"+str[0]+": "+str[1]);
try {
jsonObject = new JSONObject(str[1]);
switch (str[0]) {
@@ -58,18 +57,10 @@
case Constant.RTK_INFO_SAT_QF:
int qf = jsonObject.getInt("qf");
int satNum = jsonObject.getInt("sat_num");
- if (qf==lastQf){
- Log.i(TAG,"瑙g姸鎬佸拰涓婃鐨勪竴鏍凤紝涓嶄繚瀛樻暟鎹簱"+qf);
- }else{
- lastQf = qf;
+
appStatusDao.updatedQf(qf);
- }
- if (satNum==lastSatNum){
- Log.i(TAG,"鍗槦棰楁暟鍜屼笂娆$殑涓�鏍凤紝涓嶄繚瀛樻暟鎹簱"+lastSatNum);
- }else{
+
appStatusDao.updatedSatNum(satNum);
- lastSatNum = satNum;
- }
break;
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 6fc62f7..9f28086 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -314,7 +314,7 @@
jsonObject = new JSONObject(json);
int qf = jsonObject.getInt("qf");
int satNum = jsonObject.getInt("sat_num");
- if (lastSatEqualNow(satNum)){
+ if (lastSatEqualNow(satNum)&&lastQfEqualNow(qf)){
}else{
String[] rtk_strs = new String[2];
@@ -324,16 +324,7 @@
OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build();
WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker);
}
- if (lastQfEqualNow(qf)){
- }else{
- String[] rtk_strs = new String[2];
- rtk_strs[0] = Constant.RTK_INFO_SAT_QF;
- rtk_strs[1] = json;
- Data rtkInfoData = new Data.Builder().putStringArray(Constant.APP_STATUS,rtk_strs).build();
- OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build();
- WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker);
- }
} catch (JSONException e) {
e.printStackTrace();
}
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 3b85264..9978a11 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -11,6 +11,7 @@
import com.anyun.im_lib.interf.IMSClientInteface;
import com.anyun.im_lib.util.ByteUtil;
import com.google.gson.Gson;
+import com.safeluck.aykj.utils.ArrayUtils;
import com.safeluck.aykj.utils.BytesUtils;
import java.util.Map;
@@ -124,8 +125,11 @@
Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
}
}else{
- JK2019MessageBase jk2019MessageBase = MessageManager.get(msg.toString());
- if ((jk2019MessageBase instanceof JKMessage0100) || (jk2019MessageBase instanceof JKMessage0101)){
+// 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"))){
if (IMSClientBootstrap.getInstance().isActive()){
IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes()));
@@ -133,7 +137,7 @@
Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
}
}else{
- MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+BytesUtils.bytesToHexString(ByteUtil.intGetBytes(jk2019MessageBase.messageId)));
+ MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+msgid);
}
}
--
Gitblit v1.8.0