Merge branch 'mqtt_test' of server-git:incartech/protocol_srv into mqtt_test
authorsnickersun <scy@incartech.cn>
Sat, 9 Jan 2021 07:10:58 +0000 (15:10 +0800)
committersnickersun <scy@incartech.cn>
Sat, 9 Jan 2021 07:10:58 +0000 (15:10 +0800)
1  2 
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java

@@@ -1380,9 -1366,9 +1366,9 @@@ public class CoreService extends Servic
                  sb.append("自由锻炼中,跳过原有的循环心率检测!");
                  ICLogger.i("自由锻炼中,跳过原有的循环心率检测!");
              } else {
 -                sb.append("setHeartRateDetectAlarm " + heartRateDetectAlarmCycle);
 +                sb.append("setHeartRateDetectAlarm " + heartRateDetectAlarmCycleMinutes+" minutes");
                  if (!server_starting)
-                     HeartRateManager.triggerPPGtest();
+                     HeartRateManager.getInstance().triggerPPGTest(FROM_ALARM);
              }
          }
          if (Config.LOG_TOFILE) ICLogger.logToFile("alarmCycle", sb.toString());
          FileOutputUtil.fileOutput(runtime.getCacheDir(), "alarmCycle", sb.toString());
      }
  
-     public void setTempAlarm() {
- //        int mod=runtime.getLocationInstance().getWorkingMod();
+     public void setTempAlarm(boolean fromServerCmd) {
          StringBuilder sb = new StringBuilder();
 -        int cycle = runtime.temp_test_Cycle;
 +        int cycle = runtime.temp_test_Cycle_Seconds;
  
          if (Config.noTempSensor) {
              ICLogger.i("setTempAlarm noTempSensor");
          }
          if (cycle > 1) {
              AlarmHelper.setRealTimeAlarmInSeconds(runtime.getContextProxy().context, cycle, TEMP_ALARM);
 -            sb.append(" setTempAlarm  " + TEMP_ALARM + ", cycle " + cycle);
 +            sb.append(" setTempAlarm  " + TEMP_ALARM + ", cycle " + cycle + " seconds");
          } else {
 -            sb.append(" setTempAlarm  " + TEMP_ALARM + ", cycle " + cycle + "<=1 skip!");
 +            sb.append(" setTempAlarm  " + TEMP_ALARM + ", cycle " + cycle + "<=1 second skip!");
          }
- //        locationClient.triggerLocationProcess();
          ICLogger.i(sb.toString());
          FileOutputUtil.fileOutput(runtime.getCacheDir(), "alarmCycle", sb.toString());
  
 -package com.enqualcomm.support.utils;\r
 -\r
 -import android.app.ActivityManager;\r
 -import android.content.Context;\r
 -import android.content.Intent;\r
 -import android.content.pm.PackageInfo;\r
 -import android.content.pm.PackageManager;\r
 -import android.database.Cursor;\r
 -import android.net.Uri;\r
 -import android.os.Build;\r
 -import android.os.Environment;\r
 -import android.os.PowerManager;\r
 -import android.provider.Settings;\r
 -import android.telephony.PhoneNumberUtils;\r
 -import android.telephony.TelephonyManager;\r
 -\r
 -import com.enqualcomm.support.Config;\r
 -import com.enqualcomm.support.CoreService;\r
 -import com.enqualcomm.support.bean.StepCount;\r
 -import com.enqualcomm.support.bean.Runtime;\r
 -import com.enqualcomm.support.service.KeepAlive;\r
 -import com.ic.jni.ICJniUtils;\r
 -\r
 -import java.io.FileInputStream;\r
 -import java.lang.reflect.Method;\r
 -import java.util.ArrayList;\r
 -\r
 -import chestnut.utils.PhoneUtils;\r
 -\r
 -public class DeviceInfoUtil {\r
 -  private static final int CID_LENGTH = 16;\r
 -  \r
 -  public static String getCurStatus(Context paramContext) {\r
 -    String str1;\r
 -    try {\r
 -      str1 = Settings.System.getString(paramContext.getContentResolver(), "eqc_position");\r
 -    } catch (Exception e) {\r
 -      e.printStackTrace();\r
 -      str1 = "1";\r
 -    }\r
 -    String str2 = str1;\r
 -    if (str1 == null)\r
 -      str2 = "0"; \r
 -    return str2;\r
 -  }\r
 -\r
 -  public static String getModule(){\r
 -\r
 -    return Build.MODEL;\r
 -  }\r
 -\r
 -  public static boolean updateImei(Runtime runtime){\r
 -\r
 -    String imei= Config.getIMEI(runtime.getContextProxy().context);\r
 -    String cellphoneNumb= DeviceInfoUtil.getNumber(runtime.getContextProxy().context);\r
 -    ICLogger.i("get CellPhoneNumber "+cellphoneNumb);\r
 -    String cid="";\r
 -    if (imei.isEmpty()){\r
 -      //如果配置里有IMEI,优先选配置里的,没有则选择系统的\r
 -      imei= PhoneUtils.getIMEI(runtime.getContextProxy().context);\r
 -      cid=PhoneUtils.getIMSI(runtime.getContextProxy().context);\r
 -      if(imei==null) {\r
 -        return false;\r
 -      }else{\r
 -        runtime.setImeiAndCid(imei, cid);\r
 -      }\r
 -    }  else{\r
 -      runtime.setImeiAndCid(imei,cid);\r
 -    }\r
 -\r
 -    return true;\r
 -  }\r
 -\r
 -  /**\r
 -   * 得到当前应用版本名称的方法\r
 -   *\r
 -   * @param context\r
 -   *            :上下文\r
 -   * @throws Exception\r
 -   */\r
 -  public static String getVersionName(Context context)  {\r
 -    // 获取packagemanager的实例\r
 -    PackageManager packageManager = context.getPackageManager();\r
 -    // getPackageName()是你当前类的包名\r
 -    try {\r
 -      PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);\r
 -      String version = packInfo.versionName;\r
 -      return version;\r
 -\r
 -    }catch (Exception e){\r
 -      e.printStackTrace();\r
 -    }\r
 -    return "";\r
 -  }\r
 -  public static String getVersionCode(Context context,String pkgName)  {\r
 -    // 获取packagemanager的实例\r
 -    PackageManager packageManager = context.getPackageManager();\r
 -    // getPackageName()是你当前类的包名\r
 -    try {\r
 -      PackageInfo packInfo = packageManager.getPackageInfo(pkgName, 0);\r
 -      String version = "V"+packInfo.versionCode;\r
 -      return version;\r
 -\r
 -    }catch (Exception e){\r
 -      e.printStackTrace();\r
 -    }\r
 -    return "";\r
 -  }\r
 -\r
 -\r
 -\r
 -  public static String getVersionCode(Context context)  {\r
 -    // 获取packagemanager的实例\r
 -    PackageManager packageManager = context.getPackageManager();\r
 -    // getPackageName()是你当前类的包名\r
 -    try {\r
 -      PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);\r
 -      String version = "V"+packInfo.versionCode;\r
 -      return version;\r
 -\r
 -    }catch (Exception e){\r
 -      e.printStackTrace();\r
 -    }\r
 -    return "";\r
 -  }\r
 -  public static int getCustomId() {\r
 -    int i = -1;\r
 -    try {\r
 -      String   customid = Util.getSystemProperties("ro.custom.id");\r
 -      StringBuilder stringBuilder = new StringBuilder();\r
 -      stringBuilder.append("ro.custom.id = ");\r
 -      stringBuilder.append(customid);\r
 -      ICLogger.i(stringBuilder.toString());\r
 -      int j = i;\r
 -      if (customid != null) {\r
 -        j = Integer.valueOf(customid).intValue();\r
 -        try {\r
 -          StringBuilder stringBuilder1 = new StringBuilder();\r
 -          stringBuilder1.append("---id=");\r
 -          stringBuilder1.append(j);\r
 -          ICLogger.i(stringBuilder1.toString());\r
 -          return j;\r
 -        } catch (Exception e) {\r
 -          i = j;\r
 -        }\r
 -      } else {\r
 -        return j;\r
 -      }\r
 -    } catch (Exception e) {\r
 -       e.printStackTrace();\r
 -    }\r
 -    return i;\r
 -  }\r
 -\r
 -  public static boolean getLockSimInfo(Context paramContext) {\r
 -    int i = 0;\r
 -    try {\r
 -      if (Settings.System.getInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked") != 0) {\r
 -        i = 1;\r
 -      }\r
 -      StringBuilder stringBuilder = new StringBuilder();\r
 -      stringBuilder.append("simIsBlocked:");\r
 -      stringBuilder.append(i);\r
 -      ICLogger.i(stringBuilder.toString());\r
 -    } catch (Settings.SettingNotFoundException e) {\r
 -      e.printStackTrace();\r
 -    }\r
 -    return (i==1);\r
 -  }\r
 -  \r
 -  public static String getNumber(Context paramContext) {\r
 -    return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number();\r
 -  }\r
 -  \r
 -  public static String getSN() {\r
 -    try {\r
 -      String str=Util.getSystemProperties("ro.product.partitionpath");\r
 -      StringBuilder stringBuilder = new StringBuilder();\r
 -      stringBuilder.append(str);\r
 -      stringBuilder.append("miscdata");\r
 -      FileInputStream fileInputStream = new FileInputStream(stringBuilder.toString());\r
 -      byte[] arrayOfByte = new byte[128];\r
 -      fileInputStream.read(arrayOfByte);\r
 -      fileInputStream.close();\r
 -      return new String(arrayOfByte, 28, 16);\r
 -    } catch (Exception exception) {\r
 -      exception.printStackTrace();\r
 -      return null;\r
 -    } \r
 -  }\r
 -  \r
 -  public static int getStepCount(Context paramContext) {\r
 -    Uri uri = Uri.parse("content://com.eqc.db.watchProvider/step/queryLast");\r
 -    ArrayList arrayList = new ArrayList();\r
 -    Cursor cursor = paramContext.getContentResolver().query(uri, new String[] { "number", "date" }, null, null, null);\r
 -    if (cursor != null && cursor.getCount() > 0) {\r
 -      while (cursor.moveToNext())\r
 -        arrayList.add(new StepCount(cursor.getInt(0), cursor.getString(1)));\r
 -      cursor.close();\r
 -    } \r
 -    return (arrayList.size() > 0) ? ((StepCount)arrayList.get(0)).getStepCount() : 0;\r
 -  }\r
 -  \r
 -  public static int getStepCount_Custom(Context context) {\r
 -    try {\r
 -        return Settings.Global.getInt(context.getContentResolver(), "Steps", 0);\r
 -    } catch (Exception e) {\r
 -      e.printStackTrace();\r
 -    }\r
 -    return 0;\r
 -  }\r
 -  \r
 -  public static String getSystemVersion() {\r
 -    return Build.VERSION.RELEASE;\r
 -  }\r
 -\r
 -  public static String getSWVersionDisplayName(){ return Build.DISPLAY;}\r
 -\r
 -  public static boolean isTopActivity(Context paramContext) {\r
 -    ArrayList<String> arrayList = new ArrayList();\r
 -    arrayList.add("com.enqualcomm.imessage.ui.chat.ChatActivity_");\r
 -    return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getClassName());\r
 -  }\r
 -  public static boolean isFactoryTestTopActivity(Context paramContext) {\r
 -    ArrayList<String> arrayList = new ArrayList();\r
 -    arrayList.add("mobile.miki");\r
 -    return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getPackageName());\r
 -  }\r
 -\r
 -  public static String getDeviceInfo(Runtime runtime){\r
 -\r
 -    SimSignalUtil sim=SimSignalUtil.getInstance(runtime.getContextProxy().context);\r
 -    double wrist_temp;\r
 -//    wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
 -    return new StringBuilder()\r
 -            .append(TimeUtil.getLocalTime2()).append(" ").append(DeviceInfoUtil.getSWVersionDisplayName()).append("\n")\r
 -            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))\r
 -            .append(SimSignalUtil.hasSimCard(runtime.getContextProxy().context)?" SIM ":" NoSIM ")\r
 -            .append(sim.getNetworkType()==SimSignalUtil.IS_2G?"2G":(sim.getNetworkType()==SimSignalUtil.IS_3G)?"3G":(sim.getNetworkType()==SimSignalUtil.IS_4G?"4G":"unknown"))\r
 -            .append(" [").append(runtime.getSignalStrength()).append(",").append(runtime.getSignalInfo()).append("] ")\r
 -            .append(runtime.IMEI())\r
 -            .append("\n Srv [P").append(Config.protocol_no).append(" ").append(runtime.getHost()).append(":").append(runtime.getPort()).append("]").append(KeepAlive.isConnected).append(" , HBcycle ").append(runtime.getHeartBeatCycle())\r
 -            .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())\r
 -//            .append(",Temp ").append(String.format("%1$.2f",wrist_temp)).append(",Body ").append(String.format("%1$.2f",TemperatureUtil.getBodyTemp(wrist_temp,26.0f)))\r
 -            .append(",BTIn ").append(runtime.bleInfo.is_in_area)\r
 -            .append(" \n Bat ").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
 -            .append(" charged ").append(runtime.isPowerConnected())\r
 -            .append(" StepCount ").append(runtime.getTotalStepCount())\r
 -            .append( "\n Working Mode ").append(runtime.getLocationInstance().getWorkingMod())\r
 -            .append(" \n Location Cycle ").append(runtime.getLocationInstance().getLocation_cycle())\r
 -            .append(" \n LocationType ").append(runtime.getLocationInstance().getLocationType())\r
 -            .append(" at ").append(runtime.getLocationInstance().getLocationTime())\r
 -            .append(" \n PPGTestCycle ").append(runtime.getPpgTestCycle())\r
 -            .append("\n LastPPG ").append(runtime.getHRS().getPPG())\r
 -            .append(",bph ").append(runtime.getHRS().getBPH())\r
 -            .append(",bpl ").append(runtime.getHRS().getBPL())\r
 -            .append(" at ").append(runtime.getHRS().getTestTime())\r
 -            .append("\nrealimei:").append(PhoneUtils.getIMEI(runtime.getContextProxy().context))\r
 -            .append("\n").append(runtime.getLBSMultiStationData())\r
 -            .append("\nWiFi Status ").append(Util.isWifiIsOpen(runtime.getContextProxy().context,runtime))\r
 -            .toString();\r
 -  }\r
 -  public static String getShortDeviceInfo(Runtime runtime){\r
 -\r
 -    SimSignalUtil sim=SimSignalUtil.getInstance(runtime.getContextProxy().context);\r
 -//    double wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
 -    return new StringBuilder("Firmware ")\r
 -            .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\nProtocol ")\r
 -            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))\r
 -            .append("\nIMEI ").append(runtime.IMEI())\r
 -            .append("\n"+TimeUtil.getLocalTime()).append("\nNetwork ")\r
 -            .append(SimSignalUtil.hasSimCard(runtime.getContextProxy().context)?" ":" NoSIM ")\r
 -            .append(sim.getNetworkType()==SimSignalUtil.IS_2G?"2G":(sim.getNetworkType()==SimSignalUtil.IS_3G)?"3G":(sim.getNetworkType()==SimSignalUtil.IS_4G?"4G":"unknown"))\r
 -            .append("[").append(runtime.getSignalInfo()).append("]")\r
 -            .append("\nHeartbeat[P").append(Config.protocol_no).append(" ").append(runtime.getSrvIP()).append(":").append(runtime.getPort()).append(",").append(runtime.isServerProtocolConnected()).append(",").append(runtime.getHeartBeatCycle())\r
 -            .append("]\nBat").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
 -            .append(" charged ").append(runtime.isPowerConnected())\r
 -            .append(",Step").append(runtime.getTotalStepCount())\r
 -            .append( "\nLocation[M").append(runtime.getLocationInstance().getWorkingMod())\r
 -            .append(",C").append(runtime.getLocationInstance().getLocation_cycle())\r
 -            .append(",T").append(runtime.getLocationInstance().getLocationType())\r
 -            .append(",").append(runtime.getLocationInstance().getLocationTime())\r
 -            .append(",BTIn").append(runtime.bleInfo.is_in_area)\r
 -            .append("]\nPPG[C").append(runtime.getPpgTestCycle())\r
 -//            .append(",P").append(runtime.getHRS().getPPG())\r
 -//            .append(",H").append(runtime.getHRS().getBPH())\r
 -//            .append(",L").append(runtime.getHRS().getBPL())\r
 -//            .append(",T").append(String.format("%1$.2f",wrist_temp))\r
 -//            .append(",TA").append(String.format("%1$.2f",TemperatureUtil.getBodyTemp(wrist_temp,26.0f)))\r
 -//            .append(",").append(runtime.getHRS().getTestTime()).append("]")\r
 -            .toString();\r
 -  }\r
 -\r
 -  public static String getDeviceVersion(Runtime runtime){\r
 -    return new StringBuilder("Firmware ")\r
 -            .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\nProtocol ")\r
 -            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))\r
 -            .append("\nIMEI ").append(runtime.IMEI())\r
 -            .append("\n"+TimeUtil.getLocalTime())\r
 -            .toString();\r
 -  }\r
 -  public static void setLockSimInfo(Context paramContext) {\r
 -    Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); }\r
 -\r
 -  private static String[][] packagelist={\r
 -          {"com.enqualcomm.support","Protocol"},\r
 -          {"com.ic.blood","BLood"},\r
 -          {"com.ic.launcher","Launcher"},\r
 -          {"com.ic.com.ic.work","Work"},\r
 -          {"com.ic.weather","Weather"},\r
 -          {"com.ic.hardware","Hardware"},\r
 -          {"mobile.miki","FactoryMode"},\r
 -          {"com.ic.dial","Dialer"},\r
 -          {"android.rockchip.update.service","Fota"}\r
 -  };\r
 -\r
 -  public static String getPackageVersionName(Context context , String packagename) {\r
 -    String versionName = "";\r
 -    try {\r
 -      PackageManager pm = context.getPackageManager();\r
 -      PackageInfo pi = pm.getPackageInfo(packagename, 0);\r
 -      versionName = "V"+pi.versionCode;\r
 -      if (versionName == null || versionName.length() <= 0) {\r
 -        return "";\r
 -      }\r
 -    } catch (Exception e) {\r
 -      e.printStackTrace();\r
 -    }\r
 -    return versionName;\r
 -  }\r
 -\r
 -  public static String getPackageVersions(Context context){\r
 -      StringBuilder versions=new StringBuilder();\r
 -      versions.append(getSWVersionDisplayName()).append(",");\r
 -      for (String[] packagename: packagelist){\r
 -        versions.append(packagename[1]);\r
 -        versions.append("-");\r
 -        versions.append( getPackageVersionName(context,packagename[0]));\r
 -        versions.append(",");\r
 -      }\r
 -      return versions.toString();\r
 -    }\r
 -\r
 -\r
 -}\r
 +package com.enqualcomm.support.utils;
 +
 +import android.app.ActivityManager;
 +import android.content.Context;
 +import android.content.Intent;
 +import android.content.pm.PackageInfo;
 +import android.content.pm.PackageManager;
 +import android.database.Cursor;
 +import android.net.Uri;
 +import android.os.Build;
 +import android.os.Environment;
 +import android.os.PowerManager;
 +import android.provider.Settings;
 +import android.telephony.PhoneNumberUtils;
 +import android.telephony.TelephonyManager;
 +
 +import com.enqualcomm.support.Config;
 +import com.enqualcomm.support.CoreService;
 +import com.enqualcomm.support.bean.StepCount;
 +import com.enqualcomm.support.bean.Runtime;
 +import com.enqualcomm.support.service.KeepAlive;
 +import com.ic.jni.ICJniUtils;
 +
 +import java.io.FileInputStream;
 +import java.lang.reflect.Method;
 +import java.util.ArrayList;
 +
 +import chestnut.utils.PhoneUtils;
 +
 +public class DeviceInfoUtil {
 +  private static final int CID_LENGTH = 16;
 +  
 +  public static String getCurStatus(Context paramContext) {
 +    String str1;
 +    try {
 +      str1 = Settings.System.getString(paramContext.getContentResolver(), "eqc_position");
 +    } catch (Exception e) {
 +      e.printStackTrace();
 +      str1 = "1";
 +    }
 +    String str2 = str1;
 +    if (str1 == null)
 +      str2 = "0"; 
 +    return str2;
 +  }
 +
 +  public static String getModule(){
 +
 +    return Build.MODEL;
 +  }
 +
 +  public static boolean updateImei(Runtime runtime){
 +
 +    String imei= Config.getIMEI(runtime.getContextProxy().context);
 +    String cellphoneNumb= DeviceInfoUtil.getNumber(runtime.getContextProxy().context);
 +    ICLogger.i("get CellPhoneNumber "+cellphoneNumb);
 +    String cid="";
 +    if (imei.isEmpty()){
 +      //如果配置里有IMEI,优先选配置里的,没有则选择系统的
 +      imei= PhoneUtils.getIMEI(runtime.getContextProxy().context);
 +      cid=PhoneUtils.getIMSI(runtime.getContextProxy().context);
 +      if(imei==null) {
 +        return false;
 +      }else{
 +        runtime.setImeiAndCid(imei, cid);
 +      }
 +    }  else{
 +      runtime.setImeiAndCid(imei,cid);
 +    }
 +
 +    return true;
 +  }
 +
 +  /**
 +   * 得到当前应用版本名称的方法
 +   *
 +   * @param context
 +   *            :上下文
 +   * @throws Exception
 +   */
 +  public static String getVersionName(Context context)  {
 +    // 获取packagemanager的实例
 +    PackageManager packageManager = context.getPackageManager();
 +    // getPackageName()是你当前类的包名
 +    try {
 +      PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
 +      String version = packInfo.versionName;
 +      return version;
 +
 +    }catch (Exception e){
 +      e.printStackTrace();
 +    }
 +    return "";
 +  }
 +  public static String getVersionCode(Context context,String pkgName)  {
 +    // 获取packagemanager的实例
 +    PackageManager packageManager = context.getPackageManager();
 +    // getPackageName()是你当前类的包名
 +    try {
 +      PackageInfo packInfo = packageManager.getPackageInfo(pkgName, 0);
 +      String version = "V"+packInfo.versionCode;
 +      return version;
 +
 +    }catch (Exception e){
 +      e.printStackTrace();
 +    }
 +    return "";
 +  }
 +
 +
 +
 +  public static String getVersionCode(Context context)  {
 +    // 获取packagemanager的实例
 +    PackageManager packageManager = context.getPackageManager();
 +    // getPackageName()是你当前类的包名
 +    try {
 +      PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
 +      String version = "V"+packInfo.versionCode;
 +      return version;
 +
 +    }catch (Exception e){
 +      e.printStackTrace();
 +    }
 +    return "";
 +  }
 +  public static int getCustomId() {
 +    int i = -1;
 +    try {
 +      String   customid = Util.getSystemProperties("ro.custom.id");
 +      StringBuilder stringBuilder = new StringBuilder();
 +      stringBuilder.append("ro.custom.id = ");
 +      stringBuilder.append(customid);
 +      ICLogger.i(stringBuilder.toString());
 +      int j = i;
 +      if (customid != null) {
 +        j = Integer.valueOf(customid).intValue();
 +        try {
 +          StringBuilder stringBuilder1 = new StringBuilder();
 +          stringBuilder1.append("---id=");
 +          stringBuilder1.append(j);
 +          ICLogger.i(stringBuilder1.toString());
 +          return j;
 +        } catch (Exception e) {
 +          i = j;
 +        }
 +      } else {
 +        return j;
 +      }
 +    } catch (Exception e) {
 +       e.printStackTrace();
 +    }
 +    return i;
 +  }
 +
 +  public static boolean getLockSimInfo(Context paramContext) {
 +    int i = 0;
 +    try {
 +      if (Settings.System.getInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked") != 0) {
 +        i = 1;
 +      }
 +      StringBuilder stringBuilder = new StringBuilder();
 +      stringBuilder.append("simIsBlocked:");
 +      stringBuilder.append(i);
 +      ICLogger.i(stringBuilder.toString());
 +    } catch (Settings.SettingNotFoundException e) {
 +      e.printStackTrace();
 +    }
 +    return (i==1);
 +  }
 +  
 +  public static String getNumber(Context paramContext) {
 +    return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number();
 +  }
 +  
 +  public static String getSN() {
 +    try {
 +      String str=Util.getSystemProperties("ro.product.partitionpath");
 +      StringBuilder stringBuilder = new StringBuilder();
 +      stringBuilder.append(str);
 +      stringBuilder.append("miscdata");
 +      FileInputStream fileInputStream = new FileInputStream(stringBuilder.toString());
 +      byte[] arrayOfByte = new byte[128];
 +      fileInputStream.read(arrayOfByte);
 +      fileInputStream.close();
 +      return new String(arrayOfByte, 28, 16);
 +    } catch (Exception exception) {
 +      exception.printStackTrace();
 +      return null;
 +    } 
 +  }
 +  
 +  public static int getStepCount(Context paramContext) {
 +    Uri uri = Uri.parse("content://com.eqc.db.watchProvider/step/queryLast");
 +    ArrayList arrayList = new ArrayList();
 +    Cursor cursor = paramContext.getContentResolver().query(uri, new String[] { "number", "date" }, null, null, null);
 +    if (cursor != null && cursor.getCount() > 0) {
 +      while (cursor.moveToNext())
 +        arrayList.add(new StepCount(cursor.getInt(0), cursor.getString(1)));
 +      cursor.close();
 +    } 
 +    return (arrayList.size() > 0) ? ((StepCount)arrayList.get(0)).getStepCount() : 0;
 +  }
 +  
 +  public static int getStepCount_Custom(Context context) {
 +    try {
 +        return Settings.Global.getInt(context.getContentResolver(), "Steps", 0);
 +    } catch (Exception e) {
 +      e.printStackTrace();
 +    }
 +    return 0;
 +  }
 +  
 +  public static String getSystemVersion() {
 +    return Build.VERSION.RELEASE;
 +  }
 +
 +  public static String getSWVersionDisplayName(){ return Build.DISPLAY;}
 +
 +  public static boolean isTopActivity(Context paramContext) {
 +    ArrayList<String> arrayList = new ArrayList();
 +    arrayList.add("com.enqualcomm.imessage.ui.chat.ChatActivity_");
 +    return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getClassName());
 +  }
 +  public static boolean isFactoryTestTopActivity(Context paramContext) {
 +    ArrayList<String> arrayList = new ArrayList();
 +    arrayList.add("mobile.miki");
 +    return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getPackageName());
 +  }
 +
 +  public static String getDeviceInfo(Runtime runtime){
 +
 +    SimSignalUtil sim=SimSignalUtil.getInstance(runtime.getContextProxy().context);
 +    double wrist_temp;
 +//    wrist_temp=TemperatureUtil.get_temp_value_adjusted();
 +    return new StringBuilder()
 +            .append(TimeUtil.getLocalTime2()).append(" ").append(DeviceInfoUtil.getSWVersionDisplayName()).append("\n")
 +            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))
 +            .append(SimSignalUtil.hasSimCard(runtime.getContextProxy().context)?" SIM ":" NoSIM ")
 +            .append(sim.getNetworkType()==SimSignalUtil.IS_2G?"2G":(sim.getNetworkType()==SimSignalUtil.IS_3G)?"3G":(sim.getNetworkType()==SimSignalUtil.IS_4G?"4G":"unknown"))
 +            .append(" [").append(runtime.getSignalStrength()).append(",").append(runtime.getSignalInfo()).append("] ")
 +            .append(runtime.IMEI())
 +            .append("\n Srv [P").append(Config.protocol_no).append(" ").append(runtime.getHost()).append(":").append(runtime.getPort()).append("]").append(KeepAlive.isConnected).append(" , HBcycle ").append(runtime.getHeartBeatCycle())
 +            .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())
 +//            .append(",Temp ").append(String.format("%1$.2f",wrist_temp)).append(",Body ").append(String.format("%1$.2f",TemperatureUtil.getBodyTemp(wrist_temp,26.0f)))
 +            .append(",BTIn ").append(runtime.bleInfo.is_in_area)
 +            .append(" \n Bat ").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())
 +            .append(" charged ").append(runtime.isPowerConnected())
 +            .append(" StepCount ").append(runtime.getTotalStepCount())
 +            .append( "\n Working Mode ").append(runtime.getLocationInstance().getWorkingMod())
 +            .append(" \n Location Cycle ").append(runtime.getLocationInstance().getLocation_cycle()).append("s")
 +            .append(" \n LocationType ").append(runtime.getLocationInstance().getLocationType())
 +            .append(" at ").append(runtime.getLocationInstance().getLocationTime())
 +            .append(" \n PPGTestCycle ").append(runtime.getPpgTestCycle()).append("m")
 +            .append("\n LastPPG ").append(runtime.getHRS().getPPG())
 +            .append(",bph ").append(runtime.getHRS().getBPH())
 +            .append(",bpl ").append(runtime.getHRS().getBPL())
 +            .append(" at ").append(runtime.getHRS().getTestTime())
 +            .append(" \n TempTestCycle ").append(runtime.temp_test_Cycle_Seconds).append("s")
 +            .append("\nrealimei:").append(PhoneUtils.getIMEI(runtime.getContextProxy().context))
 +            .append("\n").append(runtime.getLBSMultiStationData())
 +            .append("\nWiFi Status ").append(Util.isWifiIsOpen(runtime.getContextProxy().context,runtime))
 +            .toString();
 +  }
 +  public static String getShortDeviceInfo(Runtime runtime){
 +
 +    SimSignalUtil sim=SimSignalUtil.getInstance(runtime.getContextProxy().context);
 +//    double wrist_temp=TemperatureUtil.get_temp_value_adjusted();
 +    return new StringBuilder("Firmware ")
 +            .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\nProtocol ")
 +            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))
 +            .append("\nIMEI ").append(runtime.IMEI())
 +            .append("\n"+TimeUtil.getLocalTime()).append("\nNetwork ")
 +            .append(SimSignalUtil.hasSimCard(runtime.getContextProxy().context)?" ":" NoSIM ")
 +            .append(sim.getNetworkType()==SimSignalUtil.IS_2G?"2G":(sim.getNetworkType()==SimSignalUtil.IS_3G)?"3G":(sim.getNetworkType()==SimSignalUtil.IS_4G?"4G":"unknown"))
 +            .append("[").append(runtime.getSignalInfo()).append("]")
 +            .append("\nHeartbeat[P").append(Config.protocol_no).append(" ").append(runtime.getSrvIP()).append(":").append(runtime.getPort()).append(",").append(runtime.isServerProtocolConnected()).append(",").append(runtime.getHeartBeatCycle())
 +            .append("]\nBat").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())
 +            .append(" charged ").append(runtime.isPowerConnected())
 +            .append(",Step").append(runtime.getTotalStepCount())
 +            .append( "\nLocation[M").append(runtime.getLocationInstance().getWorkingMod())
 +            .append(",C").append(runtime.getLocationInstance().getLocation_cycle())
 +            .append("s,T").append(runtime.getLocationInstance().getLocationType())
 +            .append(",").append(runtime.getLocationInstance().getLocationTime())
 +            .append(",BTIn").append(runtime.bleInfo.is_in_area)
 +            .append("]\nPPG[C").append(runtime.getPpgTestCycle())
 +//            .append(",P").append(runtime.getHRS().getPPG())
 +//            .append(",H").append(runtime.getHRS().getBPH())
 +//            .append(",L").append(runtime.getHRS().getBPL())
 +//            .append(",T").append(String.format("%1$.2f",wrist_temp))
 +//            .append(",TA").append(String.format("%1$.2f",TemperatureUtil.getBodyTemp(wrist_temp,26.0f)))
 +//            .append(",").append(runtime.getHRS().getTestTime())
 +            .append("m]\nTemp[C")
 +            .append(runtime.temp_test_Cycle_Seconds).append("s]")
 +            .toString();
 +  }
 +
 +  public static String getDeviceVersion(Runtime runtime){
 +    return new StringBuilder("Firmware ")
 +            .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\nProtocol ")
 +            .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))
 +            .append("\nIMEI ").append(runtime.IMEI())
 +            .append("\n"+TimeUtil.getLocalTime())
 +            .toString();
 +  }
 +  public static void setLockSimInfo(Context paramContext) {
 +    Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); }
 +
 +  private static String[][] packagelist={
 +          {"com.enqualcomm.support","Protocol"},
 +          {"com.ic.blood","BLood"},
 +          {"com.ic.launcher","Launcher"},
-           {"com.ic.work","Work"},
++          {"com.ic.com.ic.work","Work"},
 +          {"com.ic.weather","Weather"},
 +          {"com.ic.hardware","Hardware"},
 +          {"mobile.miki","FactoryMode"},
 +          {"com.ic.dial","Dialer"},
 +          {"android.rockchip.update.service","Fota"}
 +  };
 +
 +  public static String getPackageVersionName(Context context , String packagename) {
 +    String versionName = "";
 +    try {
 +      PackageManager pm = context.getPackageManager();
 +      PackageInfo pi = pm.getPackageInfo(packagename, 0);
 +      versionName = "V"+pi.versionCode;
 +      if (versionName == null || versionName.length() <= 0) {
 +        return "";
 +      }
 +    } catch (Exception e) {
 +      e.printStackTrace();
 +    }
 +    return versionName;
 +  }
 +
 +  public static String getPackageVersions(Context context){
 +      StringBuilder versions=new StringBuilder();
 +      versions.append(getSWVersionDisplayName()).append(",");
 +      for (String[] packagename: packagelist){
 +        versions.append(packagename[1]);
 +        versions.append("-");
 +        versions.append( getPackageVersionName(context,packagename[0]));
 +        versions.append(",");
 +      }
 +      return versions.toString();
 +    }
 +
 +
 +}
++