-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();
+ }
+
+
+}