release 423
authorsnickersun <scy@incartech.cn>
Wed, 17 Jun 2020 15:33:55 +0000 (23:33 +0800)
committersnickersun <scy@incartech.cn>
Wed, 17 Jun 2020 15:33:55 +0000 (23:33 +0800)
1、修改登录流程AP00登录后才发送AP03
2、修改Heartrate测试判断,以便兼容新的心率传感器

app/app.iml
app/release/ICSer_V422_2006152116_release.apk [deleted file]
app/release/ICSer_V423_2006172332_release.apk [new file with mode: 0644]
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/service/Deliver.java
app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java
app/src/main/java/com/enqualcomm/support/service/KeepAlive.java
app/version_code.properties

index d430e47..96972aa 100644 (file)
@@ -18,7 +18,7 @@
         <option name="ALLOW_USER_CONFIGURATION" value="false"/>\r
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml"/>\r
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res"/>\r
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res"/>\r
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/debug"/>\r
         <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value=""/>\r
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets"/>\r
       </configuration>\r
diff --git a/app/release/ICSer_V422_2006152116_release.apk b/app/release/ICSer_V422_2006152116_release.apk
deleted file mode 100644 (file)
index 135a69c..0000000
Binary files a/app/release/ICSer_V422_2006152116_release.apk and /dev/null differ
diff --git a/app/release/ICSer_V423_2006172332_release.apk b/app/release/ICSer_V423_2006172332_release.apk
new file mode 100644 (file)
index 0000000..0f640f3
Binary files /dev/null and b/app/release/ICSer_V423_2006172332_release.apk differ
index 6300ee6..2782e93 100644 (file)
@@ -735,9 +735,13 @@ public class CoreService extends Service {
                     if (connection.isServerConnected() && runtime.isServerProtocolConnected()) {\r
                         this.mKeepAlive.onHeartAlarm(this.connection, this.runtime);\r
                     } else {\r
-                        ICLogger.i("check 发送心跳包时,如果发现服务器没有响应,或者socket连接,则重新尝试连接服务器!");\r
-                        connection.disconnectServer();\r
-                        this.startConnectionRetryTimer();\r
+                       // if (this.mKeepAlive.is_retry_time_above_limit()) {\r
+                            ICLogger.i("check 发送心跳包时,如果发现服务器没有响应,或者socket连接,则重新尝试连接服务器!");\r
+                            connection.disconnectServer();\r
+                            this.startConnectionRetryTimer();\r
+                       // }else{\r
+                      //      ICLogger.i("");\r
+                      //  }\r
                     }\r
                     setHeartAlarm();\r
                     if (Config.LOG_TOFILE)\r
index f07da65..8439787 100644 (file)
@@ -381,6 +381,7 @@ public static void sendLocationMSG( String Msg){
             if (Config.do_broadCast_message_no_indication)\r
             {\r
 \r
+              ICLogger.d(Constants.ACTION_MESSAGE_RECEIVED+" "+paramStringMessage.isFromCache());\r
                 //广播 voice消息\r
                 intent = new Intent();\r
                 intent.setAction(Constants.ACTION_MESSAGE_RECEIVED);\r
index ad96c3d..b76e91b 100644 (file)
@@ -215,7 +215,7 @@ public class HeartRateManager extends AbstractInvokeHandlerService {
     mWakeLock=null;\r
   }\r
   public void startPPG(){\r
-    if (ICJniUtils.isPPGavailable()==1 && isTimerStarted==false) {\r
+    if (ICJniUtils.isPPGavailable()>0 && isTimerStarted==false) {\r
       currentStat=heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_OPEN;\r
       delayCount=4;//检测成功后4秒发送数据\r
       notWaredCount=5; //初始化没有佩戴的检测次数5,连续5秒没有佩戴则取消检测\r
index 605e80e..ef65cb5 100644 (file)
@@ -53,11 +53,13 @@ public class KeepAlive extends AbstractConnectionService {
 \r
 //服务器收到AP03 会返回BP03,如果PB03 规定时间没收到,则认为发送心跳失败,需要重发,\r
   private boolean is_heartBeat_send_success=false;\r
+  private boolean is_login_send_success=false;\r
   //如果重试5次还没有连接上,则需要重新断开连接重新连接服务器。\r
   private int hearBeatResendCount=0;\r
   private int MaxHeartbeatResendTime=6;\r
   //每次retry发送心跳的间隔为20秒\r
   private int heartBeatRetryTimeout=20;\r
+\r
   //监测 心跳服务器响应的timer\r
   private ScheduledThreadPoolExecutor scheduled = null;\r
   private Runnable CheckSrvResponseTimerTask=new Runnable() {\r
@@ -108,7 +110,11 @@ public class KeepAlive extends AbstractConnectionService {
           //更新系统的IMEI\r
           boolean ret=DeviceInfoUtil.updateImei(mRuntime);\r
           ICLogger.i("Update IMEI "+ret);\r
-          connection.send(protocolAPIHelper.genStringMessage("heart", protocolAPIHelper.getHeartbeatMSG(mRuntime)));\r
+          if (is_login_send_success)\r
+            connection.send(protocolAPIHelper.genStringMessage("heart", protocolAPIHelper.getHeartbeatMSG(mRuntime)));\r
+          else\r
+            connection.send(protocolAPIHelper.genStringMessage("heart", protocolAPIHelper.getLoginMSG(mRuntime)));\r
+\r
         }\r
       }\r
 \r
@@ -247,24 +253,14 @@ public class KeepAlive extends AbstractConnectionService {
     boolean ret=DeviceInfoUtil.updateImei(paramRuntime);\r
     ICLogger.i("Update IMEI "+ret);\r
     //发送登录包\r
+    is_login_send_success=false;\r
     Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
       public void call(Long param1Long) {\r
         connection.send(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.getLoginMSG(paramRuntime)));\r
 \r
       }\r
     });\r
-    //心跳开始发送的时候,先重置response检测标志\r
-    is_heartBeat_send_success=false;\r
-    //发送心跳包\r
-    Observable.timer(3500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
-      public void call(Long param1Long) {\r
-        //这时重新连接服务器才进行的连接,理论上close已经设置false,此次可以认为协议定然断开,所以设置为false作为双重保险。\r
-        mRuntime.setServerProtocolConnected(false);\r
-        connection.send(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.getHeartbeatMSG(paramRuntime)));\r
-        //发送完心跳后,开始检查服务器响应\r
-        startResponseCheckTimer();\r
-      }\r
-    });\r
+\r
 \r
 \r
      isConnected = true;\r
@@ -310,7 +306,7 @@ public class KeepAlive extends AbstractConnectionService {
 \r
 //      LauncherCtrl.getInstance(this.mContext).setStatusBarIcon("server_connected", STATUS_BAR_STATE_SERVER_CONNECTED_ON);\r
 //      Deliver.triggerSendThread(); //链接上就尝试清除 buffer中的数据\r
-      CoreService.getInstance().stopConnectionRetryTimer();\r
+\r
       if (CoreService.needLocateInAfterHeartBeat==true){\r
         //第一次启动或者系统Close后重连的时候,重置LocationCycle\r
         CoreService.needLocateInAfterHeartBeat=false;\r
@@ -320,6 +316,24 @@ public class KeepAlive extends AbstractConnectionService {
     }else   if (paramStringMessage.cmd().equals("BP00")) {\r
       //广播服务器连接成功的消息\r
       paramRuntime.getContextProxy().sendBroadcastServerConnectionChanged(true);\r
+      //登录包收到就停止重链接服务器\r
+      CoreService.getInstance().stopConnectionRetryTimer();\r
+      is_login_send_success=true;\r
+      //收到登录包反馈后再发送心跳\r
+\r
+      //心跳开始发送的时候,先重置response检测标志\r
+      is_heartBeat_send_success=false;\r
+      //发送心跳包\r
+      Observable.timer(3500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+        public void call(Long param1Long) {\r
+          //这时重新连接服务器才进行的连接,理论上close已经设置false,此次可以认为协议定然断开,所以设置为false作为双重保险。\r
+          mRuntime.setServerProtocolConnected(false);\r
+          connection.send(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.getHeartbeatMSG(paramRuntime)));\r
+          //发送完心跳后,开始检查服务器响应\r
+          startResponseCheckTimer();\r
+        }\r
+      });\r
+\r
     }\r
     return false;\r
   }\r
index 3d73831..0df057b 100644 (file)
@@ -1,2 +1,2 @@
-#Mon Jun 15 21:16:00 CST 2020\r
-VERSION_CODE=422\r
+#Wed Jun 17 23:32:50 CST 2020\r
+VERSION_CODE=423\r