\r
if (ACTION_SEND_EMEGENCY_LOCATION_START.equals(param1Intent.getAction())){\r
runtime.getLocationInstance().setWorkingMod(EMERGNECY_MOD);\r
- runtime.setPpgTestCycle(1);\r
+ //runtime.setPpgTestCycle(1);\r
setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
\r
- setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
+ //触发一次心率检测\r
+ setHeartRateDetectAlarm(1);\r
\r
\r
setEmegencyLocationSTOPAlarm(5);\r
// if( param1Intent.getIntExtra("type", 1) == 1) {\r
boolean needHRSTestOnSOS = Util.getSystemProperties("persist.sys.needHRSOnSOS","false").equals("true");\r
if(needHRSTestOnSOS) {\r
- setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
- HeartRateManager.triggerPPGtest();\r
+ //触发一次心率检测\r
+ setHeartRateDetectAlarm(1);\r
}\r
runtime.setAlarmType(Runtime.AlarmType.ALARM_SOS);\r
//trigger AP10 报警定位\r
\r
//SOS模式,心率测试1分钟一次,持续5分钟\r
if(needHRSTestOnSOS) {\r
- runtime.setPpgTestCycle(1);\r
- setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
+ //只触发一次心率检测\r
+ setHeartRateDetectAlarm(1);\r
}\r
//设置5分钟后结束紧急定位模式\r
setEmegencyLocationSTOPAlarm(5);\r
return Service.START_STICKY;\r
}\r
} else if (TEMP_ALARM.equals(paramIntent.getAction())) {\r
- if (this.mKeepAlive != null) {\r
- if (connection.isServerConnected() && runtime.isServerProtocolConnected()) {\r
- //测试温度并上报\r
-\r
- if (Runtime.practising==true) {\r
- ICLogger.i("自由锻炼中,跳过原有的循环温度检测!");\r
- }else {\r
- TemperatureUtil.doTempTestInThread();\r
- }\r
-// double wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
-// double body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f);\r
-// String temperatureMsg=getTemperatureMSG(wrist_temp,body_temp);\r
-// ICLogger.i("发送体温测量值 "+temperatureMsg);\r
-// Deliver.sendLocationMSG(temperatureMsg);\r
- }\r
- setTempAlarm();\r
- if (Config.LOG_TOFILE)\r
- ICLogger.logToFile("alarmCycle", "TEMP_ALARM alarmCycle ");\r
- return Service.START_STICKY;\r
- }\r
+\r
+ setTempAlarm();\r
+\r
+ return Service.START_STICKY;\r
} else if (HEART_ALARM.equals(paramIntent.getAction())) {\r
\r
locationClient.updateStepCount();\r
} else if (ACTION_HEATR_RATE_START.equals(paramIntent.getAction())) {\r
\r
//此处消息从timer来\r
- setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
-\r
+ //此消息来源于BroadCaset,收到开始测试的消息。\r
+ //此时需要重置HeartRateDetect Timer\r
+ //倘若有 参数 PPGTestCycle,则根据这个数值进行设置\r
+ int ppgtestCycle=paramIntent.getIntExtra("PPGTestCycle",-1);\r
+ if (ppgtestCycle >0){\r
+ Config.setPPGTestCycle(runtime.getContextProxy().context,ppgtestCycle);\r
+ runtime.setPpgTestCycle(Config.getPPGTestCycle(runtime.getContextProxy().context));\r
+ ICLogger.i("get and set PPGTestCycle "+ppgtestCycle);\r
+ }\r
+ setHeartRateDetectAlarm(runtime.getPpgTestCycle());//重置心率检测周期,并触发一次检测\r
\r
} else if (ACTION_SEND_EMEGENCY_LOCATION_STOP.equals(paramIntent.getAction())) {\r
//stop Emegency location Stop\r
}\r
\r
public void setHeartRateDetectAlarm(int heartRateDetectAlarmCycle){\r
- if (Config.noPPGSensor)\r
- return ;\r
- if (heartRateDetectAlarmCycle>1)\r
- AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,heartRateDetectAlarmCycle,ACTION_HEATR_RATE_START);\r
+ if (Config.noPPGSensor) {\r
+ return;\r
+ }\r
+ StringBuilder sb=new StringBuilder();\r
+ if (heartRateDetectAlarmCycle>1) {\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context, heartRateDetectAlarmCycle, ACTION_HEATR_RATE_START);\r
+ }\r
+ if (Runtime.practising==true) {\r
+ sb.append("自由锻炼中,跳过原有的循环心率检测!");\r
+ ICLogger.i("自由锻炼中,跳过原有的循环心率检测!");\r
+ }else{\r
+ sb.append("setHeartRateDetectAlarm "+heartRateDetectAlarmCycle);\r
+ HeartRateManager.triggerPPGtest();\r
+ }\r
+ if (Config.LOG_TOFILE)ICLogger.logToFile("alarmCycle",sb.toString());\r
}\r
public void setAntiCheckAlarm(){\r
AlarmHelper.setRealTimeAlarmInMicorSeconds(runtime.getContextProxy().context,500,ACTION_CHECK_ANTIOFF_EVENT);\r
ICLogger.i(sb.toString());\r
FileOutputUtil.fileOutput(runtime.getCacheDir(),"alarmCycle",sb.toString());\r
\r
-// AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
+\r
+ if (Runtime.practising==true) {\r
+ ICLogger.i("自由锻炼中,跳过原有的循环温度检测!");\r
+ }else {\r
+ TemperatureUtil.doTempTestInThread();\r
+ }\r
+\r
}\r
public void setUpLocationDataAlarm(long paramLong) {\r
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);\r
\r
}\r
\r
- private BroadcastReceiver PPGStartReceiver = new BroadcastReceiver() {\r
- public void onReceive(Context param1Context, Intent param1Intent) {\r
- if (ACTION_HEATR_RATE_START.equals(param1Intent.getAction())) {\r
-\r
- //此消息来源于BroadCaset,收到开始测试的消息。\r
- //此时需要重置HeartRateDetect Timer\r
- //倘若有 参数 PPGTestCycle,则根据这个数值进行设置\r
- int ppgtestCycle=param1Intent.getIntExtra("PPGTestCycle",-1);\r
- if (ppgtestCycle >0){\r
- Config.setPPGTestCycle(runtime.getContextProxy().context,ppgtestCycle);\r
- runtime.setPpgTestCycle(Config.getPPGTestCycle(runtime.getContextProxy().context));\r
- ICLogger.i("get and set PPGTestCycle "+ppgtestCycle);\r
- }\r
- CoreService.getInstance().setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
- HeartRateManager.this.startPPG();\r
- }\r
-\r
-\r
- }\r
- };\r
\r
private void sendBroadcastPPGResult(){\r
Intent intent=new Intent(ACTION_BROADCAST_PPG);\r
intent.putExtra("time",runtime.getHRS().getTestTime());\r
runtime.getContextProxy().context.sendBroadcast(intent);\r
}\r
- public void regReceiver(){\r
- //注册“网络变化”的广播接收器\r
- IntentFilter intentFilter = new IntentFilter();\r
- intentFilter.addAction(ACTION_HEATR_RATE_START);\r
- runtime.getContextProxy().context.registerReceiver(PPGStartReceiver, intentFilter);\r
- }\r
\r
- public void unRegReceiver(){\r
- runtime.getContextProxy().context.unregisterReceiver(PPGStartReceiver);\r
- }\r
private SensorManager mSensorManager;\r
private Sensor mHeartRate;\r
int PPG;\r
public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
\r
// this.mSignalUtil = SimSignalUtil.getInstance((paramRuntime.getContextProxy()).context);\r
- regReceiver();\r
+\r
}\r
\r
public void onDetach(Connection paramConnection, Runtime paramRuntime) {\r
- unRegReceiver();\r
+\r
}\r
\r
public boolean onUserRequest(Intent paramIntent, Connection paramConnection, final Runtime runtime) {\r
- String str = paramIntent.getAction();\r
- if (ACTION_HEATR_RATE_START.equals(str)) {\r
-// this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
-// str = paramIntent.getStringExtra("filepath");\r
-// String str1 = paramIntent.getStringExtra("number");\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append("PPG Started on Action "+ACTION_HEATR_RATE_START);\r
-// stringBuilder.append(str);\r
-// stringBuilder.append("number == ");\r
-// stringBuilder.append(str1);\r
- ICLogger.i(stringBuilder.toString());\r
- //周期测量执行\r
- if (Runtime.practising==true) {\r
- ICLogger.i("自由锻炼中,跳过原有的循环心率检测!");\r
- return false;\r
- }\r
- startPPG();\r
- }\r
+// String str = paramIntent.getAction();\r
+// if (ACTION_HEATR_RATE_START.equals(str)) {\r
+//// this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
+//// str = paramIntent.getStringExtra("filepath");\r
+//// String str1 = paramIntent.getStringExtra("number");\r
+// StringBuilder stringBuilder = new StringBuilder();\r
+// stringBuilder.append("PPG Started on Action "+ACTION_HEATR_RATE_START);\r
+//// stringBuilder.append(str);\r
+//// stringBuilder.append("number == ");\r
+//// stringBuilder.append(str1);\r
+// ICLogger.i(stringBuilder.toString());\r
+// //周期测量执行\r
+// if (Runtime.practising==true) {\r
+// ICLogger.i("自由锻炼中,跳过原有的循环心率检测!");\r
+// return false;\r
+// }\r
+// startPPG();\r
+// }\r
return false;\r
}\r
\r