修复超过一天待机后如果重启就会清空步数问题。
authorsnickersun <scy@incartech.cn>
Thu, 30 Jul 2020 09:04:30 +0000 (17:04 +0800)
committersnickersun <scy@incartech.cn>
Thu, 30 Jul 2020 09:04:30 +0000 (17:04 +0800)
app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/CoreService.java

index 9f63f4e..ba97bda 100644 (file)
@@ -307,15 +307,13 @@ public class Config {
     return SharPreferenceUtil.getPrefInt(context,KeyLocationMode, ICLocation.NORMAL_MOD);\r
   }\r
 \r
-  private static final String KeyBootUpDate = "bootupdate";\r
-  private static int bootupcount=0;\r
+    private static final String KeyBootUpDate = "bootupdate";\r
   public static boolean logBootDate(Context context){\r
   //如果时间和最后一次时间不同,则重置,否则启动次数+1\r
     if (isFirstBootToday(context)) {\r
       SharPreferenceUtil.setPrefString(context, KeyBootUpDate, TimeUtil.getSystemTime4());\r
       return true;\r
     }else{\r
-      bootupcount++;\r
       return false;\r
     }\r
   }\r
@@ -324,6 +322,9 @@ public class Config {
     return SharPreferenceUtil.getPrefString(context,KeyBootUpDate,"");\r
   }\r
   private static boolean isFirstBootToday(Context context){\r
+      //第一次启动记录的日期,当前日期只要相同,就认为有启动过。\r
+      //如果手表一直没有重启过,则每次resetStepCount的时候把启动时间更新到当天,\r
+      //从而解决第二天重启就会被重置的问题!\r
     String currentDate=TimeUtil.getSystemTime4();\r
     String lastDate=getLastBootupDate(context);\r
     boolean ret=false;\r
@@ -331,7 +332,6 @@ public class Config {
       ret= false;\r
     }else\r
     {\r
-      bootupcount=1;\r
       ret= true;\r
     }\r
     ICLogger.i("Current BootDate="+currentDate+", Last BootDate="+lastDate+", ret="+ret);\r
index d23b72f..1418b07 100644 (file)
@@ -821,6 +821,7 @@ public class CoreService extends Service {
                 runtime.getContextProxy().brodcastResetStepCount(runtime.getTotalStepCount());\r
                 resetStepCount();\r
                 setCleanStepCountAlarm();\r
+                Config.logBootDate(this);//重置步数的时候,要把开机时间也更新一下,否则第二天 任意时间重启都会造成计步数据清零\r
                 return Service.START_STICKY;\r
             } else if (ACTION_HEATR_RATE_START.equals(paramIntent.getAction())) {\r
 \r