From: SnickerSun Date: Wed, 8 Sep 2021 12:03:59 +0000 (+0800) Subject: release ICProtocol81 V928 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=86e85cf242365a81689567831cc35c87032880e9;p=protocol_srv.git release ICProtocol81 V928 优化定位逻辑。解决个别条件会造成无数据上传问题 --- diff --git a/app/release/ICProtocol8.1_V927_2109071837_release.apk b/app/release/ICProtocol8.1_V928_2109081956_release.apk similarity index 78% rename from app/release/ICProtocol8.1_V927_2109071837_release.apk rename to app/release/ICProtocol8.1_V928_2109081956_release.apk index f3a6b9ff..53a54a06 100644 Binary files a/app/release/ICProtocol8.1_V927_2109071837_release.apk and b/app/release/ICProtocol8.1_V928_2109081956_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 2abbccb7..0653acd9 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":927,"versionName":"2109071837","enabled":true,"outputFile":"ICProtocol8.1_V927_2109071837_release.apk","fullName":"release","baseName":"release"},"path":"ICProtocol8.1_V927_2109071837_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":928,"versionName":"2109081956","enabled":true,"outputFile":"ICProtocol8.1_V928_2109081956_release.apk","fullName":"release","baseName":"release"},"path":"ICProtocol8.1_V928_2109081956_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/ic/protocolSrv/Config.java b/app/src/main/java/com/ic/protocolSrv/Config.java index 0ed42fff..3102544b 100644 --- a/app/src/main/java/com/ic/protocolSrv/Config.java +++ b/app/src/main/java/com/ic/protocolSrv/Config.java @@ -71,7 +71,7 @@ public class Config { public static String DefaultWiFiEncryptType = "psk"; public static final int GPSLocationTimeoutInSeconds = 50; - public static final int WiFiLocationTimeoutInSeconds = 6; + public static final int WiFiLocationTimeoutInSeconds = 12; public static boolean sendSOSAtOnce = false; public static String c43_branch_name = "none"; diff --git a/app/src/main/java/com/ic/protocolSrv/LocationClient.java b/app/src/main/java/com/ic/protocolSrv/LocationClient.java index 2dd784d7..4a87fe20 100644 --- a/app/src/main/java/com/ic/protocolSrv/LocationClient.java +++ b/app/src/main/java/com/ic/protocolSrv/LocationClient.java @@ -609,20 +609,21 @@ public class LocationClient { case ICLocation.EMERGNECY_MOD: case ICLocation.REALTIME_MOD: { //GPS 优先的话多给些时间(10秒) - if (checktimes > GPSLocationTimeoutInSeconds) { - ICLogger.i("waitAndSendLocation " + checktimes + " timeout"); + timeCost = System.currentTimeMillis() - startCheckTime; + + if ((checktimes > WiFiLocationTimeoutInSeconds) || ((startCheckTime != 0L) && (timeCost > WiFiLocationTimeoutInSeconds *1000))) { + ICLogger.i("waitAndSendLocation WiFi TimeOut " + checktimes + " > "+WiFiLocationTimeoutInSeconds + " or timeCost "+timeCost+"> "+WiFiLocationTimeoutInSeconds*1000+"ms "); + wifi_timeout = true; + } + if ((checktimes > GPSLocationTimeoutInSeconds) || ((startCheckTime != 0L) && (timeCost > GPSLocationTimeoutInSeconds*1000))) { + //有时timer计数不准,则根据实际时间计算 + ICLogger.i("waitAndSendLocation " + checktimes + "> "+GPSLocationTimeoutInSeconds+" or timeCost "+timeCost+"> "+GPSLocationTimeoutInSeconds*1000+"ms "); timeout = true; } if (NoMoveTimeout && (timeout || gps_nosignal)) { //没有移动,GPS超时或者没信号都会给 计数 加 1 gpsTimeoutCountOnNoMove++; } - timeCost = System.currentTimeMillis() - startCheckTime; - if ((startCheckTime != 0L) && (timeCost > 50 * 1000L)) { - //有时timer计数不准,则根据实际时间计算 - ICLogger.i("waitAndSendLocation " + timeCost + "> 50000ms timeout"); - //timeout=true; - } // lbs only +timeout, lbs+wifi+gpsNosignal, libs+ , lbs+gps+wifi, Timeout can override wifi and gps if ((lbs_ok && timeout) || (gps_ok) @@ -638,6 +639,8 @@ public class LocationClient { } runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); + ICLogger.i("waitAndSendLocation startSOSLocation " + startSOSLocation +" or startNomalLocation "+startNomalLocation); + if (startSOSLocation) { StringMessage AP10_CMD = protocolAPIHelper.getWarningMSG(runtime); DeliverMessage(AP10_CMD); @@ -647,10 +650,10 @@ public class LocationClient { if (startNomalLocation = true) { startNomalLocation = false; if (gps_ok) { - if (!TextUtils.isEmpty(runtime.getWifiInfo())) { +// if (!TextUtils.isEmpty(runtime.getWifiInfo())) { StringMessage AP01_CMD = protocolAPIHelper.getGPSLocationMSG(runtime); DeliverMessage(AP01_CMD); - } +// } } else { StringMessage AP02_CMD = protocolAPIHelper.getLBSLocationMSG(runtime); DeliverMessage(AP02_CMD); @@ -669,7 +672,7 @@ public class LocationClient { if (Config.LOG_TOFILE) { ICLogger.logToFile("GPS", msg); } - } else if (timeout) { + } else if ((timeout ||gps_nosignal) && !lbs_ok && wifi_timeout) { //timeout + noLBS +noGPS ICLogger.i("timeout no location "); stopCheckLocationResult(); @@ -680,31 +683,36 @@ public class LocationClient { break; case ICLocation.CUSTOM_MOD9_WIFI_FIRST: { //检测wifi和lbs先,成功则直接返回,失败则开启GPS - if (checktimes > WiFiLocationTimeoutInSeconds) { - ICLogger.i("waitAndSendLocation " + checktimes + " WIFI Timeout start GPS location"); + + timeCost = System.currentTimeMillis() - startCheckTime; + //wifi扫描 检测次数到,或者实际时间到,都会触发 timeout事件,开启gps扫描。 + if ((checktimes > WiFiLocationTimeoutInSeconds) || ((startCheckTime != 0L) && (timeCost > WiFiLocationTimeoutInSeconds *1000))) { + ICLogger.i("waitAndSendLocation WiFi TimeOut " + checktimes + " > "+WiFiLocationTimeoutInSeconds + " or timeCost "+timeCost+"> "+WiFiLocationTimeoutInSeconds*1000+"ms "); + if (!wifi_timeout) + { + startGpsLocate(); + } wifi_timeout = true; - startGpsLocate(); } - if (checktimes > GPSLocationTimeoutInSeconds) { - ICLogger.i("waitAndSendLocation " + checktimes + " GPS timeout"); + //WIFI First 会在完成 wifi 检测且没有 后再开始GPS测试。 + if ((checktimes > (GPSLocationTimeoutInSeconds+WiFiLocationTimeoutInSeconds)) || ((startCheckTime != 0L) && (timeCost > (GPSLocationTimeoutInSeconds+WiFiLocationTimeoutInSeconds)*1000))) { + //有时timer计数不准,则根据实际时间计算 + ICLogger.i("waitAndSendLocation GPS Timeout " + checktimes + "> "+(GPSLocationTimeoutInSeconds+WiFiLocationTimeoutInSeconds)+" or timeCost "+timeCost+"> "+GPSLocationTimeoutInSeconds*1000+"ms "); timeout = true; } + if (NoMoveTimeout && (timeout || gps_nosignal)) { //没有移动,GPS超时或者没信号都会给 计数 加 1 gpsTimeoutCountOnNoMove++; } - timeCost = System.currentTimeMillis() - startCheckTime; - if ((startCheckTime != 0L) && (timeCost > 50 * 1000L)) { - //有时timer计数不准,则根据实际时间计算 - ICLogger.i("waitAndSendLocation " + timeCost + "> 50000ms timeout"); - //timeout=true; - } + // lbs only +timeout, lbs+wifi+gpsNosignal, libs+ , lbs+gps+wifi, Timeout can override wifi and gps String locationtype = "LBS"; if (wifi_ok) { locationtype = "WiFi"; runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); + ICLogger.i("waitAndSendLocation startSOSLocation " + startSOSLocation +" or startNomalLocation "+startNomalLocation); if (startSOSLocation) { StringMessage AP10_CMD = protocolAPIHelper.getWarningMSG(runtime); DeliverMessage(AP10_CMD); @@ -731,8 +739,6 @@ public class LocationClient { if ((lbs_ok && timeout) || (gps_ok) || (lbs_ok && (gps_ok || startSOSLocation)) - || (lbs_ok && (gps_ok || startSOSLocation) && wifi_ok) - || (lbs_ok && gps_nosignal && wifi_ok) ) { if (gps_ok) { @@ -740,6 +746,7 @@ public class LocationClient { } runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); + ICLogger.i("waitAndSendLocation startSOSLocation " + startSOSLocation +" or startNomalLocation "+startNomalLocation); if (startSOSLocation) { StringMessage AP10_CMD = protocolAPIHelper.getWarningMSG(runtime); DeliverMessage(AP10_CMD); @@ -749,10 +756,10 @@ public class LocationClient { if (startNomalLocation = true) { startNomalLocation = false; if (gps_ok) { - if (!TextUtils.isEmpty(runtime.getWifiInfo())) { +// if (!TextUtils.isEmpty(runtime.getWifiInfo())) { StringMessage AP01_CMD = protocolAPIHelper.getGPSLocationMSG(runtime); DeliverMessage(AP01_CMD); - } +// } } else { StringMessage AP02_CMD = protocolAPIHelper.getLBSLocationMSG(runtime); DeliverMessage(AP02_CMD); @@ -771,7 +778,7 @@ public class LocationClient { if (Config.LOG_TOFILE) { ICLogger.logToFile("GPS", msg); } - } else if (timeout) { + } else if ((timeout ||gps_nosignal) && !lbs_ok) { //timeout + noLBS +noGPS ICLogger.i("timeout no location "); stopCheckLocationResult(); @@ -786,23 +793,20 @@ public class LocationClient { case ICLocation.CUSTOM_MOD8_WIFI: default: { //wifi优先的话给20秒时间 - if (checktimes > WiFiLocationTimeoutInSeconds) { - ICLogger.i("waitAndSendLocation " + checktimes + " timeout"); - timeout = true; - } timeCost = System.currentTimeMillis() - startCheckTime; - if ((startCheckTime != 0L) && (timeCost > 20 * 1000L)) { - //有时timer计数不准,则根据实际时间计算 - ICLogger.i("waitAndSendLocation " + timeCost + "> 20000ms timeout"); - // timeout=true; + if ((checktimes > WiFiLocationTimeoutInSeconds) || ((startCheckTime != 0L) && (timeCost > WiFiLocationTimeoutInSeconds *1000))) { + ICLogger.i("waitAndSendLocation WiFi TimeOut " + checktimes + " > "+WiFiLocationTimeoutInSeconds + " or timeCost "+timeCost+"> "+WiFiLocationTimeoutInSeconds*1000+"ms "); + wifi_timeout = true; } - if ((lbs_ok && timeout) || (lbs_ok && wifi_ok)) { + + if ((lbs_ok && wifi_timeout) || (lbs_ok && wifi_ok)) { String locationtype = "LBS"; if (wifi_ok) { locationtype = "WiFi"; } runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); + ICLogger.i("waitAndSendLocation startSOSLocation " + startSOSLocation +" or startNomalLocation "+startNomalLocation); if (startSOSLocation) { StringMessage AP10_CMD = protocolAPIHelper.getWarningMSG(runtime); @@ -827,11 +831,11 @@ public class LocationClient { ICLogger.logToFile("GPS", msg); - } else if (timeout == true) { - ICLogger.i("timeout no location "); + } else if (wifi_timeout && !lbs_ok) { + ICLogger.i("WiFi timeout no location "); stopCheckLocationResult(); if (Config.LOG_TOFILE) - ICLogger.logToFile("GPS", "timeout no location "); + ICLogger.logToFile("GPS", "WiFi timeout no location "); } } break; diff --git a/app/version_code.properties b/app/version_code.properties index 02cdc3d1..b2c0774a 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Sep 07 18:37:40 CST 2021 -VERSION_CODE=927 +#Wed Sep 08 19:56:03 CST 2021 +VERSION_CODE=928