public static int defaultHeartbeatCycle=5;\r
public static int sw_release_no = -1;\r
public static int bleScanTimeout=10;\r
+ public static boolean forceMoveCheck=false;\r
public static String work_mode = "2@1";\r
\r
public static final String JiAiHost="watch.jiai.pro";\r
\r
private static boolean NoMoveAndNoGPSsignalSkipGpsFlag=false;\r
private static boolean noMove=false;\r
+ private static boolean last_noMove=false;\r
+ private static int noMoveCount=0;\r
+ private static final int MaxNoMoveTimeout=3000;\r
+\r
+ private static void checkNoMove(){\r
+\r
+\r
+ noMove=runtime.getLastStepCount() == runtime.getTotalStepCount();\r
+ runtime.updateFZDDevStatusMoving(!noMove); //设置当前运动状态\r
+\r
+ }\r
\r
\r
\r
ICLogger.i("locating ,skip location!");\r
return;\r
}\r
- noMove=runtime.getLastStepCount() == runtime.getTotalStepCount();\r
- runtime.updateFZDDevStatusMoving(!noMove); //设置当前运动状态\r
+\r
+ checkNoMove();\r
\r
// 不强制定位 且 WorkingMod 不是紧急模式,且 没有移动过\r
if ( ( forceLocation != 1 ) &&\r
- ( mod != ICLocation.REALTIME_MOD )&&\r
- ( mod != ICLocation.EMERGNECY_MOD ) &&\r
- (mod != ICLocation.CUSTOM_MOD8_GPS ) &&\r
-// (mod != ICLocation.CUSTOM_MOD8_WIFI ) &&\r
- (mod != ICLocation.CUSTOM_MOD ) &&\r
+ ((( mod == ICLocation.NORMAL_MOD ) || ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true) &&\r
(noMove) && (skipMoveCheck ==false )){\r
ICLogger.i("No Move ,skip location!");\r
return ;\r
\r
return true;\r
}\r
- if (spo2==null || (spo2!=null && Integer.parseInt(spo2 )<=0) ){\r
+ if (spo2==null ||\r
+ (spo2!=null &&\r
+ ( (!Util.isNumeric(spo2.trim() )) ||\r
+ (Util.isNumeric(spo2.trim() )&& Integer.parseInt(spo2.trim())<=0)\r
+ )\r
+ )\r
+ )\r
+ {\r
Random r = new Random();\r
int randomint = r.nextInt(98 - 95) + 95;\r
spo2=String.valueOf(randomint);\r
\r
}\r
}else {\r
- StringMessage PPGDATA = protocolAPIHelper.getPPG_ECG_MSG(Integer.parseInt(ppg), Integer.parseInt(bph), Integer.parseInt(bpl), Integer.parseInt(spo2), runtime);\r
- if (PPGDATA == null) {\r
- StringMessage ppgd = protocolAPIHelper.getPPG_MSG(Integer.parseInt(ppg), runtime);\r
- StringMessage bloodd = protocolAPIHelper.getBlood_MSG(Integer.parseInt(bph), Integer.parseInt(bpl), runtime);\r
- StringMessage oxd = protocolAPIHelper.getOxygen_MSG(Integer.parseInt(spo2), runtime);\r
- Deliver.sendLocationMSG(ppgd);\r
- Deliver.sendLocationMSG(bloodd);\r
- Deliver.sendLocationMSG(oxd);\r
- } else {\r
- Deliver.sendLocationMSG(PPGDATA);\r
- ICLogger.i("Send PPG " + PPGDATA.isFromCache());\r
+ try {\r
+ StringMessage PPGDATA = protocolAPIHelper.getPPG_ECG_MSG(Integer.parseInt(ppg), Integer.parseInt(bph), Integer.parseInt(bpl), Integer.parseInt(spo2), runtime);\r
+ if (PPGDATA == null) {\r
+ StringMessage ppgd = protocolAPIHelper.getPPG_MSG(Integer.parseInt(ppg), runtime);\r
+ StringMessage bloodd = protocolAPIHelper.getBlood_MSG(Integer.parseInt(bph), Integer.parseInt(bpl), runtime);\r
+ StringMessage oxd = protocolAPIHelper.getOxygen_MSG(Integer.parseInt(spo2), runtime);\r
+ Deliver.sendLocationMSG(ppgd);\r
+ Deliver.sendLocationMSG(bloodd);\r
+ Deliver.sendLocationMSG(oxd);\r
+ } else {\r
+ Deliver.sendLocationMSG(PPGDATA);\r
+ ICLogger.i("Send PPG " + PPGDATA.isFromCache());\r
+ }\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}\r
callback(message.replyTo, Constants.RESULT_OK);\r
char c = '\002';\r
if (cursor2 != null) {\r
while (cursor2.moveToNext()) {\r
- if ("ON".equals(cursor2.getString(4))) {\r
- String str2 = cursor2.getString(1);\r
- String str1 = cursor2.getString(c);\r
- String str3 = cursor2.getString(b2);\r
- String str4 = cursor2.getString(b1);\r
- calendar2.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str2.substring(c, 4)));\r
- calendar2.set(Calendar.MINUTE, Integer.parseInt(str2.substring(b1, 7)));\r
- char[] arrayOfChar = str1.toCharArray();\r
- int i = arrayOfChar.length;\r
- byte b = 1;\r
- while (b < i) {\r
- c = (char)(arrayOfChar[b] - '/'); //将ascii数字字符转换为对应的数字\r
- calendar2.set(Calendar.DAY_OF_WEEK, c);\r
- long l1 = calendar2.getTimeInMillis();\r
- if (l1 <= l)\r
- l1 += ONE_WEEK;\r
- PendingIntent pendingIntent = getPendingIntent(str2, str1, str3, str4, c);\r
- AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
- b++;\r
- c = '\002';\r
- b1 = 5;\r
- b2 = 3;\r
+ try {\r
+ if ("ON".equals(cursor2.getString(4))) {\r
+ String str2 = cursor2.getString(1);\r
+ String str1 = cursor2.getString(c);\r
+ String str3 = cursor2.getString(b2);\r
+ String str4 = cursor2.getString(b1);\r
+ calendar2.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str2.substring(c, 4)));\r
+ calendar2.set(Calendar.MINUTE, Integer.parseInt(str2.substring(b1, 7)));\r
+ char[] arrayOfChar = str1.toCharArray();\r
+ int i = arrayOfChar.length;\r
+ byte b = 1;\r
+ while (b < i) {\r
+ c = (char) (arrayOfChar[b] - '/'); //将ascii数字字符转换为对应的数字\r
+ calendar2.set(Calendar.DAY_OF_WEEK, c);\r
+ long l1 = calendar2.getTimeInMillis();\r
+ if (l1 <= l)\r
+ l1 += ONE_WEEK;\r
+ PendingIntent pendingIntent = getPendingIntent(str2, str1, str3, str4, c);\r
+ AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ b++;\r
+ c = '\002';\r
+ b1 = 5;\r
+ b2 = 3;\r
+ }\r
}\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}\r
cursor2.close();\r
Cursor cursor1 = this.context.getContentResolver().query(ICContentProvider.NOTICE_URL, null, null, null, null);\r
if (cursor1 != null) {\r
while (cursor1.moveToNext()) {\r
- String str1 = cursor1.getString(1);\r
- String str2 = cursor1.getString(2);\r
- String str3 = cursor1.getString(3);\r
- String str4 = cursor1.getString(4);\r
- String str5 = cursor1.getString(5);\r
- String str6 = cursor1.getString(6);\r
- String str7 = cursor1.getString(6);\r
- if (str1 != null) {\r
- String year = str1.substring(0, 4);\r
- String month = str1.substring(4, 6);\r
- String day = str1.substring(6, 8);\r
- String hour = str1.substring(8, 10);\r
- String minute = str1.substring(10, 12);\r
- calendar1.set(Calendar.YEAR, Integer.parseInt(year));\r
- calendar1.set(Calendar.MONTH, Integer.parseInt(month));\r
- calendar1.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));\r
- calendar1.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour));\r
- calendar1.set(Calendar.MINUTE, Integer.parseInt(minute));\r
- long l1 = calendar1.getTimeInMillis();\r
- if (l1 > l) {\r
- PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);\r
- AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ try {\r
+ String str1 = cursor1.getString(1);\r
+ String str2 = cursor1.getString(2);\r
+ String str3 = cursor1.getString(3);\r
+ String str4 = cursor1.getString(4);\r
+ String str5 = cursor1.getString(5);\r
+ String str6 = cursor1.getString(6);\r
+ String str7 = cursor1.getString(6);\r
+ if (str1 != null) {\r
+ String year = str1.substring(0, 4);\r
+ String month = str1.substring(4, 6);\r
+ String day = str1.substring(6, 8);\r
+ String hour = str1.substring(8, 10);\r
+ String minute = str1.substring(10, 12);\r
+ calendar1.set(Calendar.YEAR, Integer.parseInt(year));\r
+ calendar1.set(Calendar.MONTH, Integer.parseInt(month));\r
+ calendar1.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));\r
+ calendar1.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour));\r
+ calendar1.set(Calendar.MINUTE, Integer.parseInt(minute));\r
+ long l1 = calendar1.getTimeInMillis();\r
+ if (l1 > l) {\r
+ PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);\r
+ AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ }\r
}\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}\r
cursor1.close();\r
long l = System.currentTimeMillis();\r
for (Alarm alarm : paramArrayList) {\r
long l1 = l;\r
+\r
if ("ON".equals(alarm.status)) {\r
- int i = Integer.parseInt(alarm.time.substring(2, 4));\r
- int j = Integer.parseInt(alarm.time.substring(5, 7));\r
- calendar.set(Calendar.HOUR_OF_DAY, i);\r
- calendar.set(Calendar.MINUTE, j);\r
- char[] arrayOfChar = alarm.week.toCharArray();\r
- i = arrayOfChar.length;\r
- j = 1;\r
- while (true) {\r
- l1 = l;\r
- if (j < i) {\r
- c = ( char)(arrayOfChar[j] - '/');\r
- calendar.set(Calendar.DAY_OF_WEEK, c);\r
- long l2 = calendar.getTimeInMillis();\r
- l1 = l2;\r
- if (l2 <= l)\r
- l1 = l2 + ONE_WEEK;\r
- PendingIntent pendingIntent = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c);\r
- AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
- j++;\r
- continue;\r
+ try {\r
+ int i = Integer.parseInt(alarm.time.substring(2, 4));\r
+ int j = Integer.parseInt(alarm.time.substring(5, 7));\r
+ calendar.set(Calendar.HOUR_OF_DAY, i);\r
+ calendar.set(Calendar.MINUTE, j);\r
+ char[] arrayOfChar = alarm.week.toCharArray();\r
+ i = arrayOfChar.length;\r
+ j = 1;\r
+ while (true) {\r
+ l1 = l;\r
+ if (j < i) {\r
+ c = (char) (arrayOfChar[j] - '/');\r
+ calendar.set(Calendar.DAY_OF_WEEK, c);\r
+ long l2 = calendar.getTimeInMillis();\r
+ l1 = l2;\r
+ if (l2 <= l)\r
+ l1 = l2 + ONE_WEEK;\r
+ PendingIntent pendingIntent = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c);\r
+ AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ j++;\r
+ continue;\r
+ }\r
+ break;\r
}\r
- break;\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}\r
l = l1;\r
long l = System.currentTimeMillis();\r
calendar.set(Calendar.SECOND, 0);\r
if (str1 != null) {\r
- String str8 = str1.substring(0, 4);\r
- String str9 = str1.substring(4, 6);\r
- String str10 = str1.substring(6, 8);\r
- String str11 = str1.substring(8, 10);\r
- String str12 = str1.substring(10, 12);\r
- calendar.set(Calendar.YEAR, Integer.parseInt(str8));\r
- calendar.set(Calendar.MONTH, Integer.parseInt(str9) - 1);\r
- calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(str10));\r
- calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str11));\r
- calendar.set(Calendar.MINUTE, Integer.parseInt(str12));\r
- long l1 = calendar.getTimeInMillis();\r
- if (l1 >= l) {\r
- PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);\r
- AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ try {\r
+ String str8 = str1.substring(0, 4);\r
+ String str9 = str1.substring(4, 6);\r
+ String str10 = str1.substring(6, 8);\r
+ String str11 = str1.substring(8, 10);\r
+ String str12 = str1.substring(10, 12);\r
+ calendar.set(Calendar.YEAR, Integer.parseInt(str8));\r
+ calendar.set(Calendar.MONTH, Integer.parseInt(str9) - 1);\r
+ calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(str10));\r
+ calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str11));\r
+ calendar.set(Calendar.MINUTE, Integer.parseInt(str12));\r
+ long l1 = calendar.getTimeInMillis();\r
+ if (l1 >= l) {\r
+ PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);\r
+ AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);\r
+ }\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}\r
}\r
}\r
return ret;\r
}\r
- public static boolean isNumeric(String str){\r
- Pattern pattern = Pattern.compile("[0-9]*");\r
+\r
+ public static boolean isNumeric(String str){\r
+ Pattern pattern = Pattern.compile("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");\r
Matcher isNum = pattern.matcher(str);\r
if( !isNum.matches() ){\r
return false;\r
String[] msg=cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen);\r
-\r
-\r
- log( stringBuffer.toString());\r
- return packetLen;\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen);\r
+\r
+\r
+ log(stringBuffer.toString());\r
+ return packetLen;\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("getBP28AmrLen","format Error");\r
\r
log("handleBP00", "Set Datetime " + msg[1]);\r
log("handleBP00", "Set TimeZone " + msg[2]);\r
\r
-// Date datetime= TimeUtil.parseDatetiime(msg[1]);\r
-// int timezone=Integer.parseInt(msg[2]);\r
-// if (datetime!=null){\r
-// ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
-// TimeUtil.setTimeZone(timezone);\r
-//\r
-//\r
-// ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
-// TimeUtil.setSysDateTime(runtime.getContextProxy().context,datetime,timezone);\r
-// ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
-//\r
-// }\r
+ try {\r
+ Date datetime = TimeUtil.parseDatetiime(msg[1]);\r
+ int timezone = Integer.parseInt(msg[2]);\r
+ if (datetime != null) {\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setTimeZone(timezone);\r
+\r
+\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, timezone);\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+\r
+ }\r
// Set Datetime 20200505112734\r
// Set TimeZone 8\r
-\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("handleBP00","format Error");\r
}\r
String strSex=list[6];\r
\r
connection.send(APJZ(index,strBPH,strBPL,strAge,strSex));\r
- runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH),Integer.parseInt(strBPL),Integer.parseInt(strAge),Integer.parseInt(strSex));\r
- ICLogger.i("Handle BPJZ IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", Age "+ strAge +", Sex "+ (strSex.equals("1")?"男":"女"));\r
+ try {\r
+ runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH), Integer.parseInt(strBPL), Integer.parseInt(strAge), Integer.parseInt(strSex));\r
+ ICLogger.i("Handle BPJZ IMEI " + imei + ",index " + index + ", BPH " + strBPH + ", BPL " + strBPL + ", Age " + strAge + ", Sex " + (strSex.equals("1") ? "男" : "女"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BPXY format error!");\r
}\r
String[] datalist= cmd.split("@");\r
ArrayList<Alarm> alarmlist=new ArrayList<>();\r
if (datalist.length >0){\r
- for (int i =0 ; i< datalist.length;i++){\r
- String [] cmdarglist=datalist[i].split(",");\r
-\r
- if (i == 0){\r
- if (cmdarglist.length == 9){\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
- alarmtime=cmdarglist[5];\r
- repeat=cmdarglist[6];\r
- alarmswitch=Integer.parseInt(cmdarglist[7]);\r
- alarmtype = Integer.parseInt(cmdarglist[8]);\r
- log(new StringBuilder("imei ").append(imei)\r
- .append(", cmdindex ").append(cmdindex)\r
- .append(", allswitch=").append(all_alarmswitch)\r
- .append(", all alarm count=").append(alarmcount)\r
- .toString()\r
- );\r
-\r
- log(new StringBuilder("alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
- }else if (cmdarglist.length == 5) {\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
- }else{\r
- log("data len is too small!");\r
- }\r
- }else{\r
- if (cmdarglist.length == 4){\r
- alarmtime=cmdarglist[0];\r
- repeat=cmdarglist[1];\r
- alarmswitch=Integer.parseInt(cmdarglist[2]);\r
- alarmtype = Integer.parseInt(cmdarglist[3]);\r
-\r
- log(new StringBuilder("set alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
-\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
- }else{\r
- log("data len is too small!");\r
- }\r
-\r
- }\r
- }//循环获取alarm数据结束\r
- runtime.getDbHelper().saveAlarm(alarmlist);\r
+ try {\r
+ for (int i = 0; i < datalist.length; i++) {\r
+ String[] cmdarglist = datalist[i].split(",");\r
+\r
+ if (i == 0) {\r
+ if (cmdarglist.length == 9) {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ alarmtime = cmdarglist[5];\r
+ repeat = cmdarglist[6];\r
+ alarmswitch = Integer.parseInt(cmdarglist[7]);\r
+ alarmtype = Integer.parseInt(cmdarglist[8]);\r
+ log(new StringBuilder("imei ").append(imei)\r
+ .append(", cmdindex ").append(cmdindex)\r
+ .append(", allswitch=").append(all_alarmswitch)\r
+ .append(", all alarm count=").append(alarmcount)\r
+ .toString()\r
+ );\r
+\r
+ log(new StringBuilder("alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+\r
+ } else if (cmdarglist.length == 5) {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ } else {\r
+ log("data len is too small!");\r
+ }\r
+ } else {\r
+ if (cmdarglist.length == 4) {\r
+ alarmtime = cmdarglist[0];\r
+ repeat = cmdarglist[1];\r
+ alarmswitch = Integer.parseInt(cmdarglist[2]);\r
+ alarmtype = Integer.parseInt(cmdarglist[3]);\r
+\r
+ log(new StringBuilder("set alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+\r
+ } else {\r
+ log("data len is too small!");\r
+ }\r
\r
- //do clean and set alarm things\r
+ }\r
+ }//循环获取alarm数据结束\r
+ runtime.getDbHelper().saveAlarm(alarmlist);\r
\r
+ //do clean and set alarm things\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
//IWBP85,867155030002145,410385,1,0,#\r
\r
//1:表示服务器接受数据成功,0表示服务器接受数据失败\r
String[] cmdlist=cmd.split(CMDSPLIT);\r
if (cmdlist.length==5){\r
- String time=cmdlist[1];\r
- int packetCount=Integer.parseInt(cmdlist[2]);\r
- int packetIndex=Integer.parseInt(cmdlist[3]);\r
- int receiveSuccess=Integer.parseInt(cmdlist[4]);\r
- ICLogger.i("服务器在"+time+" 收到语音 "+packetIndex+"/"+packetCount+" "+ (receiveSuccess==1?"成功":"失敗"));\r
- if (receiveSuccess == 1){\r
- //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
- voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ try {\r
+ String time = cmdlist[1];\r
+ int packetCount = Integer.parseInt(cmdlist[2]);\r
+ int packetIndex = Integer.parseInt(cmdlist[3]);\r
+ int receiveSuccess = Integer.parseInt(cmdlist[4]);\r
+ ICLogger.i("服务器在" + time + " 收到语音 " + packetIndex + "/" + packetCount + " " + (receiveSuccess == 1 ? "成功" : "失敗"));\r
+ if (receiveSuccess == 1) {\r
+ //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
+ voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ }\r
+ //发送消息,再次检查要发送的语音包,确认其发送完毕\r
+ connection.DeliverCMDMessageToSystem("SentVoicePacket", "SentVoicePacket");\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
- //发送消息,再次检查要发送的语音包,确认其发送完毕\r
- connection.DeliverCMDMessageToSystem("SentVoicePacket","SentVoicePacket");\r
-\r
}else{\r
ICLogger.i(" BP07 Format error!");\r
}\r
\r
String[] cmdlist=cmd.split(",");\r
if (cmdlist.length == 4){\r
-\r
-\r
log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=900;\r
- switch(mod){\r
- case ICLocation.NORMAL_MOD:\r
- Cycle=900;\r
- break;\r
- case ICLocation.LOWPOWER_MOD:\r
- Cycle=3600;\r
- break;\r
- case ICLocation.EMERGNECY_MOD:\r
- case ICLocation.REALTIME_MOD:\r
- Cycle=60;\r
- break;\r
+ try {\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = 900;\r
+ switch (mod) {\r
+ case ICLocation.NORMAL_MOD:\r
+ Cycle = 900;\r
+ break;\r
+ case ICLocation.LOWPOWER_MOD:\r
+ Cycle = 3600;\r
+ break;\r
+ case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
+ Cycle = 60;\r
+ break;\r
\r
- }\r
+ }\r
\r
- StringMessage msg=AP33(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
- log("reply msg "+msg);\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ StringMessage msg = AP33(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+ log("reply msg " + msg);\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
}\r
\r
\r
log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=Integer.parseInt(cmdlist[4]);\r
- int gpson=Integer.parseInt(cmdlist[5]);\r
-\r
- StringMessage msg=AP34(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
-\r
- if(gpson==1){\r
- mod=ICLocation.CUSTOM_MOD8_GPS;\r
- }else{\r
- mod=ICLocation.CUSTOM_MOD8_WIFI;\r
- }\r
- log("reply msg "+msg);\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod + ", cycle = "+Cycle+", GPS On= "+gpson);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ try {\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = Integer.parseInt(cmdlist[4]);\r
+ int gpson = Integer.parseInt(cmdlist[5]);\r
+\r
+ StringMessage msg = AP34(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+\r
+ if (gpson == 1) {\r
+ mod = ICLocation.CUSTOM_MOD8_GPS;\r
+ } else {\r
+ mod = ICLocation.CUSTOM_MOD8_WIFI;\r
+ }\r
+ log("reply msg " + msg);\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod + ", cycle = " + Cycle + ", GPS On= " + gpson);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
}\r
String[] list=cmd.split(CMDSPLIT);\r
\r
if(list.length==4){\r
- String index=list[2];\r
- String time=list[3];\r
- connection.send(AP15(index));\r
- ICLogger.i("BP15 , 定位周期="+time+"秒");\r
-\r
- Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Integer.parseInt(time));\r
- runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
- runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
- //set AlarmCycle and trigger Location\r
- CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ try {\r
+ String index = list[2];\r
+ String time = list[3];\r
+ connection.send(AP15(index));\r
+ ICLogger.i("BP15 , 定位周期=" + time + "秒");\r
+\r
+ Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Integer.parseInt(time));\r
+ runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
+ runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
+ //set AlarmCycle and trigger Location\r
+ CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP15 format error");\r
}\r
String[] msg= cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
- packetData= Util.subArray(bytes,msg[0].length()+msg[1].length()+msg[2].length()+msg[3].length()+msg[4].length()+msg[5].length()+6,bytes.length-1);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("recv BP28 name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen)\r
- .append(",packetDatalen = ").append(packetData.length);\r
-\r
- log( stringBuffer.toString());\r
- connection.send(AP28(Name,appendIndex,packetCount,currentId,1));\r
- voicePacket.getInstance().appendVoice(Name,appendIndex,packetCount,currentId,packetLen,packetData);\r
- log("================"+voicePacket.getInstance().toString());\r
- if (voicePacket.getInstance().isFinished())\r
- {\r
-\r
- String dir = Environment.getExternalStorageDirectory()+ "/Android/VoiceCache";\r
- String amrFilepath=Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(),0,voicePacket.getInstance().getVoicePacketLen(),new File(dir),"receive_"+voicePacket.getInstance().getPacketTime()+".amr");\r
- ICLogger.i("save Amr file to "+amrFilepath);\r
- voicePacket.getInstance().clearPacket();\r
- VoiceContent voiceContent=VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP,GROUP_ALL,amrFilepath);\r
-\r
-\r
- final Uri uri2 = runtime.getDbHelper().insertMessage( voiceContent);\r
-\r
- //回复UI消息,表示已经接收到\r
- voiceContent.status = 3;\r
- voiceContent.serverTime = TimeUtil.getSystemTime3();\r
- voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
- runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+ packetData = Util.subArray(bytes, msg[0].length() + msg[1].length() + msg[2].length() + msg[3].length() + msg[4].length() + msg[5].length() + 6, bytes.length - 1);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("recv BP28 name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen)\r
+ .append(",packetDatalen = ").append(packetData.length);\r
+\r
+ log(stringBuffer.toString());\r
+ connection.send(AP28(Name, appendIndex, packetCount, currentId, 1));\r
+ voicePacket.getInstance().appendVoice(Name, appendIndex, packetCount, currentId, packetLen, packetData);\r
+ log("================" + voicePacket.getInstance().toString());\r
+ if (voicePacket.getInstance().isFinished()) {\r
+\r
+ String dir = Environment.getExternalStorageDirectory() + "/Android/VoiceCache";\r
+ String amrFilepath = Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(), 0, voicePacket.getInstance().getVoicePacketLen(), new File(dir), "receive_" + voicePacket.getInstance().getPacketTime() + ".amr");\r
+ ICLogger.i("save Amr file to " + amrFilepath);\r
+ voicePacket.getInstance().clearPacket();\r
+ VoiceContent voiceContent = VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP, GROUP_ALL, amrFilepath);\r
+\r
+\r
+ final Uri uri2 = runtime.getDbHelper().insertMessage(voiceContent);\r
+\r
+ //回复UI消息,表示已经接收到\r
+ voiceContent.status = 3;\r
+ voiceContent.serverTime = TimeUtil.getSystemTime3();\r
+ voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
+ runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
\r
// runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime);\r
\r
- connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
\r
}else{\r
String[] list=cmd.split(CMDSPLIT);\r
\r
if (list.length==5){\r
- String index=list[2];\r
- String type=list[3];\r
- String cycle=list[4];\r
- connection.send(AP86(index));\r
- ICLogger.i("收到服务器指令:设置"+(type.equals("1")?"心率周期 ":"血压周期 ")+cycle+"分钟");\r
-\r
- //发送重置PPGCycle的广播,会在CoreServer里面执行\r
- Intent intent = new Intent();\r
- intent.putExtra("PPGTestCycle",Integer.parseInt(cycle));\r
- runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START,intent);\r
+ try {\r
+ String index = list[2];\r
+ String type = list[3];\r
+ String cycle = list[4];\r
+ connection.send(AP86(index));\r
+ ICLogger.i("收到服务器指令:设置" + (type.equals("1") ? "心率周期 " : "血压周期 ") + cycle + "分钟");\r
+\r
+ //发送重置PPGCycle的广播,会在CoreServer里面执行\r
+ Intent intent = new Intent();\r
+ intent.putExtra("PPGTestCycle", Integer.parseInt(cycle));\r
+ runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START, intent);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP86 format error!");\r
}\r
//60 : 上传间隔,单位分钟(60分钟上传一次体温,终端收到后立即开始测量一次并重置定时器)\r
String[] list=cmd.split(CMDSPLIT);\r
if (list.length==4){\r
- String index=list[2];\r
- String freqstr=list[3];\r
- int freq=Integer.parseInt(freqstr);\r
- connection.send(APTE(index,freq));\r
- ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。");\r
- Config.setTemperatureTestCycle(runtime,freq*60);\r
- CoreService.getInstance().setTempAlarm();\r
-\r
- TemperatureUtil.doTempTestInThread();\r
-\r
+ try {\r
+ String index = list[2];\r
+ String freqstr = list[3];\r
+ int freq = Integer.parseInt(freqstr);\r
+ connection.send(APTE(index, freq));\r
+ ICLogger.i("收到服务器指令:测量体温 " + freq + "分钟一次。");\r
+ Config.setTemperatureTestCycle(runtime, freq * 60);\r
+ CoreService.getInstance().setTempAlarm();\r
+\r
+ TemperatureUtil.doTempTestInThread();\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
// double wrist_temp,body_temp;\r
// wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
// body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f);\r
\r
connection.send(APX1(index));\r
\r
- int ppg_adjust,bph_adjust,bpl_adjust,spo2_adjust;\r
- ppg_adjust=Integer.parseInt(strXL);\r
- bph_adjust=Integer.parseInt(strBPH);\r
- bpl_adjust=Integer.parseInt(strBPL);\r
- spo2_adjust=Integer.parseInt(strSpO2);\r
-\r
- runtime.getHRS().setAdjust(ppg_adjust,bph_adjust,bpl_adjust,spo2_adjust);\r
- Config.setPPGAdjust(mRuntime.getContextProxy().context,ppg_adjust);\r
- Config.setBPHAdjust(mRuntime.getContextProxy().context,bph_adjust);\r
- Config.setBPLAdjust(mRuntime.getContextProxy().context,bpl_adjust);\r
- Config.setSPo2Adjust(mRuntime.getContextProxy().context,spo2_adjust);\r
-\r
- ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", PPG "+ strXL +", Sp02 "+ strSpO2);\r
+ try {\r
+ int ppg_adjust, bph_adjust, bpl_adjust, spo2_adjust;\r
+ ppg_adjust = Integer.parseInt(strXL);\r
+ bph_adjust = Integer.parseInt(strBPH);\r
+ bpl_adjust = Integer.parseInt(strBPL);\r
+ spo2_adjust = Integer.parseInt(strSpO2);\r
+\r
+ runtime.getHRS().setAdjust(ppg_adjust, bph_adjust, bpl_adjust, spo2_adjust);\r
+ Config.setPPGAdjust(mRuntime.getContextProxy().context, ppg_adjust);\r
+ Config.setBPHAdjust(mRuntime.getContextProxy().context, bph_adjust);\r
+ Config.setBPLAdjust(mRuntime.getContextProxy().context, bpl_adjust);\r
+ Config.setSPo2Adjust(mRuntime.getContextProxy().context, spo2_adjust);\r
+\r
+ ICLogger.i("Handle BPX1 IMEI " + imei + ",index " + index + ", BPH " + strBPH + ", BPL " + strBPL + ", PPG " + strXL + ", Sp02 " + strSpO2);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BPX1 format error!");\r
}\r
public static void handlePing(Runtime runtime,String data){\r
// [IC*YYYYYYYYYYYYYYY*LEN*PING,是否绑定(0 表示未绑定,1 表示绑定)]\r
// 实例:[IC*334588000000156*0006*PING,0]或[IC*334588000000156*0006*PING,1]\r
- int bind=Integer.parseInt(data);\r
- if (bind==0){\r
- ICLogger.i("设备未绑定!");\r
- runtime.BindingStatus=false;\r
- }else{\r
- ICLogger.i("设备已绑定!");\r
- runtime.BindingStatus=true;\r
+ try {\r
+ int bind = Integer.parseInt(data);\r
+ if (bind == 0) {\r
+ ICLogger.i("设备未绑定!");\r
+ runtime.BindingStatus = false;\r
+ } else {\r
+ ICLogger.i("设备已绑定!");\r
+ runtime.BindingStatus = true;\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
\r
}\r
String date=list[2].trim();\r
String time=list[1].trim();\r
Date datetime= TimeUtil.parseDatetiime(date,time);\r
-\r
int timezone;\r
try\r
{\r
\r
public void handleUPLOAD(Connection connection,Runtime runtime,String cmd,String data){\r
connection.send(UPLOAD());\r
- int timesecond=Integer.parseInt(data);\r
- int mod=runtime.getLocationInstance().getWorkingMod();\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,timesecond);\r
- runtime.getLocationInstance().setLocation_cycle(timesecond);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ try {\r
+ int timesecond = Integer.parseInt(data);\r
+ int mod = runtime.getLocationInstance().getWorkingMod();\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, timesecond);\r
+ runtime.getLocationInstance().setLocation_cycle(timesecond);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
-\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
public static StringMessage heart(int hrt){\r
public void handleWdstart(Connection connection,Runtime runtime ,String data) {\r
\r
connection.send(wdstart());\r
- int freq=Integer.parseInt(data);\r
+ try {\r
+ int freq = Integer.parseInt(data);\r
\r
\r
- Config.setTemperatureTestCycle(runtime,freq);\r
- CoreService.getInstance().setTempAlarm();\r
+ Config.setTemperatureTestCycle(runtime, freq);\r
+ CoreService.getInstance().setTempAlarm();\r
\r
- TemperatureUtil.doTempTestInThread();\r
+ TemperatureUtil.doTempTestInThread();\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
//\r
// double wrist_temp,body_temp;\r
// wrist_temp= TemperatureUtil.get_temp_value_adjusted();\r
\r
String[] msg=cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen);\r
+\r
+\r
+ log(stringBuffer.toString());\r
+ return packetLen;\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen);\r
-\r
-\r
- log( stringBuffer.toString());\r
- return packetLen;\r
}else{\r
log("getBP28AmrLen","format Error");\r
\r
if (msg.length>=3) {\r
log("handleBP00", "Set Datetime " + msg[1]);\r
log("handleBP00", "Set TimeZone " + msg[2]);\r
+ try {\r
+ Date datetime = TimeUtil.parseDatetiime(msg[1]);\r
+ int timezone = Integer.parseInt(msg[2]);\r
+ if (datetime != null) {\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setTimeZone(timezone);\r
\r
- Date datetime= TimeUtil.parseDatetiime(msg[1]);\r
- int timezone=Integer.parseInt(msg[2]);\r
- if (datetime!=null){\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
- TimeUtil.setTimeZone(timezone);\r
\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, timezone);\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
- TimeUtil.setSysDateTime(runtime.getContextProxy().context,datetime,timezone);\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
-\r
+ }\r
+ }catch (Exception e) {\r
+ ICLogger.e(e.getMessage(), e);\r
}\r
// Set Datetime 20200505112734\r
// Set TimeZone 8\r
//792997:指令流水号\r
String[] list=cmd.split(CMDSPLIT);\r
if (list.length==7){\r
- String index=list[2];\r
- String imei=list[1];\r
- String strBPH=list[3];\r
- String strBPL=list[4];\r
- String strAge=list[5];\r
- String strSex=list[6];\r
-\r
- connection.send(APJZ(index,strBPH,strBPL,strAge,strSex));\r
- runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH),Integer.parseInt(strBPL),Integer.parseInt(strAge),Integer.parseInt(strSex));\r
- ICLogger.i("Handle BPJZ IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", Age "+ strAge +", Sex "+ (strSex.equals("1")?"男":"女"));\r
+ try {\r
+ String index = list[2];\r
+ String imei = list[1];\r
+ String strBPH = list[3];\r
+ String strBPL = list[4];\r
+ String strAge = list[5];\r
+ String strSex = list[6];\r
+\r
+ connection.send(APJZ(index, strBPH, strBPL, strAge, strSex));\r
+ runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH), Integer.parseInt(strBPL), Integer.parseInt(strAge), Integer.parseInt(strSex));\r
+ ICLogger.i("Handle BPJZ IMEI " + imei + ",index " + index + ", BPH " + strBPH + ", BPL " + strBPL + ", Age " + strAge + ", Sex " + (strSex.equals("1") ? "男" : "女"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BPXY format error!");\r
}\r
\r
if (i == 0){\r
if (cmdarglist.length == 9){\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
- alarmtime=cmdarglist[5];\r
- repeat=cmdarglist[6];\r
- alarmswitch=Integer.parseInt(cmdarglist[7]);\r
- alarmtype = Integer.parseInt(cmdarglist[8]);\r
- log(new StringBuilder("imei ").append(imei)\r
- .append(", cmdindex ").append(cmdindex)\r
- .append(", allswitch=").append(all_alarmswitch)\r
- .append(", all alarm count=").append(alarmcount)\r
- .toString()\r
- );\r
-\r
- log(new StringBuilder("alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
+ try {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ alarmtime = cmdarglist[5];\r
+ repeat = cmdarglist[6];\r
+ alarmswitch = Integer.parseInt(cmdarglist[7]);\r
+ alarmtype = Integer.parseInt(cmdarglist[8]);\r
+ log(new StringBuilder("imei ").append(imei)\r
+ .append(", cmdindex ").append(cmdindex)\r
+ .append(", allswitch=").append(all_alarmswitch)\r
+ .append(", all alarm count=").append(alarmcount)\r
+ .toString()\r
+ );\r
+\r
+ log(new StringBuilder("alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+ }catch (Exception e) {\r
+ ICLogger.e(e.getMessage(), e);\r
+ }\r
}else if (cmdarglist.length == 5) {\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
+ try {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ }catch (Exception e) {\r
+ ICLogger.e(e.getMessage(), e);\r
+ }\r
}else{\r
log("data len is too small!");\r
}\r
}else{\r
if (cmdarglist.length == 4){\r
- alarmtime=cmdarglist[0];\r
- repeat=cmdarglist[1];\r
- alarmswitch=Integer.parseInt(cmdarglist[2]);\r
- alarmtype = Integer.parseInt(cmdarglist[3]);\r
-\r
- log(new StringBuilder("set alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
-\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
+ try {\r
+ alarmtime = cmdarglist[0];\r
+ repeat = cmdarglist[1];\r
+ alarmswitch = Integer.parseInt(cmdarglist[2]);\r
+ alarmtype = Integer.parseInt(cmdarglist[3]);\r
+\r
+ log(new StringBuilder("set alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("data len is too small!");\r
}\r
//1:表示服务器接受数据成功,0表示服务器接受数据失败\r
String[] cmdlist=cmd.split(CMDSPLIT);\r
if (cmdlist.length==5){\r
- String time=cmdlist[1];\r
- int packetCount=Integer.parseInt(cmdlist[2]);\r
- int packetIndex=Integer.parseInt(cmdlist[3]);\r
- int receiveSuccess=Integer.parseInt(cmdlist[4]);\r
- ICLogger.i("服务器在"+time+" 收到语音 "+packetIndex+"/"+packetCount+" "+ (receiveSuccess==1?"成功":"失敗"));\r
- if (receiveSuccess == 1){\r
- //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
- voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ try {\r
+ String time = cmdlist[1];\r
+ int packetCount = Integer.parseInt(cmdlist[2]);\r
+ int packetIndex = Integer.parseInt(cmdlist[3]);\r
+ int receiveSuccess = Integer.parseInt(cmdlist[4]);\r
+ ICLogger.i("服务器在" + time + " 收到语音 " + packetIndex + "/" + packetCount + " " + (receiveSuccess == 1 ? "成功" : "失敗"));\r
+ if (receiveSuccess == 1) {\r
+ //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
+ voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ }\r
+ //发送消息,再次检查要发送的语音包,确认其发送完毕\r
+ connection.DeliverCMDMessageToSystem("SentVoicePacket", "SentVoicePacket");\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
- //发送消息,再次检查要发送的语音包,确认其发送完毕\r
- connection.DeliverCMDMessageToSystem("SentVoicePacket","SentVoicePacket");\r
-\r
}else{\r
ICLogger.i(" BP07 Format error!");\r
}\r
\r
\r
log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=900;\r
- switch(mod){\r
- case ICLocation.NORMAL_MOD:\r
- Cycle=900;\r
- break;\r
- case ICLocation.LOWPOWER_MOD:\r
- Cycle=3600;\r
- break;\r
- case ICLocation.EMERGNECY_MOD:\r
- case ICLocation.REALTIME_MOD:\r
- Cycle=60;\r
- break;\r
+ try {\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = 900;\r
+ switch (mod) {\r
+ case ICLocation.NORMAL_MOD:\r
+ Cycle = 900;\r
+ break;\r
+ case ICLocation.LOWPOWER_MOD:\r
+ Cycle = 3600;\r
+ break;\r
+ case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
+ Cycle = 60;\r
+ break;\r
\r
- }\r
+ }\r
\r
- StringMessage msg=AP33(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
- log("reply msg "+msg);\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ StringMessage msg = AP33(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+ log("reply msg " + msg);\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
//此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
}\r
\r
\r
log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=Integer.parseInt(cmdlist[4]);\r
- int gpson=Integer.parseInt(cmdlist[5]);\r
+ try {\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = Integer.parseInt(cmdlist[4]);\r
+ int gpson = Integer.parseInt(cmdlist[5]);\r
\r
- StringMessage msg=AP34(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
+ StringMessage msg = AP34(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
\r
- if(gpson==1){\r
- mod=ICLocation.CUSTOM_MOD8_GPS;\r
- }else{\r
- mod=ICLocation.CUSTOM_MOD8_WIFI;\r
- }\r
- log("reply msg "+msg.isFromCache());\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod + ", cycle = "+Cycle+", GPS On= "+gpson);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ if (gpson == 1) {\r
+ mod = ICLocation.CUSTOM_MOD8_GPS;\r
+ } else {\r
+ mod = ICLocation.CUSTOM_MOD8_WIFI;\r
+ }\r
+ log("reply msg " + msg.isFromCache());\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod + ", cycle = " + Cycle + ", GPS On= " + gpson);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
}\r
connection.send(AP15(index));\r
ICLogger.i("BP15 , 定位周期="+time+"秒");\r
\r
- Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Integer.parseInt(time)*60);\r
- runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
- runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
- //set AlarmCycle and trigger Location\r
- CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ try {\r
+ Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Integer.parseInt(time) * 60);\r
+ runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
+ runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
+ //set AlarmCycle and trigger Location\r
+ CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP15 format error");\r
}\r
String[] msg= cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
- packetData= Util.subArray(bytes,msg[0].length()+msg[1].length()+msg[2].length()+msg[3].length()+msg[4].length()+msg[5].length()+6,bytes.length-1);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("recv BP28 name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen)\r
- .append(",packetDatalen = ").append(packetData.length);\r
-\r
- log( stringBuffer.toString());\r
- connection.send(AP28(Name,appendIndex,packetCount,currentId,1));\r
- voicePacket.getInstance().appendVoice(Name,appendIndex,packetCount,currentId,packetLen,packetData);\r
- log("================"+voicePacket.getInstance().toString());\r
- if (voicePacket.getInstance().isFinished())\r
- {\r
-\r
- String dir = Environment.getExternalStorageDirectory()+ "/Android/VoiceCache";\r
- String amrFilepath=Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(),0,voicePacket.getInstance().getVoicePacketLen(),new File(dir),"receive_"+voicePacket.getInstance().getPacketTime()+".amr");\r
- ICLogger.i("save Amr file to "+amrFilepath);\r
- voicePacket.getInstance().clearPacket();\r
- VoiceContent voiceContent=VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP,GROUP_ALL,amrFilepath);\r
-\r
-\r
- final Uri uri2 = runtime.getDbHelper().insertMessage( voiceContent);\r
-\r
- //回复UI消息,表示已经接收到\r
- voiceContent.status = 3;\r
- voiceContent.serverTime = TimeUtil.getSystemTime3();\r
- voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
- runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+ packetData = Util.subArray(bytes, msg[0].length() + msg[1].length() + msg[2].length() + msg[3].length() + msg[4].length() + msg[5].length() + 6, bytes.length - 1);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("recv BP28 name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen)\r
+ .append(",packetDatalen = ").append(packetData.length);\r
+\r
+ log(stringBuffer.toString());\r
+ connection.send(AP28(Name, appendIndex, packetCount, currentId, 1));\r
+ voicePacket.getInstance().appendVoice(Name, appendIndex, packetCount, currentId, packetLen, packetData);\r
+ log("================" + voicePacket.getInstance().toString());\r
+ if (voicePacket.getInstance().isFinished()) {\r
+\r
+ String dir = Environment.getExternalStorageDirectory() + "/Android/VoiceCache";\r
+ String amrFilepath = Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(), 0, voicePacket.getInstance().getVoicePacketLen(), new File(dir), "receive_" + voicePacket.getInstance().getPacketTime() + ".amr");\r
+ ICLogger.i("save Amr file to " + amrFilepath);\r
+ voicePacket.getInstance().clearPacket();\r
+ VoiceContent voiceContent = VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP, GROUP_ALL, amrFilepath);\r
+\r
+\r
+ final Uri uri2 = runtime.getDbHelper().insertMessage(voiceContent);\r
+\r
+ //回复UI消息,表示已经接收到\r
+ voiceContent.status = 3;\r
+ voiceContent.serverTime = TimeUtil.getSystemTime3();\r
+ voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
+ runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
\r
// runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime);\r
\r
- connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
\r
}else{\r
connection.send(AP86(index));\r
ICLogger.i("收到服务器指令:设置"+(type.equals("1")?"心率周期 ":"血压周期 ")+cycle+"分钟");\r
\r
- //发送重置PPGCycle的广播,会在CoreServer里面执行\r
- Intent intent = new Intent();\r
- intent.putExtra("PPGTestCycle",Integer.parseInt(cycle));\r
- runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START,intent);\r
+ try {\r
+ //发送重置PPGCycle的广播,会在CoreServer里面执行\r
+ Intent intent = new Intent();\r
+ intent.putExtra("PPGTestCycle", Integer.parseInt(cycle));\r
+ runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START, intent);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP86 format error!");\r
}\r
//60 : 上传间隔,单位分钟(60分钟上传一次体温,终端收到后立即开始测量一次并重置定时器)\r
String[] list=cmd.split(CMDSPLIT);\r
if (list.length==4){\r
- String index=list[2];\r
- String freqstr=list[3];\r
- int freq=Integer.parseInt(freqstr);\r
- connection.send(APTE(index,freq));\r
- ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。");\r
- Config.setTemperatureTestCycle(runtime,freq*60);\r
- CoreService.getInstance().setTempAlarm();\r
-\r
-\r
- TemperatureUtil.doTempTestInThread();\r
+ try {\r
+ String index = list[2];\r
+ String freqstr = list[3];\r
+ int freq = Integer.parseInt(freqstr);\r
+ connection.send(APTE(index, freq));\r
+ ICLogger.i("收到服务器指令:测量体温 " + freq + "分钟一次。");\r
+ Config.setTemperatureTestCycle(runtime, freq * 60);\r
+ CoreService.getInstance().setTempAlarm();\r
+\r
+\r
+ TemperatureUtil.doTempTestInThread();\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP89 format error!");\r
}\r
\r
connection.send(APX1(index));\r
\r
- int ppg_adjust,bph_adjust,bpl_adjust,spo2_adjust;\r
- ppg_adjust=Integer.parseInt(strXL);\r
- bph_adjust=Integer.parseInt(strBPH);\r
- bpl_adjust=Integer.parseInt(strBPL);\r
- spo2_adjust=Integer.parseInt(strSpO2);\r
-\r
- runtime.getHRS().setAdjust(ppg_adjust,bph_adjust,bpl_adjust,spo2_adjust);\r
- Config.setPPGAdjust(mRuntime.getContextProxy().context,ppg_adjust);\r
- Config.setBPHAdjust(mRuntime.getContextProxy().context,bph_adjust);\r
- Config.setBPLAdjust(mRuntime.getContextProxy().context,bpl_adjust);\r
- Config.setSPo2Adjust(mRuntime.getContextProxy().context,spo2_adjust);\r
- String ShareAdjValue=new StringBuilder().append(ppg_adjust).append(CMDSPLIT)\r
- .append(bph_adjust).append(CMDSPLIT)\r
- .append(bpl_adjust).append(CMDSPLIT)\r
- .append(spo2_adjust).append(CMDSPLIT).toString();\r
- Config.setPPG_ECG_adjustValue(ShareAdjValue);\r
- ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", PPG "+ strXL +", Sp02 "+ strSpO2 + " , Shared Adjust Value "+ ShareAdjValue);\r
-\r
+ try {\r
+ int ppg_adjust, bph_adjust, bpl_adjust, spo2_adjust;\r
+ ppg_adjust = Integer.parseInt(strXL);\r
+ bph_adjust = Integer.parseInt(strBPH);\r
+ bpl_adjust = Integer.parseInt(strBPL);\r
+ spo2_adjust = Integer.parseInt(strSpO2);\r
+\r
+ runtime.getHRS().setAdjust(ppg_adjust, bph_adjust, bpl_adjust, spo2_adjust);\r
+ Config.setPPGAdjust(mRuntime.getContextProxy().context, ppg_adjust);\r
+ Config.setBPHAdjust(mRuntime.getContextProxy().context, bph_adjust);\r
+ Config.setBPLAdjust(mRuntime.getContextProxy().context, bpl_adjust);\r
+ Config.setSPo2Adjust(mRuntime.getContextProxy().context, spo2_adjust);\r
+ String ShareAdjValue = new StringBuilder().append(ppg_adjust).append(CMDSPLIT)\r
+ .append(bph_adjust).append(CMDSPLIT)\r
+ .append(bpl_adjust).append(CMDSPLIT)\r
+ .append(spo2_adjust).append(CMDSPLIT).toString();\r
+ Config.setPPG_ECG_adjustValue(ShareAdjValue);\r
+ ICLogger.i("Handle BPX1 IMEI " + imei + ",index " + index + ", BPH " + strBPH + ", BPL " + strBPL + ", PPG " + strXL + ", Sp02 " + strSpO2 + " , Shared Adjust Value " + ShareAdjValue);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BPX1 format error!");\r
}\r
String index=list[2];\r
String msg=list[3];\r
connection.send(APDE(index));\r
- if ( Integer.parseInt(msg) == 0) {\r
- ICLogger.i("Handle BPDE index " + index + ", 进入禁止区域 ");\r
- runtime.Fence_Warning_flag=1;\r
- WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context);\r
- runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_out_wall),2);\r
- }else {\r
- ICLogger.i("Handle BPDE index " + index + ", 离开禁止区域 ");\r
- runtime.Fence_Warning_flag=0;\r
+ try {\r
+ if (Integer.parseInt(msg) == 0) {\r
+ ICLogger.i("Handle BPDE index " + index + ", 进入禁止区域 ");\r
+ runtime.Fence_Warning_flag = 1;\r
+ WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context);\r
+ runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_out_wall), 2);\r
+ } else {\r
+ ICLogger.i("Handle BPDE index " + index + ", 离开禁止区域 ");\r
+ runtime.Fence_Warning_flag = 0;\r
// Util.ShowToast(runtime,"");\r
- runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_cross_boundary),0);\r
+ runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_cross_boundary), 0);\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
}else{\r
ICLogger.i("BPDE format error!");\r
String[] list=cmd.split(CMDSPLIT);\r
if (list.length==6){\r
\r
- String index=list[2];\r
- String switch_on=list[3];\r
- String min_temp=list[4];\r
- String max_temp=list[5];\r
- connection.send(APDG(index));\r
- if ( Integer.parseInt(switch_on) == 1) {\r
- ICLogger.i("Handle BPDG index " + index + ", 体温报警阈值开 min="+min_temp+",max="+max_temp);\r
- runtime.tempInfo.setBodyTempThreshold(Double.valueOf(max_temp),Double.valueOf(min_temp));\r
- Config.needTemperature_abnormal_alarm=true;\r
- }else {\r
- ICLogger.i("Handle BPDG index " + index + ", 体温报警阈值关 ");\r
- Config.needTemperature_abnormal_alarm=false;\r
+ try {\r
+ String index = list[2];\r
+ String switch_on = list[3];\r
+ String min_temp = list[4];\r
+ String max_temp = list[5];\r
+ connection.send(APDG(index));\r
+ if (Integer.parseInt(switch_on) == 1) {\r
+ ICLogger.i("Handle BPDG index " + index + ", 体温报警阈值开 min=" + min_temp + ",max=" + max_temp);\r
+ runtime.tempInfo.setBodyTempThreshold(Double.valueOf(max_temp), Double.valueOf(min_temp));\r
+ Config.needTemperature_abnormal_alarm = true;\r
+ } else {\r
+ ICLogger.i("Handle BPDG index " + index + ", 体温报警阈值关 ");\r
+ Config.needTemperature_abnormal_alarm = false;\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
\r
-\r
}else{\r
ICLogger.i("BPDG format error!");\r
}\r
*/\r
String[] cmdlist=cmd.split(CMDSPLIT);\r
if (cmdlist.length==8){\r
- String time=cmdlist[2];\r
- String filetype=cmdlist[3];\r
- String datatype=cmdlist[4];\r
- String count=cmdlist[5];\r
- String index=cmdlist[6];\r
- String success=cmdlist[7];\r
- int ftype=Integer.parseInt(filetype);\r
- int dtype=Integer.parseInt(datatype);\r
- int packetCount=Integer.parseInt(count);\r
- int packetIndex=Integer.parseInt(index);\r
- int receiveSuccess=Integer.parseInt(success);\r
- ICLogger.i("服务器在收到 index "+time+", 文件类型 "+ftype+",内容类型 "+dtype+" "+packetIndex+"/"+packetCount+" "+ (receiveSuccess==1?"成功":"失敗"));\r
- if (receiveSuccess == 1){\r
- //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
- voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
- //voicePacket.getInstanceSent().setFileType(ftype,dtype);\r
+ try {\r
+ String time = cmdlist[2];\r
+ String filetype = cmdlist[3];\r
+ String datatype = cmdlist[4];\r
+ String count = cmdlist[5];\r
+ String index = cmdlist[6];\r
+ String success = cmdlist[7];\r
+ int ftype = Integer.parseInt(filetype);\r
+ int dtype = Integer.parseInt(datatype);\r
+ int packetCount = Integer.parseInt(count);\r
+ int packetIndex = Integer.parseInt(index);\r
+ int receiveSuccess = Integer.parseInt(success);\r
+ ICLogger.i("服务器在收到 index " + time + ", 文件类型 " + ftype + ",内容类型 " + dtype + " " + packetIndex + "/" + packetCount + " " + (receiveSuccess == 1 ? "成功" : "失敗"));\r
+ if (receiveSuccess == 1) {\r
+ //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
+ voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ //voicePacket.getInstanceSent().setFileType(ftype,dtype);\r
+ }\r
+ //发送消息,再次检查要发送的语音包,确认其发送完毕\r
+ connection.DeliverCMDMessageToSystem("SentVoicePacket", "SentBPFilePacket");\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
- //发送消息,再次检查要发送的语音包,确认其发送完毕\r
- connection.DeliverCMDMessageToSystem("SentVoicePacket","SentBPFilePacket");\r
-\r
}else{\r
ICLogger.i(" BPTU Format error!");\r
}\r
String[] msg=cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen);\r
-\r
-\r
- log( stringBuffer.toString());\r
- return packetLen;\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("getBP28AmrLen name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen);\r
+\r
+\r
+ log(stringBuffer.toString());\r
+ return packetLen;\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("getBP28AmrLen","format Error");\r
\r
log("handleBP00", "Set Datetime " + msg[1]);\r
log("handleBP00", "Set TimeZone " + msg[2]);\r
\r
- Date datetime= TimeUtil.parseDatetiime(msg[1]);\r
- int timezone=Integer.parseInt(msg[2]);\r
- if (datetime!=null){\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
- TimeUtil.setTimeZone(timezone);\r
+ try {\r
+ Date datetime = TimeUtil.parseDatetiime(msg[1]);\r
+ int timezone = Integer.parseInt(msg[2]);\r
+ if (datetime != null) {\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setTimeZone(timezone);\r
\r
\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
- TimeUtil.setSysDateTime(runtime.getContextProxy().context,datetime,timezone);\r
- ICLogger.i("==="+TimeUtil.getDefaultTimeZone());\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
+ TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, timezone);\r
+ ICLogger.i("===" + TimeUtil.getDefaultTimeZone());\r
\r
- }\r
+ }\r
// Set Datetime 20200505112734\r
// Set TimeZone 8\r
-\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("handleBP00","format Error");\r
}\r
String strSex=list[6];\r
\r
connection.send(APJZ(index,strBPH,strBPL,strAge,strSex));\r
- runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH),Integer.parseInt(strBPL),Integer.parseInt(strAge),Integer.parseInt(strSex));\r
- ICLogger.i("Handle BPJZ IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", Age "+ strAge +", Sex "+ (strSex.equals("1")?"男":"女"));\r
+ try {\r
+ runtime.getHRS().setXY_Ref(Integer.parseInt(strBPH), Integer.parseInt(strBPL), Integer.parseInt(strAge), Integer.parseInt(strSex));\r
+ ICLogger.i("Handle BPJZ IMEI " + imei + ",index " + index + ", BPH " + strBPH + ", BPL " + strBPL + ", Age " + strAge + ", Sex " + (strSex.equals("1") ? "男" : "女"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BPXY format error!");\r
}\r
String repeat="";// 135表示周一周三周五,使用24小时制\r
String[] datalist= cmd.split("@");\r
ArrayList<Alarm> alarmlist=new ArrayList<>();\r
+\r
+\r
if (datalist.length >0){\r
+\r
+\r
for (int i =0 ; i< datalist.length;i++){\r
String [] cmdarglist=datalist[i].split(",");\r
\r
if (i == 0){\r
if (cmdarglist.length == 9){\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
- alarmtime=cmdarglist[5];\r
- repeat=cmdarglist[6];\r
- alarmswitch=Integer.parseInt(cmdarglist[7]);\r
- alarmtype = Integer.parseInt(cmdarglist[8]);\r
- log(new StringBuilder("imei ").append(imei)\r
- .append(", cmdindex ").append(cmdindex)\r
- .append(", allswitch=").append(all_alarmswitch)\r
- .append(", all alarm count=").append(alarmcount)\r
- .toString()\r
- );\r
-\r
- log(new StringBuilder("alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
+ try {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ alarmtime = cmdarglist[5];\r
+ repeat = cmdarglist[6];\r
+ alarmswitch = Integer.parseInt(cmdarglist[7]);\r
+ alarmtype = Integer.parseInt(cmdarglist[8]);\r
+ log(new StringBuilder("imei ").append(imei)\r
+ .append(", cmdindex ").append(cmdindex)\r
+ .append(", allswitch=").append(all_alarmswitch)\r
+ .append(", all alarm count=").append(alarmcount)\r
+ .toString()\r
+ );\r
+\r
+ log(new StringBuilder("alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else if (cmdarglist.length == 5) {\r
- imei=cmdarglist[1];\r
- cmdindex=cmdarglist[2];\r
- all_alarmswitch=Integer.parseInt(cmdarglist[3]);\r
- alarmcount=Integer.parseInt(cmdarglist[4]);\r
+ try {\r
+ imei = cmdarglist[1];\r
+ cmdindex = cmdarglist[2];\r
+ all_alarmswitch = Integer.parseInt(cmdarglist[3]);\r
+ alarmcount = Integer.parseInt(cmdarglist[4]);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("data len is too small!");\r
}\r
}else{\r
if (cmdarglist.length == 4){\r
- alarmtime=cmdarglist[0];\r
- repeat=cmdarglist[1];\r
- alarmswitch=Integer.parseInt(cmdarglist[2]);\r
- alarmtype = Integer.parseInt(cmdarglist[3]);\r
-\r
- log(new StringBuilder("set alarmtime ").append(alarmtime)\r
- .append(", relpeat ").append(repeat)\r
- .append(", switch=").append(alarmswitch)\r
- .append(", alarmtype=").append(alarmtype)\r
- .toString()\r
- );\r
-\r
- alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃"));\r
-\r
+ try {\r
+ alarmtime = cmdarglist[0];\r
+ repeat = cmdarglist[1];\r
+ alarmswitch = Integer.parseInt(cmdarglist[2]);\r
+ alarmtype = Integer.parseInt(cmdarglist[3]);\r
+\r
+ log(new StringBuilder("set alarmtime ").append(alarmtime)\r
+ .append(", relpeat ").append(repeat)\r
+ .append(", switch=").append(alarmswitch)\r
+ .append(", alarmtype=").append(alarmtype)\r
+ .toString()\r
+ );\r
+\r
+ alarmlist.add(new Alarm("ST" + alarmtime.substring(0, 2) + "." + alarmtime.substring(2), "W" + repeat, "CON", alarmswitch == 1 ? "ON" : "OFF", "闹铃"));\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
log("data len is too small!");\r
}\r
//1:表示服务器接受数据成功,0表示服务器接受数据失败\r
String[] cmdlist=cmd.split(CMDSPLIT);\r
if (cmdlist.length==5){\r
- String time=cmdlist[1];\r
- int packetCount=Integer.parseInt(cmdlist[2]);\r
- int packetIndex=Integer.parseInt(cmdlist[3]);\r
- int receiveSuccess=Integer.parseInt(cmdlist[4]);\r
- ICLogger.i("服务器在"+time+" 收到语音 "+packetIndex+"/"+packetCount+" "+ (receiveSuccess==1?"成功":"失敗"));\r
- if (receiveSuccess == 1){\r
- //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
- voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ try {\r
+ String time = cmdlist[1];\r
+ int packetCount = Integer.parseInt(cmdlist[2]);\r
+ int packetIndex = Integer.parseInt(cmdlist[3]);\r
+ int receiveSuccess = Integer.parseInt(cmdlist[4]);\r
+ ICLogger.i("服务器在" + time + " 收到语音 " + packetIndex + "/" + packetCount + " " + (receiveSuccess == 1 ? "成功" : "失敗"));\r
+ if (receiveSuccess == 1) {\r
+ //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
+ voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
+ }\r
+ //发送消息,再次检查要发送的语音包,确认其发送完毕\r
+ connection.DeliverCMDMessageToSystem("SentVoicePacket", "SentVoicePacket");\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
- //发送消息,再次检查要发送的语音包,确认其发送完毕\r
- connection.DeliverCMDMessageToSystem("SentVoicePacket","SentVoicePacket");\r
-\r
}else{\r
ICLogger.i(" BP07 Format error!");\r
}\r
String[] cmdlist=cmd.split(",");\r
if (cmdlist.length == 4){\r
\r
+ try {\r
+ log("work mode " + cmdlist[3]);\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = 900;\r
+ switch (mod) {\r
+ case ICLocation.NORMAL_MOD:\r
+ Cycle = 900;\r
+ break;\r
+ case ICLocation.LOWPOWER_MOD:\r
+ Cycle = 3600;\r
+ break;\r
+ case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
+ Cycle = 60;\r
+ break;\r
\r
- log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=900;\r
- switch(mod){\r
- case ICLocation.NORMAL_MOD:\r
- Cycle=900;\r
- break;\r
- case ICLocation.LOWPOWER_MOD:\r
- Cycle=3600;\r
- break;\r
- case ICLocation.EMERGNECY_MOD:\r
- case ICLocation.REALTIME_MOD:\r
- Cycle=60;\r
- break;\r
-\r
- }\r
+ }\r
\r
- StringMessage msg=AP33(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
- log("reply msg "+msg.isFromCache());\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ StringMessage msg = AP33(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+ log("reply msg " + msg.isFromCache());\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
}\r
\r
\r
log("work mode "+cmdlist[3]);\r
- int mod=Integer.parseInt(cmdlist[3]);\r
- int Cycle=Integer.parseInt(cmdlist[4]);\r
- int gpson=Integer.parseInt(cmdlist[5]);\r
-\r
- StringMessage msg=AP34(cmdlist[2],mod);\r
- //设定当前工作模式及循环频率\r
- connection.send(msg);\r
-\r
- if(gpson==1){\r
- mod=ICLocation.CUSTOM_MOD8_GPS;\r
- }else{\r
- mod=ICLocation.CUSTOM_MOD8_WIFI;\r
- }\r
- log("reply msg "+msg.isFromCache());\r
- log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod + ", cycle = "+Cycle+", GPS On= "+gpson);\r
- Config.setLocationMode(runtime.getContextProxy().context,mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Cycle);\r
- runtime.getLocationInstance().setLocation_cycle(Cycle);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
+ try {\r
+ int mod = Integer.parseInt(cmdlist[3]);\r
+ int Cycle = Integer.parseInt(cmdlist[4]);\r
+ int gpson = Integer.parseInt(cmdlist[5]);\r
+\r
+ StringMessage msg = AP34(cmdlist[2], mod);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+\r
+ if (gpson == 1) {\r
+ mod = ICLocation.CUSTOM_MOD8_GPS;\r
+ } else {\r
+ mod = ICLocation.CUSTOM_MOD8_WIFI;\r
+ }\r
+ log("reply msg " + msg.isFromCache());\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod + ", cycle = " + Cycle + ", GPS On= " + gpson);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Cycle);\r
+ runtime.getLocationInstance().setLocation_cycle(Cycle);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}\r
\r
}\r
String[] list=cmd.split(CMDSPLIT);\r
\r
if(list.length==4){\r
- String index=list[2];\r
- String time=list[3];\r
- connection.send(AP15(index));\r
- ICLogger.i("BP15 , 定位周期="+time+"秒");\r
-\r
- Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
- Config.setLocationCycle(runtime.getContextProxy().context,Integer.parseInt(time));\r
- runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
- runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
- //set AlarmCycle and trigger Location\r
- CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ try {\r
+ String index = list[2];\r
+ String time = list[3];\r
+ connection.send(AP15(index));\r
+ ICLogger.i("BP15 , 定位周期=" + time + "秒");\r
+\r
+ Config.setLocationMode(runtime.getContextProxy().context, ICLocation.CUSTOM_MOD8_GPS);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, Integer.parseInt(time));\r
+ runtime.getLocationInstance().setWorkingMod(Config.getLocationMode(runtime.getContextProxy().context));\r
+ runtime.getLocationInstance().setLocation_cycle(Config.getLocationCycle(runtime.getContextProxy().context));\r
+ //set AlarmCycle and trigger Location\r
+ CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP15 format error");\r
}\r
\r
String[] msg= cmd.split(CMDSPLIT);\r
if (msg.length>=6){\r
-\r
- Name=msg[1];\r
- appendIndex=msg[2];\r
- packetCount= Integer.parseInt(msg[3]);\r
- currentId= Integer.parseInt(msg[4]);\r
- packetLen= Integer.parseInt(msg[5]);\r
- packetData= Util.subArray(bytes,msg[0].length()+msg[1].length()+msg[2].length()+msg[3].length()+msg[4].length()+msg[5].length()+6,bytes.length-1);\r
-\r
- StringBuffer stringBuffer=new StringBuffer();\r
- stringBuffer.append("recv BP28 name = ").append(Name)\r
- .append(",appendIndex = ").append(appendIndex)\r
- .append(",packetCount = ").append(packetCount)\r
- .append(",currentId = ").append(currentId)\r
- .append(",packetLen = ").append(packetLen)\r
- .append(",packetDatalen = ").append(packetData.length);\r
-\r
- log( stringBuffer.toString());\r
- connection.send(AP28(Name,appendIndex,packetCount,currentId,1));\r
- voicePacket.getInstance().appendVoice(Name,appendIndex,packetCount,currentId,packetLen,packetData);\r
- log("================"+voicePacket.getInstance().toString());\r
- if (voicePacket.getInstance().isFinished())\r
- {\r
-\r
- String dir = Environment.getExternalStorageDirectory()+ "/Android/VoiceCache";\r
- String amrFilepath=Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(),0,voicePacket.getInstance().getVoicePacketLen(),new File(dir),"receive_"+voicePacket.getInstance().getPacketTime()+".amr");\r
- ICLogger.i("save Amr file to "+amrFilepath);\r
- voicePacket.getInstance().clearPacket();\r
- VoiceContent voiceContent=VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP,GROUP_ALL,amrFilepath);\r
-\r
-\r
- final Uri uri2 = runtime.getDbHelper().insertMessage( voiceContent);\r
-\r
- //回复UI消息,表示已经接收到\r
- voiceContent.status = 3;\r
- voiceContent.serverTime = TimeUtil.getSystemTime3();\r
- voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
- runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
+ try {\r
+ Name = msg[1];\r
+ appendIndex = msg[2];\r
+ packetCount = Integer.parseInt(msg[3]);\r
+ currentId = Integer.parseInt(msg[4]);\r
+ packetLen = Integer.parseInt(msg[5]);\r
+ packetData = Util.subArray(bytes, msg[0].length() + msg[1].length() + msg[2].length() + msg[3].length() + msg[4].length() + msg[5].length() + 6, bytes.length - 1);\r
+\r
+ StringBuffer stringBuffer = new StringBuffer();\r
+ stringBuffer.append("recv BP28 name = ").append(Name)\r
+ .append(",appendIndex = ").append(appendIndex)\r
+ .append(",packetCount = ").append(packetCount)\r
+ .append(",currentId = ").append(currentId)\r
+ .append(",packetLen = ").append(packetLen)\r
+ .append(",packetDatalen = ").append(packetData.length);\r
+\r
+ log(stringBuffer.toString());\r
+ connection.send(AP28(Name, appendIndex, packetCount, currentId, 1));\r
+ voicePacket.getInstance().appendVoice(Name, appendIndex, packetCount, currentId, packetLen, packetData);\r
+ log("================" + voicePacket.getInstance().toString());\r
+ if (voicePacket.getInstance().isFinished()) {\r
+\r
+ String dir = Environment.getExternalStorageDirectory() + "/Android/VoiceCache";\r
+ String amrFilepath = Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(), 0, voicePacket.getInstance().getVoicePacketLen(), new File(dir), "receive_" + voicePacket.getInstance().getPacketTime() + ".amr");\r
+ ICLogger.i("save Amr file to " + amrFilepath);\r
+ voicePacket.getInstance().clearPacket();\r
+ VoiceContent voiceContent = VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP, GROUP_ALL, amrFilepath);\r
+\r
+\r
+ final Uri uri2 = runtime.getDbHelper().insertMessage(voiceContent);\r
+\r
+ //回复UI消息,表示已经接收到\r
+ voiceContent.status = 3;\r
+ voiceContent.serverTime = TimeUtil.getSystemTime3();\r
+ voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
+ runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
\r
// runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime);\r
\r
- connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ connection.DeliverCMDMessageToSystem("NewVoice", amrFilepath);//通知下面线程状态变化\r
+ }\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
}\r
-\r
}else{\r
log("handleBP28","format Error");\r
// connection.send(genStringMessage("AP28",AP28(Name,appendIndex,packetCount,currentId,0)));\r
String[] list=cmd.split(CMDSPLIT);\r
\r
if (list.length==5){\r
- String index=list[2];\r
- String type=list[3];\r
- String cycle=list[4];\r
- connection.send(AP86(index));\r
- ICLogger.i("收到服务器指令:设置"+(type.equals("1")?"心率周期 ":"血压周期 ")+cycle+"分钟");\r
-\r
- //发送重置PPGCycle的广播,会在CoreServer里面执行\r
- Intent intent = new Intent();\r
- intent.putExtra("PPGTestCycle",Integer.parseInt(cycle));\r
- runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START,intent);\r
+ try {\r
+ String index = list[2];\r
+ String type = list[3];\r
+ String cycle = list[4];\r
+ connection.send(AP86(index));\r
+ ICLogger.i("收到服务器指令:设置" + (type.equals("1") ? "心率周期 " : "血压周期 ") + cycle + "分钟");\r
+\r
+ //发送重置PPGCycle的广播,会在CoreServer里面执行\r
+ Intent intent = new Intent();\r
+ intent.putExtra("PPGTestCycle", Integer.parseInt(cycle));\r
+ runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START, intent);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else{\r
ICLogger.i("BP86 format error!");\r
}\r
connection.send(UPLOAD(runtime));\r
String[] list=data.split(CMDSPLIT);\r
if (TextUtils.isDigitsOnly(list[1].trim())) {\r
- int timesecond = Integer.parseInt(list[1].trim());\r
- int mod = runtime.getLocationInstance().getWorkingMod();\r
- log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod +" cycle "+timesecond);\r
- Config.setLocationMode(runtime.getContextProxy().context, mod);\r
- Config.setLocationCycle(runtime.getContextProxy().context, timesecond);\r
- runtime.getLocationInstance().setLocation_cycle(timesecond);\r
- runtime.getLocationInstance().setWorkingMod(mod);\r
- CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ try {\r
+ int timesecond = Integer.parseInt(list[1].trim());\r
+ int mod = runtime.getLocationInstance().getWorkingMod();\r
+ log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod + " cycle " + timesecond);\r
+ Config.setLocationMode(runtime.getContextProxy().context, mod);\r
+ Config.setLocationCycle(runtime.getContextProxy().context, timesecond);\r
+ runtime.getLocationInstance().setLocation_cycle(timesecond);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
+ CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
//此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。\r
}else{\r
ICLogger.i("UPLOAD format error!");\r
if (list.length==2){\r
String cycle=list[1];\r
if (TextUtils.isDigitsOnly(cycle.trim())){\r
- int cycle_int=Integer.parseInt(cycle.trim());\r
- ICLogger.i("收到服务器指令:设置体温上传频率 "+cycle+"秒");\r
-\r
- Config.setTemperatureTestCycle(runtime,cycle_int);\r
- CoreService.getInstance().setTempAlarm();\r
- TemperatureUtil.doTempTestInThread();\r
-\r
+ try {\r
+ int cycle_int = Integer.parseInt(cycle.trim());\r
+ ICLogger.i("收到服务器指令:设置体温上传频率 " + cycle + "秒");\r
+\r
+ Config.setTemperatureTestCycle(runtime, cycle_int);\r
+ CoreService.getInstance().setTempAlarm();\r
+ TemperatureUtil.doTempTestInThread();\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else\r
{\r
ICLogger.i("wdstart Format Error!");\r
if (list.length==2){\r
String cycle=list[1];\r
if (TextUtils.isDigitsOnly(cycle.trim())){\r
- int cycle_int=Integer.parseInt(cycle.trim());\r
- ICLogger.i("收到服务器指令:设置心率血压周期 "+cycle+"秒"+cycle_int/60+"分钟");\r
-\r
- //发送重置PPGCycle的广播,会在CoreServer里面执行\r
- Intent intent = new Intent();\r
- intent.putExtra("PPGTestCycle",cycle_int/60);\r
- runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START,intent);\r
+ try {\r
+ int cycle_int = Integer.parseInt(cycle.trim());\r
+ ICLogger.i("收到服务器指令:设置心率血压周期 " + cycle + "秒" + cycle_int / 60 + "分钟");\r
+\r
+ //发送重置PPGCycle的广播,会在CoreServer里面执行\r
+ Intent intent = new Intent();\r
+ intent.putExtra("PPGTestCycle", cycle_int / 60);\r
+ runtime.getContextProxy().sendBrodcast(ACTION_HEATR_RATE_START, intent);\r
+ }catch (Exception e){\r
+ ICLogger.e(e.getMessage(),e);\r
+ }\r
}else\r
{\r
ICLogger.i("Hrtstart Format Error!");\r