From: SnickerSun Date: Wed, 25 Aug 2021 10:54:38 +0000 (+0800) Subject: 梳理定位逻辑,修改部分变量名,让逻辑更清晰 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=e4f21c41ab78188904ed8e3148c8e9d6d4ae1e19;p=icsupport.git 梳理定位逻辑,修改部分变量名,让逻辑更清晰 --- diff --git a/app/src/main/java/com/ic/protocolSrv/Config.java b/app/src/main/java/com/ic/protocolSrv/Config.java index 22207b64..23394a08 100644 --- a/app/src/main/java/com/ic/protocolSrv/Config.java +++ b/app/src/main/java/com/ic/protocolSrv/Config.java @@ -44,7 +44,7 @@ public class Config { public static boolean enableDataRoaming = false; - public static boolean forceMoveCheck = true; + public static boolean forceGPSMoveCheck = true; public static boolean forceWearCheck = true; private static final String KEYDurationOfVibration = "DurationVib"; @@ -920,7 +920,7 @@ public class Config { noTempSensor = false; L004_BroadCastActionStrip = true; enableDataRoaming = true; - Config.forceMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议进行强制运动检测用的。 + Config.forceGPSMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议GPS进行强制运动检测用的。 } else if (Config.custom_name.equals("l005")) { ConfigAlarm(Runtime.AlarmType.ALARM_CUTOFF, true); @@ -942,7 +942,7 @@ public class Config { noTempSensor = true; L004_BroadCastActionStrip = true; enableDataRoaming = true; - forceMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议进行强制运动检测用的。 + forceGPSMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议进行强制运动检测用的。 } else if (custom_name.equals("YQ") || custom_name.equals("YQ_EN")) { ConfigAlarm(Runtime.AlarmType.ALARM_CUTOFF, true); ConfigAlarm(Runtime.AlarmType.ALARM_ILLEGAL_CUTOFF, true); @@ -1015,7 +1015,7 @@ public class Config { ConfigAlarm(Runtime.AlarmType.ALARM_LOCK_WATCH, true); ConfigAlarm(Runtime.AlarmType.ALARM_WEARED, true); ConfigAlarm(Runtime.AlarmType.ALARM_ANTIOFF, true); - forceMoveCheck = false; //对定位不进行运动检测。 + forceGPSMoveCheck = false; //对定位不进行运动检测。 DefaultLocationMode = CUSTOM_MOD8_GPS; DefaultLocationCycle = 5 * 60; @@ -1037,7 +1037,7 @@ public class Config { } else if (Config.custom_name.equals("L02") || Config.custom_name.equals("L03") || Config.custom_name.equals("L05")) { //L02 - Config.forceMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议进行强制运动检测用的。 + Config.forceGPSMoveCheck = false; //即爱对gps不进行运动检测,此变量专门为了给其他协议进行强制运动检测用的。 DefaultLocationMode = NORMAL_MOD; DefaultLocationCycle = 900; DefaultPPGTestCycleInMinutes = 0; diff --git a/app/src/main/java/com/ic/protocolSrv/CoreService.java b/app/src/main/java/com/ic/protocolSrv/CoreService.java index d37f23f6..ed53a482 100644 --- a/app/src/main/java/com/ic/protocolSrv/CoreService.java +++ b/app/src/main/java/com/ic/protocolSrv/CoreService.java @@ -121,6 +121,7 @@ import static com.ic.protocolSrv.Constants.TEMP_ALARM; import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD; import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD8_GPS; import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD8_WIFI; +import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD9_WIFI_FIRST; import static com.ic.protocolSrv.bean.ICLocation.EMERGNECY_MOD; import static com.ic.protocolSrv.bean.ICLocation.LOWPOWER_MOD; import static com.ic.protocolSrv.bean.ICLocation.NORMAL_MOD; @@ -1623,6 +1624,7 @@ public class CoreService extends Service { case CUSTOM_MOD: case CUSTOM_MOD8_GPS: case CUSTOM_MOD8_WIFI: + case CUSTOM_MOD9_WIFI_FIRST: cycle = runtime.getLocationInstance().getLocation_cycle(); break; } diff --git a/app/src/main/java/com/ic/protocolSrv/LocationClient.java b/app/src/main/java/com/ic/protocolSrv/LocationClient.java index 28ad514b..c0a251b6 100644 --- a/app/src/main/java/com/ic/protocolSrv/LocationClient.java +++ b/app/src/main/java/com/ic/protocolSrv/LocationClient.java @@ -925,11 +925,11 @@ public class LocationClient { updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。 //如果没有动,且超时。则跳过定位 NoMoveTimeout = checkNoMoveTimeoutForBT(); - ICLogger.i("BT NoMoveTimeout " + NoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.forceMoveCheck=" + Config.forceMoveCheck + ", skipMoveCheck=" + skipMoveCheck); + ICLogger.i("BT NoMoveTimeout " + NoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.forceGPSMoveCheck=" + Config.forceGPSMoveCheck + ", skipMoveCheck=" + skipMoveCheck); // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过 if ((forceLocation != 1) && - (Config.forceMoveCheck == true) && + (Config.forceGPSMoveCheck == true) && (NoMoveTimeout) && (skipMoveCheck == false)) { ICLogger.i("No Move ,skip BT location!"); @@ -944,11 +944,11 @@ public class LocationClient { updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。 //如果没有动,且超时。则跳过定位 NoMoveTimeout = checkNoMoveTimeout(); - ICLogger.i(" NoMoveTimeout " + NoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.forceMoveCheck=" + Config.forceMoveCheck + ", skipMoveCheck=" + skipMoveCheck); + ICLogger.i(" NoMoveTimeout " + NoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.forceGPSMoveCheck=" + Config.forceGPSMoveCheck + ", skipMoveCheck=" + skipMoveCheck); // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过 if ((forceLocation != 1) && - (Config.forceMoveCheck == true) && + (Config.forceGPSMoveCheck == true) && (NoMoveTimeout) && (skipMoveCheck == false)) { ICLogger.i("No Move ,skip BT location2!"); @@ -967,12 +967,18 @@ public class LocationClient { } //如果没有动,且超时。则跳过定位 NoMoveTimeout = checkNoMoveTimeout(); - // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过 - if ((forceLocation != 1) && - (((mod == ICLocation.NORMAL_MOD) || (mod == ICLocation.LOWPOWER_MOD) || (mod == ICLocation.CUSTOM_MOD8_WIFI)) || Config.forceMoveCheck == true) && - (NoMoveTimeout) && (skipMoveCheck == false)) { - ICLogger.i("No Move ,skip location!"); - return; + /* + 不强制定位(一次性强制取消移动检测用,定位后会恢复) && + (( NORMAL_MOD , LOWPOWER_MOD, CUSTOM_MODE_WIFI 任意一种) || 强制移动检测(其它协议需GPS要强制移动检测用) ) && + 没有移动过 && 不跳过移动检测(其它协议所有项目都需要跳过移动检测时使用) + 都满足才检测 + */ + if ( (forceLocation != 1) && + (((mod == ICLocation.NORMAL_MOD) || (mod == ICLocation.LOWPOWER_MOD) || (mod == ICLocation.CUSTOM_MOD8_WIFI)) || Config.forceGPSMoveCheck) && + (NoMoveTimeout) && + (!skipMoveCheck)) { + ICLogger.i("No Move ,skip location!"); + return; } if (NoMoveTimeout) { diff --git a/app/src/main/java/com/ic/protocolSrv/NMEAListener.java b/app/src/main/java/com/ic/protocolSrv/NMEAListener.java index 8c38ad14..8149fc09 100644 --- a/app/src/main/java/com/ic/protocolSrv/NMEAListener.java +++ b/app/src/main/java/com/ic/protocolSrv/NMEAListener.java @@ -87,6 +87,7 @@ public class NMEAListener implements NmeaListener, LocationListener { case ICLocation.CUSTOM_MOD8_GPS: case ICLocation.EMERGNECY_MOD: case ICLocation.REALTIME_MOD: + case ICLocation.CUSTOM_MOD9_WIFI_FIRST: //GPS 定位模式不关闭GPS,防止 1分钟定位超时后,重新关闭开启GPS。 //不给GPS继续定位的机会,造成第一次定位困难! break; diff --git a/app/src/main/java/com/ic/protocolSrv/bean/ICLocation.java b/app/src/main/java/com/ic/protocolSrv/bean/ICLocation.java index c877dde3..52f73cf1 100644 --- a/app/src/main/java/com/ic/protocolSrv/bean/ICLocation.java +++ b/app/src/main/java/com/ic/protocolSrv/bean/ICLocation.java @@ -92,8 +92,9 @@ public class ICLocation { public static final int REALTIME_MOD = 3; //location rate 1 time per minutes public static final int EMERGNECY_MOD = 4; //location rate 1 time per minutes com.ic.work 5 minutes public static final int CUSTOM_MOD = 5; //location rate 1 time per minutes - public static final int CUSTOM_MOD8_GPS = 8; //location rate 1 time per minutes - public static final int CUSTOM_MOD8_WIFI = 9; //location rate 1 time per minutes + public static final int CUSTOM_MOD8_GPS = 8; //location GPS first + WiFi + LBS + public static final int CUSTOM_MOD8_WIFI = 9; //location WiFi + LBS only + public static final int CUSTOM_MOD9_WIFI_FIRST = 10; //location rate 1 time per minutes private int mworkingMod; private int location_cycle; diff --git a/app/src/main/java/com/ic/protocolSrv/toolActivity.java b/app/src/main/java/com/ic/protocolSrv/toolActivity.java index 9c17e8bf..1ac03061 100644 --- a/app/src/main/java/com/ic/protocolSrv/toolActivity.java +++ b/app/src/main/java/com/ic/protocolSrv/toolActivity.java @@ -155,13 +155,13 @@ public class toolActivity extends Activity { btnSlog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(Config.forceMoveCheck) + if(Config.forceGPSMoveCheck) { - Config.forceMoveCheck=false; + Config.forceGPSMoveCheck=false; }else{ - Config.forceMoveCheck=true; + Config.forceGPSMoveCheck=true; } - Util.ShowToast(CoreService.getInstance().runtime,"Set ForceMoveCheck "+ Config.forceMoveCheck); + Util.ShowToast(CoreService.getInstance().runtime,"Set forceGPSMoveCheck "+ Config.forceGPSMoveCheck); } }); resizeSquare();