get temperature loope ten seconds.
authorkfl_614 <kfl_614@163.com>
Wed, 16 Dec 2020 09:32:28 +0000 (17:32 +0800)
committerkfl_614 <kfl_614@163.com>
Wed, 16 Dec 2020 09:32:28 +0000 (17:32 +0800)
app/src/main/java/com/enqualcomm/support/bean/Runtime.java
app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java

index 0aa989b..f5aa7e3 100644 (file)
@@ -2,7 +2,6 @@ package com.enqualcomm.support.bean;
 \r
 \r
 import android.content.Context;\r
-import android.support.constraint.solver.widgets.Helper;\r
 \r
 import com.enqualcomm.support.Config;\r
 import com.enqualcomm.support.adapter.LBSHelper;\r
@@ -10,315 +9,316 @@ import com.enqualcomm.support.utils.ContextProxy;
 import com.enqualcomm.support.utils.DBHelper;\r
 import com.enqualcomm.support.utils.DnsUtil;\r
 import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.VibrateUtil;\r
 \r
 import java.io.File;\r
-import java.text.ParseException;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Calendar;\r
-import java.util.Date;\r
-import java.util.Locale;\r
 \r
 public class Runtime {\r
-    private boolean debugflag=false;\r
+    private boolean debugflag = false;\r
 \r
-    public int temp_test_Cycle=60*60;\r
-    public int anti_test_cycle=30;\r
+    public int temp_test_Cycle = 60 * 60;\r
+    public int anti_test_cycle = 30;\r
 \r
-    public static String PushtxtMsg_srv_index="";\r
+    public static String PushtxtMsg_srv_index = "";\r
 \r
     public int SignalStrength;\r
     //上一次成功心跳时间,供系统重连机制使用。\r
-    public long lastLoginSuccessTime=0;\r
-    public TemperatureInfo tempInfo=new TemperatureInfo();\r
-  public boolean BindingStatus=false;\r
-  public BLEInfo bleInfo=new BLEInfo();\r
-  private String battery="000";\r
-\r
-  private int batteryVoltage=0;\r
-  private boolean batteryLow;\r
-  \r
-  private boolean batterychanging;\r
-\r
-  public String belong;\r
-  \r
-  private File cacheDir;\r
-  \r
-  private String cdmaInfo;\r
-  \r
-  public String cellidByAt;\r
-  \r
-  private String cellinfo;\r
-  \r
-  private String cid = "";\r
-  \r
-  private ContextProxy contextProxy;\r
-  \r
-  private String currentCellInfo;\r
-  \r
-//  public String currentWifiInfo="";\r
-  private  static int ppgTestCycle;\r
-\r
-  private DBHelper dbHelper;\r
-  \r
-  private String device_id;\r
-  \r
-  private String device_key;\r
-  \r
-  private File fileDir;\r
-  \r
-  private boolean haveBatteryChange;\r
-  \r
-  private String haveBuy;\r
-  \r
-  private String haveTry;\r
-\r
-  private String host = "watch.jiai.pro"; //118.178.155.223\r
-\r
-  private String srvIP = "118.178.155.223";//"39.98.94.164";\r
-\r
-  private String imei = "";\r
-\r
-  private int port = 8090;//20048;//8888;//8090;\r
-\r
-\r
-  private boolean testServerProp=false;\r
-\r
-  private String imei_cid = "";\r
-  \r
-  private String imei_cid_key = "";\r
-  \r
-  private String imsi = "";\r
-  \r
-  public boolean isAirMode=false;\r
-  \r
-\r
-  private String key = "867155030001063";\r
-  \r
-  public String lacByAt;\r
-  \r
-\r
-  private LBSHelper lbsHelper;\r
-\r
-\r
-  private heartRateStatus HRS=null;\r
-\r
-    private boolean FactoryTestingStat=false;\r
-\r
-    public void setFactoryTestingStat(boolean testing){\r
-        FactoryTestingStat=testing;\r
-    }\r
-    public boolean getFactoryTestingStat(){\r
+    public long lastLoginSuccessTime = 0;\r
+    public TemperatureInfo tempInfo = new TemperatureInfo();\r
+    public boolean BindingStatus = false;\r
+    public BLEInfo bleInfo = new BLEInfo();\r
+    private String battery = "000";\r
+\r
+    private int batteryVoltage = 0;\r
+    private boolean batteryLow;\r
+\r
+    private boolean batterychanging;\r
+\r
+    public String belong;\r
+\r
+    private File cacheDir;\r
+\r
+    private String cdmaInfo;\r
+\r
+    public String cellidByAt;\r
+\r
+    private String cellinfo;\r
+\r
+    private String cid = "";\r
+\r
+    private ContextProxy contextProxy;\r
+\r
+    private String currentCellInfo;\r
+\r
+    //  public String currentWifiInfo="";\r
+    private static int ppgTestCycle;\r
+\r
+    private DBHelper dbHelper;\r
+\r
+    private String device_id;\r
+\r
+    private String device_key;\r
+\r
+    private File fileDir;\r
+\r
+    private boolean haveBatteryChange;\r
+\r
+    private String haveBuy;\r
+\r
+    private String haveTry;\r
+\r
+    private String host = "watch.jiai.pro"; //118.178.155.223\r
+\r
+    private String srvIP = "118.178.155.223";//"39.98.94.164";\r
+\r
+    private String imei = "";\r
+\r
+    private int port = 8090;//20048;//8888;//8090;\r
+\r
+\r
+    private boolean testServerProp = false;\r
+\r
+    private String imei_cid = "";\r
+\r
+    private String imei_cid_key = "";\r
+\r
+    private String imsi = "";\r
+\r
+    public boolean isAirMode = false;\r
+\r
+\r
+    private String key = "867155030001063";\r
+\r
+    public String lacByAt;\r
+\r
+\r
+    private LBSHelper lbsHelper;\r
+\r
+\r
+    private heartRateStatus HRS = null;\r
+\r
+    private boolean FactoryTestingStat = false;\r
+\r
+    public void setFactoryTestingStat(boolean testing) {\r
+        FactoryTestingStat = testing;\r
+    }\r
+\r
+    public boolean getFactoryTestingStat() {\r
         return FactoryTestingStat;\r
     }\r
-  private boolean UseQueue=false;\r
-  private boolean lockSimInfo=false;\r
 \r
-  private boolean ServerHeartBeadReceived=false;\r
+    private boolean UseQueue = false;\r
+    private boolean lockSimInfo = false;\r
 \r
-  public void setServerProtocolConnected(boolean received){\r
-    ServerHeartBeadReceived=received;\r
-  }\r
+    private boolean ServerHeartBeadReceived = false;\r
 \r
-  public boolean isServerProtocolConnected(){\r
-    return ServerHeartBeadReceived;\r
-  }\r
+    public void setServerProtocolConnected(boolean received) {\r
+        ServerHeartBeadReceived = received;\r
+    }\r
 \r
-  public void setPpgTestCycle(int cycle){\r
-    ppgTestCycle=cycle;\r
-  }\r
+    public boolean isServerProtocolConnected() {\r
+        return ServerHeartBeadReceived;\r
+    }\r
 \r
-  public int getPpgTestCycle(){\r
-    return ppgTestCycle;\r
-  }\r
+    public void setPpgTestCycle(int cycle) {\r
+        ppgTestCycle = cycle;\r
+    }\r
+\r
+    public int getPpgTestCycle() {\r
+        return ppgTestCycle;\r
+    }\r
 \r
 \r
-  public boolean check_stat_do_ppg_test(){\r
-      if(debugflag||(Config.noPPGSensor == false  //有心率\r
-              && ( (isNeedAntioff==true && isAntioff==false) ||(isNeedAntioff==false)) //不支持脱腕,或者支持脱腕且佩戴中\r
-      )){\r
-          return true;\r
-      }\r
-      ICLogger.i("不符合条件,跳过 心率检测!"+(Config.noPPGSensor==true?"无心率":"有心率")+" 有佩戴检测?"+isNeedAntioff+  " 脱落?"+isAntioff);\r
-      return false;\r
-  }\r
+    public boolean check_stat_do_ppg_test() {\r
+        if (debugflag || (Config.noPPGSensor == false  //有心率\r
+                && ((isNeedAntioff == true && isAntioff == false) || (isNeedAntioff == false)) //不支持脱腕,或者支持脱腕且佩戴中\r
+        )) {\r
+            return true;\r
+        }\r
+        ICLogger.i("不符合条件,跳过 心率检测!" + (Config.noPPGSensor == true ? "无心率" : "有心率") + " 有佩戴检测?" + isNeedAntioff + " 脱落?" + isAntioff);\r
+        return false;\r
+    }\r
 \r
-    public boolean check_stat_do_temp_test(){\r
-        if(debugflag||(Config.noTempSensor == false && //有体温\r
-                ( isPowerConnected()==false && getMsAfterLastPowerPlugout()> 300000 )//没有充电至少5分钟\r
-                &&  ( (isNeedAntioff==true && isAntioff==false) ||(isNeedAntioff==false)) //不支持脱腕,或者支持脱腕且佩戴中\r
-        )){\r
+    public boolean check_stat_do_temp_test() {\r
+        if (debugflag || (Config.noTempSensor == false //有体温\r
+                && ((isNeedAntioff == true && isAntioff == false) || (isNeedAntioff == false)) //不支持脱腕,或者支持脱腕且佩戴中\r
+        )) {\r
             return true;\r
         }\r
-        ICLogger.i("不符合条件,跳过 体温检测!"+(Config.noTempSensor==true?"无体温":"有体温")+" 充电?"+isPowerConnected()+ " 移除充电器时间?"+getMsAfterLastPowerPlugout()+"ms, 需要佩戴检测?"+isNeedAntioff+  ", 脱腕?"+isAntioff);\r
+        ICLogger.i("不符合条件,跳过 体温检测!" + (Config.noTempSensor == true ? "无体温" : "有体温") + " 充电?" + isPowerConnected() + " 移除充电器时间?" + getMsAfterLastPowerPlugout() + "ms, 需要佩戴检测?" + isNeedAntioff + ", 脱腕?" + isAntioff);\r
         return false;\r
     }\r
-  public void setUseQueue(boolean usequeue){\r
-    UseQueue=usequeue;\r
-  }\r
 \r
-  public boolean getUseQueue(){\r
-    return UseQueue;\r
-  }\r
-  private String mccAndMnc;\r
-  \r
-  private String language="zh-cn";\r
-  public String getLanguage(){\r
-    return language;\r
-  }\r
-  public void setLanguage(String _language){\r
-    language=_language;\r
-  }\r
+    public void setUseQueue(boolean usequeue) {\r
+        UseQueue = usequeue;\r
+    }\r
+\r
+    public boolean getUseQueue() {\r
+        return UseQueue;\r
+    }\r
+\r
+    private String mccAndMnc;\r
 \r
+    private String language = "zh-cn";\r
 \r
+    public String getLanguage() {\r
+        return language;\r
+    }\r
+\r
+    public void setLanguage(String _language) {\r
+        language = _language;\r
+    }\r
 \r
-  //0 代表没有出围栏,如果出围栏则置1,每次报警再加1\r
-  public int Fence_Warning_flag=0;\r
+\r
+    //0 代表没有出围栏,如果出围栏则置1,每次报警再加1\r
+    public int Fence_Warning_flag = 0;\r
 \r
     //0 代表佩戴,如果脱腕则置1,每次报警再加1\r
-    public int Anti_off_flag=0;\r
-    public int Cut_off_flag=0;\r
-\r
-  public enum AlarmType{\r
-      ALARM_SOS, //sos\r
-      ALARM_LOWBATTERY, //低电\r
-      ALARM_ANTIOFF, //脱腕报警\r
-      ALARM_WEARED, //佩戴\r
-      ALARM_CUTOFF,//剪断报警\r
-      ALARM_FALL, //跌倒\r
-      ALARM_ABNORMAL_HEART_RATE, //心率异常\r
-      ALARM_HEART_RATE_HIGH, //心率高\r
-      ALARM_HEART_RATE_LOW, //心率低\r
-      ALARM_BPH_HIGH, //高压高\r
-      ALARM_BPH_LOW, //高压低\r
-      ALARM_BPL_HIGH, //低压高\r
-      ALARM_BPL_LOW,  //低压低\r
-      ALARM_SEDENTARY, //久坐提醒\r
-      ALARM_ILLEGAL_CUTOFF, //剪断\r
-      ALARM_LOCK_WATCH, //锁定\r
-      ALARM_TEMP_HIGH, //体温高\r
-      ALARM_TEMP_LOW, //体温低\r
-      ALARM_POWER_OFF, //关机\r
-      ALARM_ESCAPE, //逃逸\r
-      ALARM_UNREADMSG, //消息未读\r
-      ALARM_MSGREAD, //消息已读\r
-      ALARM_NONE,\r
-      ALARM_REMOVE_SOS,//附加的,专门给防走丢用来清除SOS标志用的\r
-    };\r
-\r
-  private AlarmType g_alarm=AlarmType.ALARM_NONE;\r
-\r
-    private String alarmType="00";\r
-    public String getAlarmType(){\r
+    public int Anti_off_flag = 0;\r
+    public int Cut_off_flag = 0;\r
+\r
+    public enum AlarmType {\r
+        ALARM_SOS, //sos\r
+        ALARM_LOWBATTERY, //低电\r
+        ALARM_ANTIOFF, //脱腕报警\r
+        ALARM_WEARED, //佩戴\r
+        ALARM_CUTOFF,//剪断报警\r
+        ALARM_FALL, //跌倒\r
+        ALARM_ABNORMAL_HEART_RATE, //心率异常\r
+        ALARM_HEART_RATE_HIGH, //心率高\r
+        ALARM_HEART_RATE_LOW, //心率低\r
+        ALARM_BPH_HIGH, //高压高\r
+        ALARM_BPH_LOW, //高压低\r
+        ALARM_BPL_HIGH, //低压高\r
+        ALARM_BPL_LOW,  //低压低\r
+        ALARM_SEDENTARY, //久坐提醒\r
+        ALARM_ILLEGAL_CUTOFF, //剪断\r
+        ALARM_LOCK_WATCH, //锁定\r
+        ALARM_TEMP_HIGH, //体温高\r
+        ALARM_TEMP_LOW, //体温低\r
+        ALARM_POWER_OFF, //关机\r
+        ALARM_ESCAPE, //逃逸\r
+        ALARM_UNREADMSG, //消息未读\r
+        ALARM_MSGREAD, //消息已读\r
+        ALARM_NONE,\r
+        ALARM_REMOVE_SOS,//附加的,专门给防走丢用来清除SOS标志用的\r
+    }\r
+\r
+    ;\r
+\r
+    private AlarmType g_alarm = AlarmType.ALARM_NONE;\r
+\r
+    private String alarmType = "00";\r
+\r
+    public String getAlarmType() {\r
         return alarmType;\r
     }\r
 \r
     //32 bit 数据\r
-    private int fzdDevStatus=0x00000000;\r
+    private int fzdDevStatus = 0x00000000;\r
 \r
 \r
     /***\r
- *    00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警,\r
- *    07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低,\r
- *    14:久坐提醒,15:非法解锁(剪断报警),16:锁定提醒(佩戴提醒),17:体温过高,18体温过低) 19 关机事件(非服务器指令关机), 20,escape逃跑事件(离开蓝牙管控范围)\r
+     *    00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警,\r
+     *    07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低,\r
+     *    14:久坐提醒,15:非法解锁(剪断报警),16:锁定提醒(佩戴提醒),17:体温过高,18体温过低) 19 关机事件(非服务器指令关机), 20,escape逃跑事件(离开蓝牙管控范围)\r
      *    21, 消息未读 , 22消息已读\r
-  */\r
-   public boolean setAlarmType(AlarmType alarm){\r
+     */\r
+    public boolean setAlarmType(AlarmType alarm) {\r
 //    if ( !fall && !lowbattery && !sos && antioff)\r
-       g_alarm=alarm;\r
-\r
-       if (Config.isAlarmTypeEnabled(alarm) == false){\r
-           ICLogger.i(alarm.name()+" is disabled, skip!");\r
-           return false;\r
-       }\r
-       //同时更新防走丢设备状态标志\r
-       setFZDDevStatus(alarm);\r
-\r
-      switch (alarm){\r
-          case ALARM_SOS:\r
-              alarmType="01";\r
-              break;\r
-          case ALARM_LOWBATTERY:\r
-              alarmType="02";\r
-              break;\r
-          case ALARM_ANTIOFF:\r
-              alarmType="03";\r
-              break;\r
-          case ALARM_WEARED:\r
-              alarmType="04";\r
-              break;\r
-          case ALARM_CUTOFF:\r
-              alarmType="05";\r
-              break;\r
-          case ALARM_FALL:\r
-              alarmType="06";\r
-              break;\r
-\r
-          case ALARM_ABNORMAL_HEART_RATE:\r
-              alarmType="07";\r
-              break;\r
-\r
-          case ALARM_HEART_RATE_HIGH:\r
-              alarmType="08";\r
-              break;\r
-\r
-          case ALARM_HEART_RATE_LOW:\r
-              alarmType="09";\r
-              break;\r
-\r
-          case ALARM_BPH_HIGH:\r
-              alarmType="10";\r
-              break;\r
-\r
-          case ALARM_BPH_LOW:\r
-              alarmType="11";\r
-              break;\r
-\r
-          case ALARM_BPL_HIGH:\r
-              alarmType="12";\r
-              break;\r
-\r
-          case ALARM_BPL_LOW:\r
-              alarmType="13";\r
-              break;\r
-\r
-          case ALARM_SEDENTARY:\r
-              alarmType="14";\r
-              break;\r
-\r
-          case ALARM_ILLEGAL_CUTOFF:\r
-              alarmType="15";\r
-              break;\r
-\r
-          case ALARM_LOCK_WATCH:\r
-              alarmType="16";\r
-              break;\r
-\r
-          case ALARM_TEMP_HIGH:\r
-              alarmType="17";\r
-              break;\r
-\r
-          case ALARM_TEMP_LOW:\r
-              alarmType="18";\r
-              break;\r
-          case ALARM_POWER_OFF:\r
-              alarmType="19";\r
-              break;\r
-          case ALARM_ESCAPE:\r
-              alarmType="20";\r
-              break;\r
-          case ALARM_UNREADMSG:\r
-              alarmType="21";\r
-              break;\r
-          case ALARM_MSGREAD:\r
-              alarmType="22";\r
-              break;\r
-          default:\r
-              alarmType="00";\r
-              break;\r
-      }\r
-      return true;\r
-  }\r
+        g_alarm = alarm;\r
+\r
+        if (Config.isAlarmTypeEnabled(alarm) == false) {\r
+            ICLogger.i(alarm.name() + " is disabled, skip!");\r
+            return false;\r
+        }\r
+        //同时更新防走丢设备状态标志\r
+        setFZDDevStatus(alarm);\r
+\r
+        switch (alarm) {\r
+            case ALARM_SOS:\r
+                alarmType = "01";\r
+                break;\r
+            case ALARM_LOWBATTERY:\r
+                alarmType = "02";\r
+                break;\r
+            case ALARM_ANTIOFF:\r
+                alarmType = "03";\r
+                break;\r
+            case ALARM_WEARED:\r
+                alarmType = "04";\r
+                break;\r
+            case ALARM_CUTOFF:\r
+                alarmType = "05";\r
+                break;\r
+            case ALARM_FALL:\r
+                alarmType = "06";\r
+                break;\r
+\r
+            case ALARM_ABNORMAL_HEART_RATE:\r
+                alarmType = "07";\r
+                break;\r
+\r
+            case ALARM_HEART_RATE_HIGH:\r
+                alarmType = "08";\r
+                break;\r
+\r
+            case ALARM_HEART_RATE_LOW:\r
+                alarmType = "09";\r
+                break;\r
+\r
+            case ALARM_BPH_HIGH:\r
+                alarmType = "10";\r
+                break;\r
+\r
+            case ALARM_BPH_LOW:\r
+                alarmType = "11";\r
+                break;\r
+\r
+            case ALARM_BPL_HIGH:\r
+                alarmType = "12";\r
+                break;\r
+\r
+            case ALARM_BPL_LOW:\r
+                alarmType = "13";\r
+                break;\r
+\r
+            case ALARM_SEDENTARY:\r
+                alarmType = "14";\r
+                break;\r
+\r
+            case ALARM_ILLEGAL_CUTOFF:\r
+                alarmType = "15";\r
+                break;\r
+\r
+            case ALARM_LOCK_WATCH:\r
+                alarmType = "16";\r
+                break;\r
+\r
+            case ALARM_TEMP_HIGH:\r
+                alarmType = "17";\r
+                break;\r
+\r
+            case ALARM_TEMP_LOW:\r
+                alarmType = "18";\r
+                break;\r
+            case ALARM_POWER_OFF:\r
+                alarmType = "19";\r
+                break;\r
+            case ALARM_ESCAPE:\r
+                alarmType = "20";\r
+                break;\r
+            case ALARM_UNREADMSG:\r
+                alarmType = "21";\r
+                break;\r
+            case ALARM_MSGREAD:\r
+                alarmType = "22";\r
+                break;\r
+            default:\r
+                alarmType = "00";\r
+                break;\r
+        }\r
+        return true;\r
+    }\r
 \r
 \r
     /***\r
@@ -353,8 +353,8 @@ public class Runtime {
     public String getFZDDevStatus(Runtime runtime) {\r
         StringBuilder sb = new StringBuilder();\r
         sb.append(Integer.toHexString(runtime.fzdDevStatus));\r
-        if (sb.length() <8) {\r
-            for (int i=0;i< 8-sb.length();i++)\r
+        if (sb.length() < 8) {\r
+            for (int i = 0; i < 8 - sb.length(); i++)\r
                 sb.insert(0, '0'); // pad with leading zero if needed\r
         }\r
         String hex = sb.toString();\r
@@ -362,49 +362,50 @@ public class Runtime {
     }\r
 \r
 \r
-    public void updateFZDDevStatusLowbat(boolean lowbattery){\r
+    public void updateFZDDevStatusLowbat(boolean lowbattery) {\r
 \r
-        if(lowbattery){\r
-            fzdDevStatus|=0x00000001;\r
-            fzdDevStatus|=0x00020000;\r
-        }else{\r
-            fzdDevStatus&=~0x00000001;\r
-            fzdDevStatus&=~0x00020000;\r
+        if (lowbattery) {\r
+            fzdDevStatus |= 0x00000001;\r
+            fzdDevStatus |= 0x00020000;\r
+        } else {\r
+            fzdDevStatus &= ~0x00000001;\r
+            fzdDevStatus &= ~0x00020000;\r
         }\r
     }\r
+\r
     public void updateFZDDevStatusWeared(boolean weared) {\r
-        if(weared){\r
-            fzdDevStatus|=0x00000008;\r
-        }else{\r
-            fzdDevStatus&=~0x00000008;\r
+        if (weared) {\r
+            fzdDevStatus |= 0x00000008;\r
+        } else {\r
+            fzdDevStatus &= ~0x00000008;\r
         }\r
     }\r
 \r
     public void updateFZDDevStatusMoving(boolean moving) {\r
-        if(moving){\r
-            fzdDevStatus&=~0x00000010;\r
-        }else{\r
-            fzdDevStatus|=0x00000010;\r
+        if (moving) {\r
+            fzdDevStatus &= ~0x00000010;\r
+        } else {\r
+            fzdDevStatus |= 0x00000010;\r
         }\r
     }\r
 \r
-    public void updateFZDDevStatusEscape(boolean escape){\r
-        if(escape){\r
-            fzdDevStatus|=0x00040000;\r
-        }else{\r
-            fzdDevStatus&=~0x00040000;\r
+    public void updateFZDDevStatusEscape(boolean escape) {\r
+        if (escape) {\r
+            fzdDevStatus |= 0x00040000;\r
+        } else {\r
+            fzdDevStatus &= ~0x00040000;\r
         }\r
 \r
     }\r
 \r
-    public void setFZDDevStatus(AlarmType _alarmType){\r
+    public void setFZDDevStatus(AlarmType _alarmType) {\r
 \r
-        switch (_alarmType){\r
+        switch (_alarmType) {\r
             case ALARM_SOS:\r
-                fzdDevStatus |=0x00010000;\r
+                fzdDevStatus |= 0x00010000;\r
                 break;\r
             case ALARM_LOWBATTERY:\r
-                fzdDevStatus |=0x00020000;\r
+                fzdDevStatus |= 0x00020000;\r
                 break;\r
             case ALARM_ANTIOFF:\r
 //                fzdDevStatus&=0x00000008;\r
@@ -415,17 +416,17 @@ public class Runtime {
 //                fzdDevStatus&=~0x00000008;\r
                 break;\r
             case ALARM_LOCK_WATCH:\r
-                fzdDevStatus&=~0x00100000;\r
+                fzdDevStatus &= ~0x00100000;\r
                 break;\r
             case ALARM_CUTOFF:\r
             case ALARM_ILLEGAL_CUTOFF:\r
-                fzdDevStatus|=0x00100000;\r
+                fzdDevStatus |= 0x00100000;\r
                 break;\r
             case ALARM_FALL:\r
-                fzdDevStatus|=0x00200000;\r
+                fzdDevStatus |= 0x00200000;\r
                 break;\r
             case ALARM_ABNORMAL_HEART_RATE:\r
-                fzdDevStatus|=0x01000000;\r
+                fzdDevStatus |= 0x01000000;\r
                 break;\r
             case ALARM_HEART_RATE_HIGH:\r
 //                alarmType1="08";\r
@@ -460,14 +461,14 @@ public class Runtime {
 //                alarmType1="18";\r
                 break;\r
             case ALARM_POWER_OFF:\r
-                fzdDevStatus|=0x00800000;\r
+                fzdDevStatus |= 0x00800000;\r
                 break;\r
 \r
             case ALARM_ESCAPE:\r
                 updateFZDDevStatusEscape(true);\r
                 break;\r
             case ALARM_REMOVE_SOS:\r
-                fzdDevStatus &=~0x00010000;\r
+                fzdDevStatus &= ~0x00010000;\r
                 break;\r
             case ALARM_NONE:\r
             default:\r
@@ -475,424 +476,566 @@ public class Runtime {
                 break;\r
         }\r
 \r
-        ICLogger.i("setFZDDevStatus "+String.format("0x%x",fzdDevStatus)+" "+fzdDevStatus);\r
+        ICLogger.i("setFZDDevStatus " + String.format("0x%x", fzdDevStatus) + " " + fzdDevStatus);\r
 \r
     }\r
 \r
-    public void dumpDevStatus(){\r
-        StringBuilder sb=new StringBuilder("get FZDStatus ");\r
-        if( (fzdDevStatus & 0x00800000 ) > 0  ){\r
+    public void dumpDevStatus() {\r
+        StringBuilder sb = new StringBuilder("get FZDStatus ");\r
+        if ((fzdDevStatus & 0x00800000) > 0) {\r
             sb.append("ALARM_POWER_OFF ");\r
         }\r
-        if ((fzdDevStatus & 0x00040000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00040000) > 0) {\r
             sb.append("ALARM_ESCAPE ");\r
         }\r
-        if ((fzdDevStatus & 0x01000000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x01000000) > 0) {\r
             sb.append("ALARM_ABNORMAL_HEART_RATE ");\r
         }\r
-        if ((fzdDevStatus & 0x00200000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00200000) > 0) {\r
             sb.append("ALARM_FALL ");\r
         }\r
-        if ((fzdDevStatus & 0x00100000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00100000) > 0) {\r
             sb.append("ALARM_ILLEGAL_CUTOFF ");\r
         }\r
-        if ((fzdDevStatus & 0x00100000 ) == 0  ){\r
+        if ((fzdDevStatus & 0x00100000) == 0) {\r
             sb.append("ALARM_LOCK_WATCH ");\r
         }\r
-        if ((fzdDevStatus & 0x00020000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00020000) > 0) {\r
             sb.append("ALARM_LOWBATTERY ");\r
         }\r
-        if ((fzdDevStatus & 0x00010000 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00010000) > 0) {\r
             sb.append("ALARM_SOS ");\r
         }\r
-        if ((fzdDevStatus & 0x00000008 ) > 0  ){\r
+        if ((fzdDevStatus & 0x00000008) > 0) {\r
             sb.append("ALARM_ANTIOFF ");\r
         }\r
-        if ((fzdDevStatus & 0x00000008 ) == 0  ){\r
+        if ((fzdDevStatus & 0x00000008) == 0) {\r
             sb.append("ALARM_WEARED ");\r
         }\r
         ICLogger.i(sb.toString());\r
     }\r
-  public String preCdmaInfo;\r
-  \r
-  public String preCellInfo;\r
-  \r
-  public String preTime;\r
-  \r
-  public int saveStepCount;\r
-  \r
-  private boolean shutdown;\r
-\r
-  public static long lastLinkReceiveStamp=0;\r
-\r
-  private boolean PowerConnected=false;\r
-\r
-  private long msPowerConnectionStatusChangedTime=0;\r
-  public void setPowerConnected(boolean connected){\r
-      if (PowerConnected!=connected){\r
-          msPowerConnectionStatusChangedTime=System.currentTimeMillis();\r
-          PowerConnected=connected;\r
-      }\r
-  }\r
-\r
-  //获取上次开始充电到现在的时间 ms\r
-  public long getMsAfterLastPowerPlugin(){\r
-      if (isPowerConnected()){\r
-          return (System.currentTimeMillis()-msPowerConnectionStatusChangedTime);\r
-      }else\r
-          return 0;\r
-  }\r
-\r
-  //获取上次停止充电到现在的时间  ms\r
-  public long getMsAfterLastPowerPlugout(){\r
-      if (!isPowerConnected()){\r
-          return (System.currentTimeMillis()-msPowerConnectionStatusChangedTime);\r
-      }else\r
-          return 0;\r
-  }\r
-\r
-  public boolean isPowerConnected(){\r
-      return PowerConnected;\r
-  }\r
- private DnsUtil dnsUtil=null;\r
-\r
- public void initDnsUtil(Context context){\r
-   if (dnsUtil==null)\r
-     dnsUtil=new DnsUtil(5,context);\r
- }\r
-  public DnsUtil getDnsUtil(){\r
-    return dnsUtil;\r
-  }\r
-  private int lastStepCount=0;\r
-  private int lastStepCountForBT=0;\r
-  private long timestamp;\r
-  \r
-  public int totalStepCount;\r
-\r
-  private int heartbeatCycle;\r
-\r
-\r
-  public int getHeartBeatCycle()\r
-  {\r
-    return heartbeatCycle;\r
-  }\r
-  public void setHeartBeatCycle(int cycle){\r
-    heartbeatCycle=cycle;\r
-  }\r
-  public heartRateStatus getHRS(){\r
-    return HRS;\r
-  }\r
-\r
-  public void setHRS(heartRateStatus hrs){\r
-    HRS=hrs;\r
-  }\r
-  public int getLastStepCount(){\r
-    return lastStepCount;\r
-  }\r
-  public void setLastStepCount(int st){\r
-    lastStepCount=st;\r
-  }\r
-  public int getLastStepCountForBT(){\r
+\r
+    public String preCdmaInfo;\r
+\r
+    public String preCellInfo;\r
+\r
+    public String preTime;\r
+\r
+    public int saveStepCount;\r
+\r
+    private boolean shutdown;\r
+\r
+    public static long lastLinkReceiveStamp = 0;\r
+\r
+    private boolean PowerConnected = false;\r
+\r
+    private long msPowerConnectionStatusChangedTime = 0;\r
+\r
+    public void setPowerConnected(boolean connected) {\r
+        if (PowerConnected != connected) {\r
+            msPowerConnectionStatusChangedTime = System.currentTimeMillis();\r
+            PowerConnected = connected;\r
+        }\r
+    }\r
+\r
+    //获取上次开始充电到现在的时间 ms\r
+    public long getMsAfterLastPowerPlugin() {\r
+        if (isPowerConnected()) {\r
+            return (System.currentTimeMillis() - msPowerConnectionStatusChangedTime);\r
+        } else\r
+            return 0;\r
+    }\r
+\r
+    //获取上次停止充电到现在的时间  ms\r
+    public long getMsAfterLastPowerPlugout() {\r
+        if (!isPowerConnected()) {\r
+            return (System.currentTimeMillis() - msPowerConnectionStatusChangedTime);\r
+        } else\r
+            return 0;\r
+    }\r
+\r
+    public boolean isPowerConnected() {\r
+        return PowerConnected;\r
+    }\r
+\r
+    private DnsUtil dnsUtil = null;\r
+\r
+    public void initDnsUtil(Context context) {\r
+        if (dnsUtil == null)\r
+            dnsUtil = new DnsUtil(5, context);\r
+    }\r
+\r
+    public DnsUtil getDnsUtil() {\r
+        return dnsUtil;\r
+    }\r
+\r
+    private int lastStepCount = 0;\r
+    private int lastStepCountForBT = 0;\r
+    private long timestamp;\r
+\r
+    public int totalStepCount;\r
+\r
+    private int heartbeatCycle;\r
+\r
+\r
+    public int getHeartBeatCycle() {\r
+        return heartbeatCycle;\r
+    }\r
+\r
+    public void setHeartBeatCycle(int cycle) {\r
+        heartbeatCycle = cycle;\r
+    }\r
+\r
+    public heartRateStatus getHRS() {\r
+        return HRS;\r
+    }\r
+\r
+    public void setHRS(heartRateStatus hrs) {\r
+        HRS = hrs;\r
+    }\r
+\r
+    public int getLastStepCount() {\r
+        return lastStepCount;\r
+    }\r
+\r
+    public void setLastStepCount(int st) {\r
+        lastStepCount = st;\r
+    }\r
+\r
+    public int getLastStepCountForBT() {\r
         return lastStepCountForBT;\r
-  }\r
-  public void setLastStepCountForBT(int st){\r
-        lastStepCountForBT=st;\r
-    }\r
-\r
-  public String IMEI() { return this.imei; }\r
-  \r
-  public String IMEI_CID() { return this.imei_cid; }\r
-  \r
-  public String IMEI_CID_KEY() { return this.imei_cid_key; }\r
-  \r
-  public String IMSI() { return this.imsi; }\r
-\r
-\r
-  private boolean noTurnOffWifiOnScreenOff=false;\r
-\r
-  public void setNoTurnOffOnScreenOff(boolean bol){\r
-      noTurnOffWifiOnScreenOff=bol;\r
-  }\r
-  public boolean isNoTurnOffWifiOnScreenOff(){\r
-      return noTurnOffWifiOnScreenOff;\r
-  }\r
-\r
-  public boolean isAntioff=false;\r
-  private boolean isNeedAntioff;\r
-  public boolean getNeedAntioff() { return this.isNeedAntioff; }\r
-  public void setNeedAntioff(boolean paramBoolean) { this.isNeedAntioff = paramBoolean; }\r
-\r
-  private boolean isNeedReportcutoff=false;\r
-  public boolean needReportCutoff(){\r
-      return this.isNeedReportcutoff;\r
-  }\r
-\r
-  public void setNeddReportCutoff(boolean needreport){\r
-      this.isNeedReportcutoff=needreport;\r
-  }\r
-  public String getBattery() { return this.battery; }\r
-\r
-  public int getBatteryVotage(){ return this.batteryVoltage;}\r
-  public void setBatteryVoltage(int voltage){\r
-      this.batteryVoltage=voltage;\r
-  }\r
-  public boolean getBatteryLow() { return this.batteryLow; }\r
-  \r
-  public boolean getBatterychanging() { return this.batterychanging; }\r
-\r
-  \r
-  public File getCacheDir() { return this.cacheDir; }\r
-  \r
-  public String getCdmaInfo() { return this.cdmaInfo; }\r
-  \r
-  public String getCellidInfoByAt() { return this.cellidByAt; }\r
-\r
-  \r
-  public ContextProxy getContextProxy() { return this.contextProxy; }\r
-  \r
-  public String getCurrentCellInfo() { return this.currentCellInfo; }\r
-  \r
-  public DBHelper getDbHelper() { return this.dbHelper; }\r
-  \r
-  public String getDevice_id() { return this.device_id; }\r
-  \r
-  public String getDevice_key() { return this.device_key; }\r
-  \r
-  public File getFileDir() { return this.fileDir; }\r
-  \r
-  public boolean getHaveBatteryChange() { return this.haveBatteryChange; }\r
-\r
-\r
-  public String getHost() { return this.testServerProp ? srvIP : this.host; }\r
-\r
-  public void setSrvIP(String ip) { this.srvIP=ip;}\r
-\r
-  public String getSrvIP(){ return this.srvIP;}\r
-\r
-  public String getKey() { return this.key; }\r
-  \r
-  public String getLacInfoByAt() { return this.lacByAt; }\r
-\r
-  public LBSHelper getLbsHelper() { return this.lbsHelper; }\r
-\r
-  \r
-  public boolean getLockSimInfo() { return this.lockSimInfo; }\r
-  \r
-\r
-  \r
-  public String getMccAndMnc() { return this.mccAndMnc; }\r
-  \r
-  public int getPort() { return this.port; }\r
-  \r
-  public int getSaveStepCount() { return this.saveStepCount; }\r
-  \r
-  public int getSignalStrength() { return this.SignalStrength; }\r
-\r
-  private String SignalInfo="";\r
-  public void setSignalInfo(String info){\r
-      this.SignalInfo=info;\r
-  }\r
-  public String getSignalInfo() { return this.SignalInfo; }\r
-  public long getTimestamp() { return this.timestamp; }\r
-  \r
-  public int getTotalStepCount() { return this.totalStepCount; }\r
-\r
-  \r
-  public boolean isShutdown() { return this.shutdown; }\r
-\r
-\r
-  private static int batterylevel=0;\r
-  public int getBatterylevel(){\r
-      return batterylevel;\r
-  }\r
-    public void setBattery(String paramString) { this.battery = paramString; }\r
-    public void setBattery(int param) { this.batterylevel = param; }\r
+    }\r
+\r
+    public void setLastStepCountForBT(int st) {\r
+        lastStepCountForBT = st;\r
+    }\r
+\r
+    public String IMEI() {\r
+        return this.imei;\r
+    }\r
+\r
+    public String IMEI_CID() {\r
+        return this.imei_cid;\r
+    }\r
+\r
+    public String IMEI_CID_KEY() {\r
+        return this.imei_cid_key;\r
+    }\r
+\r
+    public String IMSI() {\r
+        return this.imsi;\r
+    }\r
+\r
+\r
+    private boolean noTurnOffWifiOnScreenOff = false;\r
+\r
+    public void setNoTurnOffOnScreenOff(boolean bol) {\r
+        noTurnOffWifiOnScreenOff = bol;\r
+    }\r
+\r
+    public boolean isNoTurnOffWifiOnScreenOff() {\r
+        return noTurnOffWifiOnScreenOff;\r
+    }\r
+\r
+    public boolean isAntioff = false;\r
+    private boolean isNeedAntioff;\r
+\r
+    public boolean getNeedAntioff() {\r
+        return this.isNeedAntioff;\r
+    }\r
+\r
+    public void setNeedAntioff(boolean paramBoolean) {\r
+        this.isNeedAntioff = paramBoolean;\r
+    }\r
+\r
+    private boolean isNeedReportcutoff = false;\r
+\r
+    public boolean needReportCutoff() {\r
+        return this.isNeedReportcutoff;\r
+    }\r
+\r
+    public void setNeddReportCutoff(boolean needreport) {\r
+        this.isNeedReportcutoff = needreport;\r
+    }\r
+\r
+    public String getBattery() {\r
+        return this.battery;\r
+    }\r
+\r
+    public int getBatteryVotage() {\r
+        return this.batteryVoltage;\r
+    }\r
+\r
+    public void setBatteryVoltage(int voltage) {\r
+        this.batteryVoltage = voltage;\r
+    }\r
+\r
+    public boolean getBatteryLow() {\r
+        return this.batteryLow;\r
+    }\r
+\r
+    public boolean getBatterychanging() {\r
+        return this.batterychanging;\r
+    }\r
+\r
+\r
+    public File getCacheDir() {\r
+        return this.cacheDir;\r
+    }\r
+\r
+    public String getCdmaInfo() {\r
+        return this.cdmaInfo;\r
+    }\r
+\r
+    public String getCellidInfoByAt() {\r
+        return this.cellidByAt;\r
+    }\r
+\r
+\r
+    public ContextProxy getContextProxy() {\r
+        return this.contextProxy;\r
+    }\r
+\r
+    public String getCurrentCellInfo() {\r
+        return this.currentCellInfo;\r
+    }\r
+\r
+    public DBHelper getDbHelper() {\r
+        return this.dbHelper;\r
+    }\r
+\r
+    public String getDevice_id() {\r
+        return this.device_id;\r
+    }\r
+\r
+    public String getDevice_key() {\r
+        return this.device_key;\r
+    }\r
+\r
+    public File getFileDir() {\r
+        return this.fileDir;\r
+    }\r
+\r
+    public boolean getHaveBatteryChange() {\r
+        return this.haveBatteryChange;\r
+    }\r
+\r
+\r
+    public String getHost() {\r
+        return this.testServerProp ? srvIP : this.host;\r
+    }\r
+\r
+    public void setSrvIP(String ip) {\r
+        this.srvIP = ip;\r
+    }\r
+\r
+    public String getSrvIP() {\r
+        return this.srvIP;\r
+    }\r
+\r
+    public String getKey() {\r
+        return this.key;\r
+    }\r
+\r
+    public String getLacInfoByAt() {\r
+        return this.lacByAt;\r
+    }\r
+\r
+    public LBSHelper getLbsHelper() {\r
+        return this.lbsHelper;\r
+    }\r
+\r
+\r
+    public boolean getLockSimInfo() {\r
+        return this.lockSimInfo;\r
+    }\r
+\r
+\r
+    public String getMccAndMnc() {\r
+        return this.mccAndMnc;\r
+    }\r
+\r
+    public int getPort() {\r
+        return this.port;\r
+    }\r
+\r
+    public int getSaveStepCount() {\r
+        return this.saveStepCount;\r
+    }\r
+\r
+    public int getSignalStrength() {\r
+        return this.SignalStrength;\r
+    }\r
+\r
+    private String SignalInfo = "";\r
+\r
+    public void setSignalInfo(String info) {\r
+        this.SignalInfo = info;\r
+    }\r
+\r
+    public String getSignalInfo() {\r
+        return this.SignalInfo;\r
+    }\r
+\r
+    public long getTimestamp() {\r
+        return this.timestamp;\r
+    }\r
+\r
+    public int getTotalStepCount() {\r
+        return this.totalStepCount;\r
+    }\r
+\r
+\r
+    public boolean isShutdown() {\r
+        return this.shutdown;\r
+    }\r
+\r
+\r
+    private static int batterylevel = 0;\r
+\r
+    public int getBatterylevel() {\r
+        return batterylevel;\r
+    }\r
+\r
+    public void setBattery(String paramString) {\r
+        this.battery = paramString;\r
+    }\r
+\r
+    public void setBattery(int param) {\r
+        this.batterylevel = param;\r
+    }\r
 \r
     public void setBatteryLow(boolean paramBoolean) {\r
-      this.batteryLow = paramBoolean;\r
-      updateFZDDevStatusLowbat(batteryLow); //设置batterylow Alarm\r
-  }\r
-  \r
-  public void setBatterychanging(boolean paramBoolean) { this.batterychanging = paramBoolean; }\r
-  \r
-  public void setBelong(String paramString) { this.belong = paramString; }\r
-  \r
-  public void setCacheDir(File paramFile) { this.cacheDir = paramFile; }\r
-  \r
-  public void setCdmaInfo(String paramString) { this.cdmaInfo = paramString; }\r
-  \r
-  public void setCellinfo(String paramString) { this.cellinfo = paramString; }\r
-  \r
-  public void setCid(String paramString) { this.cid = paramString; }\r
-  \r
-  public void setContextProxy(ContextProxy paramContextProxy) { this.contextProxy = paramContextProxy; }\r
-  \r
-  public void setCurrentCellInfo(String paramString) { this.currentCellInfo = paramString; }\r
-  \r
-  public void setDBHelper(DBHelper paramDBHelper) { this.dbHelper = paramDBHelper; }\r
-  \r
-  public void setDevice_id(String paramString) { this.device_id = paramString; }\r
-  \r
-  public void setDevice_key(String paramString) { this.device_key = paramString; }\r
-  \r
-  public void setFileDir(File paramFile) { this.fileDir = paramFile; }\r
-  \r
-  public void setHaveBatteryChange(boolean paramBoolean) { this.haveBatteryChange = paramBoolean; }\r
-\r
-  public void setHost(String _host){\r
-      host=_host;\r
-  }\r
-  public void setHostAndPort(String paramString, int paramInt) {\r
-    this.host = paramString;\r
-    this.port = paramInt;\r
-  }\r
-  public void setPort(int _port){\r
-    port=_port;\r
-  }\r
-  public void setImeiAndCid(String paramString1, String paramString2) {\r
-    this.imei = paramString1;\r
-    this.cid = paramString2;\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append(paramString1);\r
-    stringBuilder.append(",");\r
-    stringBuilder.append(paramString2);\r
-    this.imei_cid = stringBuilder.toString();\r
-    ICLogger.i("imei:"+imei+",cid:"+cid);\r
-  }\r
-  \r
-  public void setImsi(String paramString) { this.imsi = paramString; }\r
-  \r
-  public void setKey(String paramString) {\r
-    this.key = paramString;\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append(this.imei_cid);\r
-    stringBuilder.append(",");\r
-    stringBuilder.append(paramString);\r
-    this.imei_cid_key = stringBuilder.toString();\r
-  }\r
-\r
-  public void setLbsHelper(LBSHelper paramLBSHelper) { this.lbsHelper = paramLBSHelper; }\r
-  \r
-  public void setLbsInfoByAt(String paramString1, String paramString2) {\r
-    this.lacByAt = paramString1;\r
-    this.cellidByAt = paramString2;\r
-  }\r
-\r
-  \r
-  public void setLockSimInfo(boolean paramBoolean) { this.lockSimInfo = paramBoolean; }\r
-\r
-  \r
-  public void setMccAndMnc(String MccMnc) {\r
-    this.mccAndMnc = MccMnc;\r
-\r
-    String [] list=MccMnc.split(",");\r
-    if (list.length>=2){\r
-      gpsp.setMCC(list[0]);\r
-      gpsp.setMNC(list[1]);\r
-    }\r
-    ICLogger.i("setMccAndMnc "+MccMnc);\r
-  }\r
-  \r
-  public void setSaveStepCount(int paramInt) { this.saveStepCount = paramInt; }\r
-  \r
-  public void setShutdown(boolean paramBoolean) { this.shutdown = paramBoolean; }\r
-  \r
-  public void setSignalStrength(int signal) {\r
-    this.SignalStrength = signal;\r
+        this.batteryLow = paramBoolean;\r
+        updateFZDDevStatusLowbat(batteryLow); //设置batterylow Alarm\r
+    }\r
+\r
+    public void setBatterychanging(boolean paramBoolean) {\r
+        this.batterychanging = paramBoolean;\r
+    }\r
+\r
+    public void setBelong(String paramString) {\r
+        this.belong = paramString;\r
+    }\r
+\r
+    public void setCacheDir(File paramFile) {\r
+        this.cacheDir = paramFile;\r
+    }\r
+\r
+    public void setCdmaInfo(String paramString) {\r
+        this.cdmaInfo = paramString;\r
+    }\r
+\r
+    public void setCellinfo(String paramString) {\r
+        this.cellinfo = paramString;\r
+    }\r
+\r
+    public void setCid(String paramString) {\r
+        this.cid = paramString;\r
+    }\r
+\r
+    public void setContextProxy(ContextProxy paramContextProxy) {\r
+        this.contextProxy = paramContextProxy;\r
+    }\r
+\r
+    public void setCurrentCellInfo(String paramString) {\r
+        this.currentCellInfo = paramString;\r
+    }\r
+\r
+    public void setDBHelper(DBHelper paramDBHelper) {\r
+        this.dbHelper = paramDBHelper;\r
+    }\r
+\r
+    public void setDevice_id(String paramString) {\r
+        this.device_id = paramString;\r
+    }\r
+\r
+    public void setDevice_key(String paramString) {\r
+        this.device_key = paramString;\r
+    }\r
+\r
+    public void setFileDir(File paramFile) {\r
+        this.fileDir = paramFile;\r
+    }\r
+\r
+    public void setHaveBatteryChange(boolean paramBoolean) {\r
+        this.haveBatteryChange = paramBoolean;\r
+    }\r
+\r
+    public void setHost(String _host) {\r
+        host = _host;\r
+    }\r
+\r
+    public void setHostAndPort(String paramString, int paramInt) {\r
+        this.host = paramString;\r
+        this.port = paramInt;\r
+    }\r
+\r
+    public void setPort(int _port) {\r
+        port = _port;\r
+    }\r
+\r
+    public void setImeiAndCid(String paramString1, String paramString2) {\r
+        this.imei = paramString1;\r
+        this.cid = paramString2;\r
+        StringBuilder stringBuilder = new StringBuilder();\r
+        stringBuilder.append(paramString1);\r
+        stringBuilder.append(",");\r
+        stringBuilder.append(paramString2);\r
+        this.imei_cid = stringBuilder.toString();\r
+        ICLogger.i("imei:" + imei + ",cid:" + cid);\r
+    }\r
+\r
+    public void setImsi(String paramString) {\r
+        this.imsi = paramString;\r
+    }\r
+\r
+    public void setKey(String paramString) {\r
+        this.key = paramString;\r
+        StringBuilder stringBuilder = new StringBuilder();\r
+        stringBuilder.append(this.imei_cid);\r
+        stringBuilder.append(",");\r
+        stringBuilder.append(paramString);\r
+        this.imei_cid_key = stringBuilder.toString();\r
+    }\r
+\r
+    public void setLbsHelper(LBSHelper paramLBSHelper) {\r
+        this.lbsHelper = paramLBSHelper;\r
+    }\r
+\r
+    public void setLbsInfoByAt(String paramString1, String paramString2) {\r
+        this.lacByAt = paramString1;\r
+        this.cellidByAt = paramString2;\r
+    }\r
+\r
+\r
+    public void setLockSimInfo(boolean paramBoolean) {\r
+        this.lockSimInfo = paramBoolean;\r
+    }\r
+\r
+\r
+    public void setMccAndMnc(String MccMnc) {\r
+        this.mccAndMnc = MccMnc;\r
+\r
+        String[] list = MccMnc.split(",");\r
+        if (list.length >= 2) {\r
+            gpsp.setMCC(list[0]);\r
+            gpsp.setMNC(list[1]);\r
+        }\r
+        ICLogger.i("setMccAndMnc " + MccMnc);\r
+    }\r
+\r
+    public void setSaveStepCount(int paramInt) {\r
+        this.saveStepCount = paramInt;\r
+    }\r
+\r
+    public void setShutdown(boolean paramBoolean) {\r
+        this.shutdown = paramBoolean;\r
+    }\r
+\r
+    public void setSignalStrength(int signal) {\r
+        this.SignalStrength = signal;\r
 //    ICLogger.i("setSignalStrength "+signal);\r
-  }\r
-  \r
-  public void setTestServerProp(boolean paramBoolean) { this.testServerProp = paramBoolean; }\r
-  \r
-  public void setTimestamp(long paramLong) { this.timestamp = paramLong; }\r
-  \r
-  public void setTotalStepCount(int paramInt) { this.totalStepCount = paramInt; }\r
+    }\r
 \r
-  private ICLocation gpsp = null;\r
+    public void setTestServerProp(boolean paramBoolean) {\r
+        this.testServerProp = paramBoolean;\r
+    }\r
+\r
+    public void setTimestamp(long paramLong) {\r
+        this.timestamp = paramLong;\r
+    }\r
 \r
-  private String wifiInfo="";\r
+    public void setTotalStepCount(int paramInt) {\r
+        this.totalStepCount = paramInt;\r
+    }\r
 \r
-  public void setWifiinfo(String info){\r
-    wifiInfo=info;\r
-  }\r
+    private ICLocation gpsp = null;\r
 \r
-  public String getWifiInfo(){   return wifiInfo;  }\r
+    private String wifiInfo = "";\r
 \r
-  public Runtime() {\r
-    if (gpsp == null) gpsp = new ICLocation();\r
+    public void setWifiinfo(String info) {\r
+        wifiInfo = info;\r
     }\r
 \r
-  public ICLocation getLocationInstance(){\r
-    return gpsp;\r
-  }\r
+    public String getWifiInfo() {\r
+        return wifiInfo;\r
+    }\r
 \r
- //暂时没有实现此功能\r
-  public String getGPSLocationStarNums() {\r
-    return "000";\r
-  }\r
+    public Runtime() {\r
+        if (gpsp == null) gpsp = new ICLocation();\r
+    }\r
 \r
-  //此功能未实现\r
-  public String getProtection() {\r
-    return "00";\r
-  }\r
+    public ICLocation getLocationInstance() {\r
+        return gpsp;\r
+    }\r
 \r
-  //\r
-  public String getWorkModeStr() {\r
-    String gpsStr=String.format("%02d",getLocationInstance().getWorkingMod());\r
+    //暂时没有实现此功能\r
+    public String getGPSLocationStarNums() {\r
+        return "000";\r
+    }\r
 \r
-    return gpsStr;\r
-  }\r
+    //此功能未实现\r
+    public String getProtection() {\r
+        return "00";\r
+    }\r
 \r
- //未实现睡眠监测\r
-  public String getRolltimes() {\r
-    return "00";\r
-  }\r
-  /*  AP03 心跳包 end       */\r
+    //\r
+    public String getWorkModeStr() {\r
+        String gpsStr = String.format("%02d", getLocationInstance().getWorkingMod());\r
 \r
-  /*  AP01 定位       */\r
+        return gpsStr;\r
+    }\r
+\r
+    //未实现睡眠监测\r
+    public String getRolltimes() {\r
+        return "00";\r
+    }\r
+    /*  AP03 心跳包 end       */\r
 \r
+    /*  AP01 定位       */\r
 \r
 \r
-  public double temperature_adjustValue=0.0f;\r
+    public double temperature_adjustValue = 0.0f;\r
 \r
-  public boolean isGPSFixed(){\r
-    return (gpsp.getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
-  }\r
+    public boolean isGPSFixed() {\r
+        return (gpsp.getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
+    }\r
 \r
-  public String getGPSData(){\r
+    public String getGPSData() {\r
 \r
 //        2232.9806N11404.9355E000.1: 北纬22度32.9806分,东经114度04.9355分,速度为000.1 km/h,如经纬度无效,可默认全为0,如0000.0000N00000.0000E\r
 //        纬度格式为: ddmm.mmmm ,长度不足长度前补0\r
 //        经度格式为:dddmm.mmmm,长度不足前补0\r
-    StringBuilder sb=new StringBuilder();\r
-    int lati=(int)gpsp.getLocation().lat;\r
-    int latl=(int) ((gpsp.getLocation().lat - lati)*10000);\r
-    int loni=(int)gpsp.getLocation().lon;\r
-    int lonl=(int) ((gpsp.getLocation().lon - loni)*10000);\r
-    int speedi=(int)gpsp.getLocation().speed;\r
-    int speedl=(int) ((gpsp.getLocation().speed - speedi)*10);\r
-    String latStr=gpsp.getLocation().latStr;\r
-    String lonStr=gpsp.getLocation().lonStr;\r
-    String latname=gpsp.getLocation().lat_name;\r
-    String lonname=gpsp.getLocation().lon_name;\r
-    if (isGPSFixed())\r
-    {\r
-        if (gpsp.getLocation().lonStr.isEmpty()) {\r
-            String gpsStr = String.format("%04d.%04d%s%05d.%04d%s%03d.%01d", lati, latl,latname, loni, lonl,lonname, speedi, speedl);\r
-            sb.append("A").append(gpsStr);\r
-        }else{\r
-            String gpsStr = String.format("%sN%sE%03d.%01d", latStr.substring(0,9), lonStr.substring(0,10), speedi, speedl);\r
-            sb.append("A").append(gpsStr);\r
+        StringBuilder sb = new StringBuilder();\r
+        int lati = (int) gpsp.getLocation().lat;\r
+        int latl = (int) ((gpsp.getLocation().lat - lati) * 10000);\r
+        int loni = (int) gpsp.getLocation().lon;\r
+        int lonl = (int) ((gpsp.getLocation().lon - loni) * 10000);\r
+        int speedi = (int) gpsp.getLocation().speed;\r
+        int speedl = (int) ((gpsp.getLocation().speed - speedi) * 10);\r
+        String latStr = gpsp.getLocation().latStr;\r
+        String lonStr = gpsp.getLocation().lonStr;\r
+        String latname = gpsp.getLocation().lat_name;\r
+        String lonname = gpsp.getLocation().lon_name;\r
+        if (isGPSFixed()) {\r
+            if (gpsp.getLocation().lonStr.isEmpty()) {\r
+                String gpsStr = String.format("%04d.%04d%s%05d.%04d%s%03d.%01d", lati, latl, latname, loni, lonl, lonname, speedi, speedl);\r
+                sb.append("A").append(gpsStr);\r
+            } else {\r
+                String gpsStr = String.format("%sN%sE%03d.%01d", latStr.substring(0, 9), lonStr.substring(0, 10), speedi, speedl);\r
+                sb.append("A").append(gpsStr);\r
+            }\r
+        } else {\r
+            String gpsStr = String.format("%04d.%04dN%05d.%04dE%03d.%01d", 0, 0, 0, 0, 0, 0);\r
+            sb.append("V").append(gpsStr);\r
         }\r
-    }else{\r
-      String gpsStr=String.format("%04d.%04dN%05d.%04dE%03d.%01d",0,0,0,0,0,0);\r
-      sb.append("V").append(gpsStr);\r
-    }\r
 \r
 \r
-    return sb.toString();\r
-  }\r
-    public String getMqttGPSData(){\r
+        return sb.toString();\r
+    }\r
+\r
+    public String getMqttGPSData() {\r
 \r
 /***\r
  * A,22.570733,N,113.8626083,E,0.00,249.5,0.0,6\r
@@ -904,38 +1047,38 @@ public class Runtime {
  * 0.0,海拔\r
  * 6,卫星个数\r
  */\r
-        StringBuilder sb=new StringBuilder();\r
-        int speedi=(int)gpsp.getLocation().speed;\r
-        int speedl=(int) ((gpsp.getLocation().speed - speedi)*100);\r
-\r
-        String latStr=gpsp.getLocation().latGPSStr;\r
-        String lonStr=gpsp.getLocation().lonGPSStr;\r
-        String latname=gpsp.getLocation().lat_name;\r
-        String lonname=gpsp.getLocation().lon_name;\r
-        ICLogger.i(" UD isfixed "+isGPSFixed()+" is in area "+bleInfo.is_in_area);\r
-        if(bleInfo.is_in_area==true){\r
-             latStr=bleInfo.gps_n;\r
-             lonStr=bleInfo.gps_e;\r
-             latname=(latStr.trim().startsWith("-"))?"S":"N";\r
-             lonname=(lonStr.trim().startsWith("-"))?"W":"E";\r
+        StringBuilder sb = new StringBuilder();\r
+        int speedi = (int) gpsp.getLocation().speed;\r
+        int speedl = (int) ((gpsp.getLocation().speed - speedi) * 100);\r
+\r
+        String latStr = gpsp.getLocation().latGPSStr;\r
+        String lonStr = gpsp.getLocation().lonGPSStr;\r
+        String latname = gpsp.getLocation().lat_name;\r
+        String lonname = gpsp.getLocation().lon_name;\r
+        ICLogger.i(" UD isfixed " + isGPSFixed() + " is in area " + bleInfo.is_in_area);\r
+        if (bleInfo.is_in_area == true) {\r
+            latStr = bleInfo.gps_n;\r
+            lonStr = bleInfo.gps_e;\r
+            latname = (latStr.trim().startsWith("-")) ? "S" : "N";\r
+            lonname = (lonStr.trim().startsWith("-")) ? "W" : "E";\r
         }\r
-        String heading=String.valueOf(gpsp.getLocation().heading);\r
-        int starcount=gpsp.getLocation().used_gps_numbs;\r
-        if (isGPSFixed()|| bleInfo.is_in_area)\r
-        {\r
-            String gpsStr = String.format(",%s,%s,%s,%s,%d.%02d,%s,0.0,%d", latStr,latname, lonStr,lonname, speedi, speedl,heading,starcount);\r
+        String heading = String.valueOf(gpsp.getLocation().heading);\r
+        int starcount = gpsp.getLocation().used_gps_numbs;\r
+        if (isGPSFixed() || bleInfo.is_in_area) {\r
+            String gpsStr = String.format(",%s,%s,%s,%s,%d.%02d,%s,0.0,%d", latStr, latname, lonStr, lonname, speedi, speedl, heading, starcount);\r
             sb.append("A").append(gpsStr);\r
 \r
-        }else{\r
-            String gpsStr=String.format(",0.000,N,0.000,E,0.0,0.0,0.0,0");\r
+        } else {\r
+            String gpsStr = String.format(",0.000,N,0.000,E,0.0,0.0,0.0,0");\r
             sb.append("V").append(gpsStr);\r
         }\r
 \r
-        ICLogger.i("UD "+sb.toString());\r
+        ICLogger.i("UD " + sb.toString());\r
 \r
         return sb.toString();\r
     }\r
-    public String getFZDGPSData(){\r
+\r
+    public String getFZDGPSData() {\r
 \r
 /***\r
  * A,22.570733,N,113.8626083,E,0.00,249.5,0.0,6\r
@@ -947,22 +1090,21 @@ public class Runtime {
  * 0.0,海拔\r
  * 6,卫星个数\r
  */\r
-        StringBuilder sb=new StringBuilder();\r
-        int speedi=(int)gpsp.getLocation().speed;\r
-        int speedl=(int) ((gpsp.getLocation().speed - speedi)*100);\r
-        String latStr=gpsp.getLocation().latGPSStr;\r
-        String lonStr=gpsp.getLocation().lonGPSStr;\r
-        String heading=String.valueOf(gpsp.getLocation().heading);\r
-        String latname=gpsp.getLocation().lat_name;\r
-        String lonname=gpsp.getLocation().lon_name;\r
-        int starcount=gpsp.getLocation().used_gps_numbs;\r
-        if (isGPSFixed())\r
-        {\r
-            String gpsStr = String.format(",%s,%s,%s,%s,%d.%02d,%s,0.0,%d", latStr,latname, lonStr,lonname, speedi, speedl,heading,starcount);\r
+        StringBuilder sb = new StringBuilder();\r
+        int speedi = (int) gpsp.getLocation().speed;\r
+        int speedl = (int) ((gpsp.getLocation().speed - speedi) * 100);\r
+        String latStr = gpsp.getLocation().latGPSStr;\r
+        String lonStr = gpsp.getLocation().lonGPSStr;\r
+        String heading = String.valueOf(gpsp.getLocation().heading);\r
+        String latname = gpsp.getLocation().lat_name;\r
+        String lonname = gpsp.getLocation().lon_name;\r
+        int starcount = gpsp.getLocation().used_gps_numbs;\r
+        if (isGPSFixed()) {\r
+            String gpsStr = String.format(",%s,%s,%s,%s,%d.%02d,%s,0.0,%d", latStr, latname, lonStr, lonname, speedi, speedl, heading, starcount);\r
             sb.append("A").append(gpsStr);\r
 \r
-        }else{\r
-            String gpsStr=String.format(",0.000,N,0.000,E,0.0,0.0,0.0,0");\r
+        } else {\r
+            String gpsStr = String.format(",0.000,N,0.000,E,0.0,0.0,0.0,0");\r
             sb.append("V").append(gpsStr);\r
         }\r
 \r
@@ -970,100 +1112,106 @@ public class Runtime {
         return sb.toString();\r
     }\r
 \r
-  public String getGPSHeading(){\r
-    int headingi=(int)gpsp.getLocation().heading;\r
-    int headingl=(int) ((gpsp.getLocation().heading - headingi)*100);\r
-    String gpsStr=String.format("%03d.%02d",headingi,headingl);\r
-    return gpsStr;\r
-  }\r
-    public String getFZDLBSMultiStationData(){\r
-        if(mFZDLBSMultiStationData.trim().isEmpty()){\r
-            mFZDLBSMultiStationData="0";\r
+    public String getGPSHeading() {\r
+        int headingi = (int) gpsp.getLocation().heading;\r
+        int headingl = (int) ((gpsp.getLocation().heading - headingi) * 100);\r
+        String gpsStr = String.format("%03d.%02d", headingi, headingl);\r
+        return gpsStr;\r
+    }\r
+\r
+    public String getFZDLBSMultiStationData() {\r
+        if (mFZDLBSMultiStationData.trim().isEmpty()) {\r
+            mFZDLBSMultiStationData = "0";\r
         }\r
         return mFZDLBSMultiStationData;\r
     }\r
 \r
-    public String getFZDWifiData(){\r
+    public String getFZDWifiData() {\r
 \r
-        int apsum=0;\r
-        String wifiinfo=getWifiInfo();\r
+        int apsum = 0;\r
+        String wifiinfo = getWifiInfo();\r
         if (!wifiinfo.isEmpty()) {\r
             String[] list = wifiinfo.split("&");\r
             apsum = list.length;\r
         }\r
-        StringBuffer sb=new StringBuffer();\r
-        if (apsum==0){\r
+        StringBuffer sb = new StringBuffer();\r
+        if (apsum == 0) {\r
             sb.append(apsum);\r
-        }else{\r
+        } else {\r
             sb.append(apsum).append(",");\r
-            wifiinfo=wifiinfo.replace("&",",").replace("|",",");\r
+            wifiinfo = wifiinfo.replace("&", ",").replace("|", ",");\r
             sb.append(wifiinfo);\r
         }\r
         return sb.toString();\r
     }\r
-  private static String mLBSMultiStationData="";\r
-  public void setLBSMultiStationData(String data){\r
-      mLBSMultiStationData=data;\r
-  }\r
 \r
-    private static String mFZDLBSMultiStationData="";\r
-    public void setFZDLBSMultiStationData(String data){\r
-        mFZDLBSMultiStationData=data;\r
+    private static String mLBSMultiStationData = "";\r
+\r
+    public void setLBSMultiStationData(String data) {\r
+        mLBSMultiStationData = data;\r
     }\r
-  //AP03 用的多基站定位数据\r
-  public String getLBSMultiStationData(){\r
-      //        7: 表示共有7组基站\r
+\r
+    private static String mFZDLBSMultiStationData = "";\r
+\r
+    public void setFZDLBSMultiStationData(String data) {\r
+        mFZDLBSMultiStationData = data;\r
+    }\r
+\r
+    //AP03 用的多基站定位数据\r
+    public String getLBSMultiStationData() {\r
+        //        7: 表示共有7组基站\r
 //        460: MCC 国家码\r
 //        0: MNC运营商代码\r
 //        9520|3671|10: LAC|CID|dbm表示一组基站信息,后面数量需和基站组数地应  10:dbm为信号强度多基站信号强度建议从高到低排列后上传,信号强度转正数:150 – abs(dbm)\r
-      if(mLBSMultiStationData.trim().isEmpty()){\r
-          mLBSMultiStationData="0,0,0,";\r
-      }\r
-     return mLBSMultiStationData;\r
-  }\r
+        if (mLBSMultiStationData.trim().isEmpty()) {\r
+            mLBSMultiStationData = "0,0,0,";\r
+        }\r
+        return mLBSMultiStationData;\r
+    }\r
 \r
 \r
-  public String getLBSData(){\r
+    public String getLBSData() {\r
 \r
 //        460,0,9520,3671 : LBS基站数据,MCC国家码,460为中国,0:MNC,0为移动,9520:LAC,十进制,3671,CID,十进制\r
-    StringBuilder sb=new StringBuilder();\r
-    sb.append(gpsp.getMCC()).append(",")\r
-            .append(gpsp.getMNC()).append(",")\r
-            .append(gpsp.getLAC()).append(",")\r
-            .append(gpsp.getGSMStationCID());\r
-    return sb.toString();\r
-  }\r
+        StringBuilder sb = new StringBuilder();\r
+        sb.append(gpsp.getMCC()).append(",")\r
+                .append(gpsp.getMNC()).append(",")\r
+                .append(gpsp.getLAC()).append(",")\r
+                .append(gpsp.getGSMStationCID());\r
+        return sb.toString();\r
+    }\r
 \r
-  public String getWifiData(){\r
-    StringBuilder sb=new StringBuilder();\r
+    public String getWifiData() {\r
+        StringBuilder sb = new StringBuilder();\r
 \r
-    int i=0;\r
-    for (String mac : gpsp.getLBSdata().wifi_aps.keySet()){\r
-      sb.append("AP").append(i).append("|").append(mac).append("|").append(gpsp.getLBSdata().wifi_aps.get(mac)).append(",");\r
-      i++;\r
-    }\r
-    if (i>0){\r
-      int index=sb.lastIndexOf(",");\r
-      sb.replace(index,index+1,"");\r
+        int i = 0;\r
+        for (String mac : gpsp.getLBSdata().wifi_aps.keySet()) {\r
+            sb.append("AP").append(i).append("|").append(mac).append("|").append(gpsp.getLBSdata().wifi_aps.get(mac)).append(",");\r
+            i++;\r
+        }\r
+        if (i > 0) {\r
+            int index = sb.lastIndexOf(",");\r
+            sb.replace(index, index + 1, "");\r
+        }\r
+        return sb.toString();\r
     }\r
-    return sb.toString();\r
-  }\r
 \r
 \r
-  public boolean sleepDataReported=false;\r
+    public boolean sleepDataReported = false;\r
+\r
 \r
+    public static String lastSitCheckTiimeyyyyMMddHHmmss = "";\r
+    public static long lastSitCheckStepCount = -1;\r
 \r
-    public static String lastSitCheckTiimeyyyyMMddHHmmss="";\r
-    public static long lastSitCheckStepCount=-1;\r
+    public static HealthInfo healthInfo = null;\r
 \r
-    public static HealthInfo healthInfo=null;\r
     static {\r
-        healthInfo=new HealthInfo();\r
+        healthInfo = new HealthInfo();\r
         healthInfo.reset();\r
     }\r
 \r
-    public static boolean practising=false;\r
-    public static int practice_cycle=60;\r
+    public static boolean practising = false;\r
+    public static int practice_cycle = 60;\r
 \r
 }\r
 \r
index c3d15e5..969be7e 100644 (file)
@@ -77,7 +77,12 @@ public class TemperatureUtil {
             CoreService.getInstance().sendBroadcast(pedIntent);
     }
 
+
+    private static int loopTime;
+
+
     public static void DoTempTest() {
+        loopTime = 10;
         if (CoreService.getInstance() != null) {
             if (CoreService.getInstance().getRuntime().Anti_off_flag == 1) {
                 ICLogger.i("未佩戴,取消TempTest!");
@@ -95,46 +100,55 @@ public class TemperatureUtil {
 
             double wrist_temp, body_temp, temout;
             temout = 0.0f;
-
-            wrist_temp = TemperatureUtil.get_temp_value_adjusted();
-            if (wrist_temp < 10) {
-                Util.mSleep(1000);
-                ICLogger.i("retry read temp for <10");
+            while (true) {
                 wrist_temp = TemperatureUtil.get_temp_value_adjusted();
-            }
+                if (wrist_temp < 10) {
+                    Util.mSleep(1000);
+                    ICLogger.i("retry read temp for <10");
+                    wrist_temp = TemperatureUtil.get_temp_value_adjusted();
+                }
 
-            if (ICJniUtils.isTemperatureDevAvailable() == ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_IC68.ordinal()) {
-                //此处温度会走一个算法,跟主板挂钩,不同的主板有不同的公式,需要做实验,配置。
-                //具体可以点击进去看里面的代码。
-                TemperatureItem temperatureItem = TempAlgUtil.doTempTest();
-                if (temperatureItem != null) {
-                    body_temp = Float.parseFloat(temperatureItem.getBodyTemp());
-                    temout = Float.parseFloat(temperatureItem.getEvnTemp());
-                } else {
-                    ICLogger.log(TAG, "temperatureItem is null...");
-                    if (Config.disableWristTemp) {
-                        body_temp = wrist_temp;
+                if (ICJniUtils.isTemperatureDevAvailable() == ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_IC68.ordinal()) {
+                    //此处温度会走一个算法,跟主板挂钩,不同的主板有不同的公式,需要做实验,配置。
+                    //具体可以点击进去看里面的代码。
+                    TemperatureItem temperatureItem = TempAlgUtil.doTempTest();
+                    if (temperatureItem != null) {
+                        body_temp = Float.parseFloat(temperatureItem.getBodyTemp());
+                        temout = Float.parseFloat(temperatureItem.getEvnTemp());
                     } else {
-                        temout = TemperatureUtil.get_tempOut_value_origin();
-                        if (temout < 10) {
-                            Util.mSleep(1000);
-                            ICLogger.i("retry read tempOut for <10");
-                            temout = TemperatureUtil.get_tempOut_value_origin();
-                        }
-                        if (temout > 60 || temout < 10) {
-                            temout = 0.0f;
-                        }
-                        if (temout > 10) {
-                            body_temp = TemperatureUtil.getBodyTemp(wrist_temp, temout);
+                        ICLogger.log(TAG, "temperatureItem is null...");
+                        if (Config.disableWristTemp) {
+                            body_temp = wrist_temp;
                         } else {
-                            body_temp = TemperatureUtil.getBodyTemp(wrist_temp, 26.0f);
+                            temout = TemperatureUtil.get_tempOut_value_origin();
+                            if (temout < 10) {
+                                Util.mSleep(1000);
+                                ICLogger.i("retry read tempOut for <10");
+                                temout = TemperatureUtil.get_tempOut_value_origin();
+                            }
+                            if (temout > 60 || temout < 10) {
+                                temout = 0.0f;
+                            }
+                            if (temout > 10) {
+                                body_temp = TemperatureUtil.getBodyTemp(wrist_temp, temout);
+                            } else {
+                                body_temp = TemperatureUtil.getBodyTemp(wrist_temp, 26.0f);
+                            }
                         }
                     }
+                } else {
+                    body_temp = TemperatureUtil.getBodyTemp(wrist_temp, 26.0f);
+                }
+                try {
+                    Thread.sleep(1000);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                loopTime--;
+                if (loopTime <= 0) {
+                    break;
                 }
-            } else {
-                body_temp = TemperatureUtil.getBodyTemp(wrist_temp, 26.0f);
             }
-
             if (Runtime.practising == true) {
                 ICLogger.i("自由锻炼中,设置测量体温!" + String.format("%.1f", body_temp));
                 Runtime.healthInfo.setTemperatureData(body_temp);