From: TrillGates Date: Thu, 28 Oct 2021 06:57:29 +0000 (+0800) Subject: 修改了强制定位的逻辑 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=ba19590982de81bad4d6a829177bd71578fddda8;p=icsupport.git 修改了强制定位的逻辑 --- diff --git a/app/src/main/java/com/enqualcomm/support/LocationClient.java b/app/src/main/java/com/enqualcomm/support/LocationClient.java index ed5c2f0b..fa998aa3 100644 --- a/app/src/main/java/com/enqualcomm/support/LocationClient.java +++ b/app/src/main/java/com/enqualcomm/support/LocationClient.java @@ -916,15 +916,16 @@ public class LocationClient { private boolean needLocationForBT() { updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。 //如果没有动,且超时。则跳过定位 - mNoMoveTimeout = checkNoMoveTimeoutForBT(); + if (skipMoveCheck || Config.GpsForceMoveCheck) { + mNoMoveTimeout = false; + } else { + mNoMoveTimeout = checkNoMoveTimeoutForBT(); + } ICLogger.i("BT NoMoveTimeout " + mNoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.GpsForceMoveCheck=" + Config.GpsForceMoveCheck + ", skipMoveCheck=" + skipMoveCheck); // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过 - if ((forceLocation != 1) && - (Config.GpsForceMoveCheck == true) && - (mNoMoveTimeout) && (skipMoveCheck == false)) { + if ((forceLocation != 1) && mNoMoveTimeout) { ICLogger.i("No Move ,skip BT location!"); - return false; } //以目前逻辑,每次检测必然跟随蓝牙扫描,因此可以在此直接更新上一次的计步次数,配合下次的运动检测 @@ -935,15 +936,16 @@ public class LocationClient { private boolean needLocation() { updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。 //如果没有动,且超时。则跳过定位 - mNoMoveTimeout = checkNoMoveTimeout(); + if (skipMoveCheck || Config.GpsForceMoveCheck) { + mNoMoveTimeout = false; + } else { + mNoMoveTimeout = checkNoMoveTimeout(); + } ICLogger.i(" NoMoveTimeout " + mNoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.GpsForceMoveCheck=" + Config.GpsForceMoveCheck + ", skipMoveCheck=" + skipMoveCheck); // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过 - if ((forceLocation != 1) && - (Config.GpsForceMoveCheck == true) && - (mNoMoveTimeout) && (skipMoveCheck == false)) { + if ((forceLocation != 1) && mNoMoveTimeout) { ICLogger.i("No Move ,skip BT location2!"); - return false; } //只做正常定位前是否运动的判断,给定位前蓝牙扫描专用的。和 NeedlocationFotBT 还不同。