From: snickersun Date: Fri, 25 Sep 2020 13:08:22 +0000 (+0800) Subject: 给 运动检测扩展到所有定位模式,且是不运动3分钟后才不进行定位。 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=886807d2bbc0a95f2f70aadd0a937d0ed5fc50c5;p=protocol_srv.git 给 运动检测扩展到所有定位模式,且是不运动3分钟后才不进行定位。 --- diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index 0313f45f..be0f34da 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -35,7 +35,7 @@ public class Config { public static int defaultHeartbeatCycle=5; public static int sw_release_no = -1; public static int bleScanTimeout=10; - public static boolean forceMoveCheck=false; + public static boolean forceMoveCheck=true; public static String work_mode = "2@1"; public static final String JiAiHost="watch.jiai.pro"; @@ -56,7 +56,7 @@ public class Config { public static final int WiFiLocationTimeoutInSeconds=12; public static String c43_branch_name="none"; - public static String custom_branch_name="none"; + public static String custom_name="none"; public static boolean noSMSNotifyDialog=false; public static boolean noPushTxtNotifyDialog=false; @@ -404,23 +404,23 @@ public class Config { noPPGSensor=true; } } - custom_branch_name=Util.getSystemProperties("persist.sys.customname"); - ICLogger.i("get CUSTOMNAME "+custom_branch_name); - if (custom_branch_name.equals("H88")||custom_branch_name.equals("H88A") ){ + custom_name=Util.getSystemProperties("persist.sys.customname"); + ICLogger.i("get CUSTOMNAME "+custom_name); + if (custom_name.equals("H88")||custom_name.equals("H88A") ){ noPushTxtNotifyDialog=true; noSMSNotifyDialog=false; noVoiceNotifyDialog=false; noPPGSensor=false; noTempSensor=false; needBroadcastAntiAlarm=false; - }else if ((custom_branch_name.equals("AK")) ){ + }else if ((custom_name.equals("AK")) ){ noPushTxtNotifyDialog=true; noSMSNotifyDialog=true; noVoiceNotifyDialog=true; noPPGSensor=false; noTempSensor=true; SOSNoNeedDial=true; //采用新写的SOS,协议只需要发送消息,无需控制拨号。 - }else if ((custom_branch_name.equals("l004")) ) { + }else if ((custom_name.equals("l004")) ) { noPushTxtNotifyDialog=true; noSMSNotifyDialog=true; noVoiceNotifyDialog=true; @@ -431,7 +431,7 @@ public class Config { noPPGSensor=false; noTempSensor=false; L004_BroadCastActionStrip=true; - }else if (custom_branch_name.equals("YQ") ||custom_branch_name.equals("YQ_EN") ) { //A9-YQ + }else if (custom_name.equals("YQ") ||custom_name.equals("YQ_EN") ) { //A9-YQ noPushTxtNotifyDialog=true; noSMSNotifyDialog=true; noVoiceNotifyDialog=true; diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 71dfe6a5..33c8becc 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -623,7 +623,7 @@ public class CoreService extends Service { //初始化消息相关配置 Config.LoadMessageConfigs(); - if (Config.custom_branch_name.equals("H88")) { + if (Config.custom_name.equals("H88")) { if (Config.getConfigInitFlag(this) == 0) { Config.setLocationMode(this, CUSTOM_MOD8_GPS); @@ -634,7 +634,7 @@ public class CoreService extends Service { Config.ConfigAlarm(Runtime.AlarmType.ALARM_ANTIOFF,true); Config.ConfigAlarm(Runtime.AlarmType.ALARM_WEARED,true); } - }else if (Config.custom_branch_name.equals("l004")) { + }else if (Config.custom_name.equals("l004")) { if (Config.getConfigInitFlag(this) == 0) { Config.setLocationMode(this, CUSTOM_MOD8_GPS); Config.setLocationCycle(this, 600); @@ -645,7 +645,7 @@ public class CoreService extends Service { Config.ConfigAlarm(Runtime.AlarmType.ALARM_ILLEGAL_CUTOFF,true); Config.ConfigAlarm(Runtime.AlarmType.ALARM_LOCK_WATCH,true); } - }else if (Config.custom_branch_name.equals("AK")) { + }else if (Config.custom_name.equals("AK")) { if (Config.getConfigInitFlag(this)==0) { Config.setPPGTestCycle(this, 0); Config.setTemperatureTestCycle(runtime, 0); @@ -664,7 +664,7 @@ public class CoreService extends Service { // runtime.getDbHelper().saveContacts(contactArray,false,false,false,false,false,true); // } } - }else if (Config.custom_branch_name.equals("SGL")) { //C5项目 + }else if (Config.custom_name.equals("SGL")) { //C5项目 if (Config.getConfigInitFlag(this)==0) { Config.setLocationMode(this, CUSTOM_MOD8_GPS); Config.setLocationCycle(this, 1800); @@ -684,6 +684,13 @@ public class CoreService extends Service { // runtime.getDbHelper().saveContacts(contactArray,false,false,false,false,false,true); // } } + }else if (Config.custom_name.equals("JIAI")) { //L02 + if (Config.getConfigInitFlag(this)==0) { + Config.setPPGTestCycle(this, 0); + Config.setTemperatureTestCycle(runtime, 0); + Config.forceMoveCheck=false; + Config.setConfigInitFlag(this, 1); + } }else{ if (Config.getConfigInitFlag(this)==0) { diff --git a/app/src/main/java/com/enqualcomm/support/LocationClient.java b/app/src/main/java/com/enqualcomm/support/LocationClient.java index 6b41132a..285e7686 100644 --- a/app/src/main/java/com/enqualcomm/support/LocationClient.java +++ b/app/src/main/java/com/enqualcomm/support/LocationClient.java @@ -696,20 +696,35 @@ public void updateCellInfo() { private static boolean NoMoveAndNoGPSsignalSkipGpsFlag=false; private static boolean noMove=false; private static boolean last_noMove=false; - private static int noMoveCount=0; - private static final int MaxNoMoveTimeout=3000; + private static final int MaxNoMoveTimeout=3*60*1000; //3分钟 + private static long first_NoMove_timestamp=0; - private static void checkNoMove(){ + + /*** + *noMove and timeout return true + * else return false + */ + private boolean checkNoMoveTimeout(){ noMove=runtime.getLastStepCount() == runtime.getTotalStepCount(); runtime.updateFZDDevStatusMoving(!noMove); //设置当前运动状态 - } - + if (last_noMove==false&& noMove==true){ + first_NoMove_timestamp=System.currentTimeMillis(); + }else if (noMove==false){ + first_NoMove_timestamp=0; + } + //属于 判断是否 不动的状态超时 + if (noMove==true&& first_NoMove_timestamp>0.01 && System.currentTimeMillis()-first_NoMove_timestamp > MaxNoMoveTimeout){ + return true; + }else{ + return false; + } + } - public void startLocationProcess(int mod){ + public void startLocationProcess(int mod){ updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。 ICLogger.i("forceLocation="+forceLocation+", WorkingMod="+mod+", isLocating="+isLocating+", lastStep="+runtime.getLastStepCount()+", currentStep="+ runtime.getTotalStepCount()); @@ -717,13 +732,12 @@ public void updateCellInfo() { ICLogger.i("locating ,skip location!"); return; } - - checkNoMove(); - + //如果没有动,且超时。则跳过定位 + boolean NoMoveTimeout=checkNoMoveTimeout(); // 不强制定位 且 WorkingMod 不是紧急模式,且 没有移动过 if ( ( forceLocation != 1 ) && ((( mod == ICLocation.NORMAL_MOD ) || ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true) && - (noMove) && (skipMoveCheck ==false )){ + (NoMoveTimeout) && (skipMoveCheck ==false )){ ICLogger.i("No Move ,skip location!"); return ; }