release V637
authorsnickersun <scy@incartech.cn>
Sun, 27 Sep 2020 12:10:37 +0000 (20:10 +0800)
committersnickersun <scy@incartech.cn>
Sun, 27 Sep 2020 12:10:37 +0000 (20:10 +0800)
解决 蓝牙扫描及GPS扫描的运动检测不起作用问题。
当前所有定位都受运动检测控制。但是心率,体温没有受控! 后面再加上佩戴检测就可以控制心率 体温了。

app/release/ICSer_V636_2009271647_release.apk [deleted file]
app/release/ICSer_V637_2009272008_release.apk [moved from app/release/ICSer_V635_2009271639_release.apk with 78% similarity]
app/release/output.json
app/src/main/java/com/enqualcomm/support/LocationClient.java
app/version_code.properties

diff --git a/app/release/ICSer_V636_2009271647_release.apk b/app/release/ICSer_V636_2009271647_release.apk
deleted file mode 100644 (file)
index 5196cb3..0000000
Binary files a/app/release/ICSer_V636_2009271647_release.apk and /dev/null differ
similarity index 78%
rename from app/release/ICSer_V635_2009271639_release.apk
rename to app/release/ICSer_V637_2009272008_release.apk
index 9c1c00b..8ca1b0b 100644 (file)
Binary files a/app/release/ICSer_V635_2009271639_release.apk and b/app/release/ICSer_V637_2009272008_release.apk differ
index 01ed487..e939c12 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":635,"versionName":"2009271639","enabled":true,"outputFile":"ICSer_V635_2009271639_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V635_2009271639_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":637,"versionName":"2009272008","enabled":true,"outputFile":"ICSer_V637_2009272008_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V637_2009272008_release.apk","properties":{}}]
\ No newline at end of file
index 5dbacc8..102ad10 100644 (file)
@@ -374,7 +374,8 @@ public class LocationClient {
           }else if (msg.what == msgWhat_StartLocationProcess) {\r
             if (runtime.bleInfo.btMacList.size() > 0) {\r
               //有蓝牙搜索要求则 先进行蓝牙扫描\r
-              btHelper.scanBLE();\r
+              if (needLocationForBT())\r
+                btHelper.scanBLE();\r
             } else {\r
               //没有蓝牙搜索要求,就正常定位\r
               startLocationProcess(runtime.getLocationInstance().getWorkingMod());\r
@@ -383,7 +384,9 @@ public class LocationClient {
             if (runtime.bleInfo.btMacList.size() > 0) {\r
               //有蓝牙搜索要求则 先进行蓝牙扫描\r
               scanBLEOnly=true;\r
-              btHelper.scanBLE();\r
+\r
+              if (needLocationForBT())\r
+                btHelper.scanBLE();\r
             }\r
           }else if (msg.what == msgWhat_StartSOSLocationProcess){\r
             startSOSLocation=true;//启动SOS定位,为了快速响应,只要wifi定位即可。\r
@@ -437,7 +440,7 @@ public class LocationClient {
               timeout=true;\r
 \r
            }\r
-            if (noMove==true && (timeout==true || gps_nosignal==true)){\r
+            if (NoMoveTimeout==true && (timeout==true || gps_nosignal==true)){\r
               //没有移动,GPS超时或者没信号都会给 计数 加 1\r
               gpsTimeoutCountOnNoMove++;\r
             }\r
@@ -695,6 +698,7 @@ public void updateCellInfo() {
 \r
   private static boolean NoMoveAndNoGPSsignalSkipGpsFlag=false;\r
   private static boolean noMove=false;\r
+  private static boolean NoMoveTimeout=false;\r
   private static boolean last_noMove=false;\r
   private static final int MaxNoMoveTimeout=3*60*1000; //3分钟\r
   private static long first_NoMove_timestamp=0;\r
@@ -709,40 +713,55 @@ public void updateCellInfo() {
 \r
     noMove=runtime.getLastStepCount() == runtime.getTotalStepCount();\r
     runtime.updateFZDDevStatusMoving(!noMove); //设置当前运动状态\r
-\r
+    ICLogger.i(" checkNoMoveTimeout last_noMove "+last_noMove+" noMove "+noMove);\r
     if (last_noMove==false&& noMove==true){\r
       first_NoMove_timestamp=System.currentTimeMillis();\r
     }else if (noMove==false){\r
       first_NoMove_timestamp=0;\r
     }\r
+    last_noMove=noMove;\r
     //属于 判断是否 不动的状态超时\r
     if (noMove==true&& first_NoMove_timestamp>0.01  && System.currentTimeMillis()-first_NoMove_timestamp > MaxNoMoveTimeout){\r
+      ICLogger.i(" checkNoMoveTimeout true ");\r
       return true;\r
     }else{\r
+      ICLogger.i("checkNoMoveTimeout false");\r
       return false;\r
     }\r
 \r
   }\r
 \r
-   public void startLocationProcess(int mod){\r
-\r
+  private boolean needLocationForBT(){\r
     updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。\r
-    ICLogger.i("forceLocation="+forceLocation+", WorkingMod="+mod+", isLocating="+isLocating+", lastStep="+runtime.getLastStepCount()+", currentStep="+ runtime.getTotalStepCount());\r
-    if (isLocating && 1!=forceLocation) { //如果是强制定位,则即使是正在定位,也要执行,因为有时模式变换的时候,需要取消上一次定位信息,马上新的模式定位。\r
-      ICLogger.i("locating ,skip location!");\r
-      return;\r
-    }\r
-  //如果没有动,且超时。则跳过定位\r
-    boolean NoMoveTimeout=checkNoMoveTimeout();\r
+    //如果没有动,且超时。则跳过定位\r
+    NoMoveTimeout=checkNoMoveTimeout();\r
     // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过\r
     if ( ( forceLocation != 1 ) &&\r
-            ((( mod == ICLocation.NORMAL_MOD ) ||  ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true)  &&\r
+            (Config.forceMoveCheck==true)  &&\r
             (NoMoveTimeout) && (skipMoveCheck ==false  )){\r
       ICLogger.i("No Move ,skip location!");\r
-      return ;\r
+      return false;\r
     }\r
-\r
-    if (noMove){\r
+    return true;\r
+  }\r
+   public void startLocationProcess(int mod){\r
+     updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。\r
+     ICLogger.i("forceLocation="+forceLocation+", WorkingMod="+mod+", isLocating="+isLocating+", lastStep="+runtime.getLastStepCount()+", currentStep="+ runtime.getTotalStepCount());\r
+     if (isLocating && 1!=forceLocation) { //如果是强制定位,则即使是正在定位,也要执行,因为有时模式变换的时候,需要取消上一次定位信息,马上新的模式定位。\r
+       ICLogger.i("locating ,skip location!");\r
+       return;\r
+     }\r
+     //如果没有动,且超时。则跳过定位\r
+     NoMoveTimeout=checkNoMoveTimeout();\r
+     // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过\r
+     if ( ( forceLocation != 1 ) &&\r
+             ((( mod == ICLocation.NORMAL_MOD ) ||  ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true)  &&\r
+             (NoMoveTimeout) && (skipMoveCheck ==false  )){\r
+       ICLogger.i("No Move ,skip location!");\r
+       return ;\r
+     }\r
+\r
+    if (NoMoveTimeout){\r
 // 记录gps 无信号或者timeout的次数,超过5 就会停止使用gps定位,只要有一次 移动,或者设置为wifi定位,则清零。\r
       if (gpsTimeoutCountOnNoMove>= MaxGpsTimeoutCountOnNoMove){\r
         NoMoveAndNoGPSsignalSkipGpsFlag=true;\r
index a9618b2..a140a23 100644 (file)
@@ -1,2 +1,2 @@
-#Sun Sep 27 16:39:23 CST 2020\r
-VERSION_CODE=635\r
+#Sun Sep 27 20:08:39 CST 2020\r
+VERSION_CODE=637\r