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