release V766
authorsnickersun <snickersun@qq.com>
Fri, 19 Mar 2021 13:36:38 +0000 (21:36 +0800)
committersnickersun <snickersun@qq.com>
Fri, 19 Mar 2021 13:36:38 +0000 (21:36 +0800)
1. login成功后马上触发 buffer数据发送
2. buffer数据优先发送预警数据
3. UD 如果无网络,会被修改为UD2保存起来。

app/release/ICSer_V766_2103192133_release.apk [new file with mode: 0644]
app/release/output.json
app/src/main/java/com/enqualcomm/support/service/Deliver.java
app/src/main/java/com/enqualcomm/support/service/KeepAlive.java
app/src/main/java/com/enqualcomm/support/utils/DBHelper.java
app/version_code.properties

diff --git a/app/release/ICSer_V766_2103192133_release.apk b/app/release/ICSer_V766_2103192133_release.apk
new file mode 100644 (file)
index 0000000..a0b9f2e
Binary files /dev/null and b/app/release/ICSer_V766_2103192133_release.apk differ
index 59525fb..8a3994b 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":765,"versionName":"2103191651","enabled":true,"outputFile":"ICSer_V765_2103191651_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V765_2103191651_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":766,"versionName":"2103192133","enabled":true,"outputFile":"ICSer_V766_2103192133_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V766_2103192133_release.apk","properties":{}}]
\ No newline at end of file
index 476409c..bdbca64 100644 (file)
@@ -280,7 +280,7 @@ public class Deliver extends AbstractConnectionService {
                     ICLogger.i("send cached cmd : \n" + str);
                 }else{ //如果网络服务器未链接,则表示数据不需要传,
                     //但是有些协议要求此数据 需要转变为 盲点续传数据(已经是盲点的跳过)
-                    mRuntime.getDbHelper().updateCMDRecordForUD2(0,msgSent); //未发送
+                    mRuntime.getDbHelper().updateCMDRecordForUD2(0, msgSent); //重发时无网络 //把UD改为UD2 保存到数据库
                 }
 
                 //ICLogger.i("\n"+queue.size()+" left in Queue!");
