增加 BP33和BP16的第一次定位强制執行邏輯
authorsnickersun <snickersun@qq.com>
Fri, 17 Jan 2020 18:30:51 +0000 (02:30 +0800)
committersnickersun <snickersun@qq.com>
Fri, 17 Jan 2020 18:30:51 +0000 (02:30 +0800)
app/src/main/java/com/ic/protocol/LocationClient.java
app/src/main/java/com/ic/protocol/utils/NettyConnection.java

index 5f527e8..482601e 100644 (file)
@@ -478,18 +478,21 @@ public void updateCellInfo() {
 \r
   public void startLocationProcess(int mod){\r
 \r
-    Logger.i("isLocating "+isLocating+", lastStep"+runtime.getLastStepCount()+", currentStep"+ runtime.getTotalStepCount());\r
+    Logger.i("forceLocation="+forceLocation+", isLocating "+isLocating+", lastStep"+runtime.getLastStepCount()+", currentStep"+ runtime.getTotalStepCount());\r
     if (isLocating ) {\r
       Logger.i("locating ,skip location!");\r
       return;\r
     }\r
 \r
 \r
-    if (runtime.getLastStepCount() == runtime.getTotalStepCount()){\r
+\r
+    if (  forceLocation == 0 || runtime.getLastStepCount() == runtime.getTotalStepCount()){\r
 \r
       Logger.i("No Move ,skip location!");\r
       return ;\r
     }\r
+\r
+    forceLocation=0;\r
     isLocating=true;\r
 \r
     runtime.setLastStepCount(runtime.getTotalStepCount());\r
@@ -508,6 +511,7 @@ public void updateCellInfo() {
   }\r
 \r
   private static int WorkingMod=1;\r
+  private static int forceLocation=0;\r
   public void onReceive(StringMessage paramStringMessage) {\r
     Logger.i("LocationClient onReceive " +paramStringMessage.cmd()+" linkOK "+linkOK );\r
     if ("Sport:OK".equals(paramStringMessage.cmd()))\r
@@ -524,9 +528,10 @@ public void updateCellInfo() {
     //响应定位指令\r
     if ("StartLocate".equals(paramStringMessage.cmd())  ){\r
 //      triggerSendThread();\r
+      forceLocation=1;\r
       this.startLocationProcess(WorkingMod);\r
     }\r
-    if ("ResartHeartAlarm".equals(paramStringMessage.cmd())) {\r
+    if ("setWorkMod".equals(paramStringMessage.cmd())) {\r
 //      triggerSendThread();\r
       int mod = 0;\r
       try\r
@@ -540,13 +545,14 @@ public void updateCellInfo() {
       SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, mod);\r
       runtime.getLocationInstance().setWorkingMod(mod);\r
 //      runtime.getLocationInstance().setLocation_cycle(3);\r
-      Logger.i("ResartHeartAlarm  1 mod "+mod);\r
+      Logger.i("Set WorkMODE  "+mod +" and reset Location AlarmCycle");\r
       protocolMainServer.getInstance().setLocationAlarm(mod);\r
-      Logger.i("ResartHeartAlarm  2");\r
-      runtime.getContextProxy().sendBroadcast(HEART_ALARM,runtime);\r
+//      Logger.i("ResartLACATION_MODE  2");\r
+      runtime.getContextProxy().sendBroadcast(LACATION_MODE,runtime);\r
+      forceLocation=1;\r
       this.startLocationProcess(mod);\r
       WorkingMod=mod;\r
-      Logger.i("ResartHeartAlarm  3 WorkingMod " +WorkingMod);\r
+\r
 \r
 \r
     }\r
index e0ccc46..8adfe43 100644 (file)
@@ -82,7 +82,7 @@ public class NettyConnection implements Connection {
                                 break;\r
                             case BP33:\r
                                 //设置工作模式\r
-                                DeliverCMDMessageToSystem("ResartHeartAlarm",cmd);//通知下面线程状态变化\r
+                                DeliverCMDMessageToSystem("setWorkMod",cmd);//通知下面线程状态变化\r
                                 DeliverCMDMessageToSystem("AP33",cmd);//通知下面线程状态变化\r
                                 API.handleBP33(NettyConnection.this,runtime,cmd);\r
 \r