补充 设备信息,添加 温度周期,以及定位,体温,心率周期加单位。
authorsnickersun <scy@incartech.cn>
Sat, 9 Jan 2021 06:56:32 +0000 (14:56 +0800)
committersnickersun <scy@incartech.cn>
Sat, 9 Jan 2021 06:56:32 +0000 (14:56 +0800)
app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java
app/version_code.properties

index d13dbc3..a7dd4e1 100644 (file)
-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.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.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();
+    }
+
+
+}
index 4a12822..2d802ba 100644 (file)
@@ -1,2 +1,2 @@
 #Tue Dec 29 16:56:28 CST 2020
-VERSION_CODE=742
+VERSION_CODE=747