@@ -327,7 +327,13 @@ public class Deliver extends AbstractConnectionService {
             long id = mRuntime.getDbHelper().insertCMDRecord(Msg);
             Msg.setIndex((int) id);
             dumpMessage(Msg);
-            triggerSendThread();
+            if(checkNetwork()) {
+                triggerSendThread();
+            }else{
+
+              mRuntime.getDbHelper().updateCMDRecordForUD2(0, Msg); //把UD改为UD2 保存到数据库
+
+            }
         } else {
             if (checkNetwork()) {
                 ICLogger.i(" first send " + Msg);
index 96deeb5..f25e8d2 100644 (file)
@@ -380,6 +380,9 @@ public class KeepAlive extends AbstractConnectionService {
 
             startResponseCheckTimer();
 
+            //连接服务器后马上开始发送buffer的cmd
+            Deliver.triggerSendThread();
+
 
         }
         return false;
index df8be22..4bc1272 100644 (file)
@@ -1072,7 +1072,7 @@ public class DBHelper {
                     ICLogger.e("genMissedUD2Msg failed, skip gen UD2 msg");
                 }
             } else {
-                ICLogger.e("not UD or id <0 , skip gen UD2 msg");
+                ICLogger.e("not UD("+topic+") or id("+id+") <0 , skip gen UD2 msg ");
             }
         }else{
             ICLogger.e("msg is null , skip gen UD2 msg");
@@ -1108,13 +1108,13 @@ public class DBHelper {
         ContentResolver pcr = this.cr;
         Uri table = ICContentProvider.PROTOCOL_CMD_RECORDS_URI;
         StringBuilder where = new StringBuilder();
-        where.append("FLAG=0");
-        //ICLogger.i("Query cmdRecords "+where);
+        where.append("FLAG=0 and ( TOPIC == 'AL' or TOPIC == 'AP10' ) ");
+        ICLogger.i("Query1 cmdRecords "+where);
         Cursor cmdrecords = pcr.query(table, null, where.toString(), null, null);
         StringMessage msg = null;
         if (cmdrecords != null) {
             int score = 0;
-            if (cmdrecords.getCount() > 0) {
+            if (cmdrecords.getCount() > 0) { //有警报则先发送警报
                 if (cmdrecords.moveToFirst()) {
                     String topic = cmdrecords.getString(cmdrecords.getColumnIndex("TOPIC"));
                     String cmd = cmdrecords.getString(cmdrecords.getColumnIndex("CMD"));
@@ -1131,12 +1131,62 @@ public class DBHelper {
                     ICLogger.i("get cmd Record not sent  _id " + index + " " + date + time + " topic " + topic + " cmd " + cmd);
 
                 }
+                cmdrecords.close();
+            }else{ //没有警报,就查询其他消息发送
+                where  = new StringBuilder("FLAG=0");
+                cmdrecords = pcr.query(table, null, where.toString(), null, null);
+                ICLogger.i("Query2 cmdRecords "+where);
+                msg = null;
+                if (cmdrecords != null) {
+                    score = 0;
+                    if (cmdrecords.getCount() > 0) {
+                        if (cmdrecords.moveToFirst()) {
+                            String topic = cmdrecords.getString(cmdrecords.getColumnIndex("TOPIC"));
+                            String cmd = cmdrecords.getString(cmdrecords.getColumnIndex("CMD"));
+                            String date = cmdrecords.getString(cmdrecords.getColumnIndex("DATE"));
+                            String time = cmdrecords.getString(cmdrecords.getColumnIndex("TIME"));
+                            int flag = cmdrecords.getInt(cmdrecords.getColumnIndex("FLAG"));
+                            int index = cmdrecords.getInt(cmdrecords.getColumnIndex("_id"));
+                            msg = new StringMessage(new String[]{topic});
+                            msg.refresh(cmd);
+                            msg.setDate(date, time);
+                            msg.setSentFlag(flag);
+                            msg.setIndex(index);
+                            ICLogger.i("get cmd Record not sent  _id " + index + " " + date + time + " topic " + topic + " cmd " + cmd);
+                        }
+                    }
+                    cmdrecords.close();
+                }
+            }
+        }else{
+            where  = new StringBuilder("FLAG=0");
+            cmdrecords = pcr.query(table, null, where.toString(), null, null);
+            ICLogger.i("Query3 cmdRecords "+where);
+            msg = null;
+            if (cmdrecords != null) {
+                int score = 0;
+                if (cmdrecords.getCount() > 0) {
+                    if (cmdrecords.moveToFirst()) {
+                        String topic = cmdrecords.getString(cmdrecords.getColumnIndex("TOPIC"));
+                        String cmd = cmdrecords.getString(cmdrecords.getColumnIndex("CMD"));
+                        String date = cmdrecords.getString(cmdrecords.getColumnIndex("DATE"));
+                        String time = cmdrecords.getString(cmdrecords.getColumnIndex("TIME"));
+                        int flag = cmdrecords.getInt(cmdrecords.getColumnIndex("FLAG"));
+                        int index = cmdrecords.getInt(cmdrecords.getColumnIndex("_id"));
+                        msg = new StringMessage(new String[]{topic});
+                        msg.refresh(cmd);
+                        msg.setDate(date, time);
+                        msg.setSentFlag(flag);
+                        msg.setIndex(index);
+                        ICLogger.i("get cmd Record not sent  _id " + index + " " + date + time + " topic " + topic + " cmd " + cmd);
+                    }
+                }
+                cmdrecords.close();
             }
-            cmdrecords.close();
-
-            if (msg == null)
-                ICLogger.i("no cmd record in not sent status !");
         }
+
+        if (msg == null)
+            ICLogger.i("no cmd record in not sent status !");
         return msg;
     }
 
index 02dedc4..9901c07 100644 (file)
@@ -1,2 +1,2 @@
-#Fri Mar 19 16:51:35 CST 2021
-VERSION_CODE=765
+#Fri Mar 19 21:33:38 CST 2021
+VERSION_CODE=766