-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":474,"versionName":"2008042035","enabled":true,"outputFile":"ICSer_V474_2008042035_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V474_2008042035_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":484,"versionName":"2008081221","enabled":true,"outputFile":"ICSer_V484_2008081221_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V484_2008081221_release.apk","properties":{}}]
\ No newline at end of file
\r
import android.content.Context;\r
import android.content.SharedPreferences;\r
+import android.provider.Settings;\r
import android.text.TextUtils;\r
\r
import com.enqualcomm.support.bean.ICLocation;\r
noTempSensor=false;\r
needBroadcastAntiAlarm=false;\r
}else if ((custom_branch_name.equals("AK")) ){\r
+ noPushTxtNotifyDialog=true;\r
+ noSMSNotifyDialog=true;\r
+ noVoiceNotifyDialog=true;\r
noPPGSensor=false;\r
noTempSensor=true;\r
SOSNoNeedDial=true; //采用新写的SOS,协议只需要发送消息,无需控制拨号。\r
spo2adj=getSPo2Adjust(context);\r
runtime.getHRS().setAdjust(ppgadj,bphadj,bpladj,spo2adj);\r
ICLogger.i("Load Health adjust value ppg "+ppgadj+", bph "+bphadj+", bpl "+bpladj+", spo2 "+spo2adj);\r
+ }\r
+\r
\r
+\r
+ //心率血压血氧校准值\r
+ public static String getPPG_ECG_adjustValue(){\r
+ return Util.getSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_PPG_ECG_ADJUST,"0,0,0,0");\r
}\r
\r
+ public static void setPPG_ECG_adjustValue(String adjvalue){\r
+ Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_PPG_ECG_ADJUST,adjvalue);\r
+ }\r
\r
//久坐时间获取\r
public static int getKeepSitRangeInMinutes(Context context ){\r
- return SharPreferenceUtil.getPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0);\r
+ return Util.getSystemPropertiesInt("persist.sys."+Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0);\r
+// return SharPreferenceUtil.getPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0);\r
}\r
\r
//久坐时间设置\r
public static void setKeepSitRangeInMinutes(Context context, int RangeInMinutes){\r
-\r
- SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes);\r
+ Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes);\r
+// SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes);\r
}\r
\r
public static void setSleepDate(Context context,String dateyyyyMMddHHmmss){\r
- SharPreferenceUtil.setPrefStringPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss);\r
+ Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss);\r
+// SharPreferenceUtil.setPrefStringPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss);\r
}\r
\r
\r
public static void setSleepScore(Context context,int score){\r
- SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE,score);\r
+// SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE,score);\r
+ Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SLEEP_SCORE,score);\r
+\r
}\r
\r
/**\r
/**\r
* PreferenceManager.getDefaultSharedPreferences(context) , package name "com.enqualcomm.support"\r
*/\r
+\r
+ /***\r
+ * 心率血压血氧校准值\r
+ * String 变量,用 "," 分割的 4个数据 格式为【ppg_adj,bph_adj,bpl_adj,spo2_adj】\r
+ * 例如\r
+ * 心率偏差ppg_adj=2,\r
+ * 高压偏差bph_adj=-2,\r
+ * 低压偏差bpl_adj=-3,\r
+ * 血氧偏差spo2_adj=5\r
+ * 则赋值 2,-2,-3,5\r
+ */\r
+ public static String SHAREKEY_SETTING_PPG_ECG_ADJUST = "PpgEcgAdjust";\r
/**\r
* 睡眠分数 , int\r
*/\r
runtime.getLocationInstance().setWorkingMod(EMERGNECY_MOD);\r
runtime.setPpgTestCycle(1);\r
setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+\r
setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
+\r
+\r
setEmegencyLocationSTOPAlarm(5);\r
}else if (ACTION_LOCAL_SOS_ACTION.endsWith(param1Intent.getAction())){\r
\r
\r
- VibrateUtil.getInstance(runtime.getContextProxy().context).VibrateOnOnce(true);\r
+ VibrateUtil.getInstance(runtime.getContextProxy().context).VibrateOn(true);\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
+ }\r
runtime.setAlarmType(Runtime.AlarmType.ALARM_SOS);\r
//trigger AP10 报警定位\r
// CoreService.this.locationClient.triggerSOSLocationProcess();\r
//开启紧急定位模式,GPS 优先1分钟一次定位,持续5分钟\r
runtime.getLocationInstance().setWorkingMod(EMERGNECY_MOD);\r
setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- //SOS模式,心率测试1分钟一次,持续5分钟\r
- runtime.setPpgTestCycle(1);\r
- setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
\r
+ //SOS模式,心率测试1分钟一次,持续5分钟\r
+ if(needHRSTestOnSOS) {\r
+ runtime.setPpgTestCycle(1);\r
+ setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
+ }\r
//设置5分钟后结束紧急定位模式\r
setEmegencyLocationSTOPAlarm(5);\r
\r
//平均 每分钟活动数 小于参考久坐计步值,表示久坐\r
ICLogger.i("SitCheck 平均 每分钟活动数 小于参考久坐计步值,表示久坐");\r
runtime.getContextProxy().sendBroadcastSitLongAlarm(); //广播久坐消息\r
+ VibrateUtil.getInstance(this).VibrateOn(true);\r
}else{\r
//只要 平均每分钟活动数大于参考值,则重置 lastCheckSitTime 以及 lastSitCheckStepCount\r
ICLogger.i("SitCheck 平均每分钟活动数大于参考值,则重置 lastCheckSitTime 以及 lastSitCheckStepCount");\r
}\r
return str;\r
}\r
+ public static String getSystemProperties(String prop,String defaultValue){\r
\r
+ String str =defaultValue;\r
+ Class clazz = null;\r
+ try {\r
+ clazz = Class.forName("android.os.SystemProperties");\r
+ Method get=clazz.getMethod("get", new Class[] { String.class });\r
+ str = (String)get.invoke(clazz, new Object[] { prop });\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ return str;\r
+ }\r
+ public static int getSystemPropertiesInt(String prop,int defaultValue){\r
+\r
+ int ret=defaultValue;\r
+ String str ="";\r
+ Class clazz = null;\r
+ try {\r
+ clazz = Class.forName("android.os.SystemProperties");\r
+ Method get=clazz.getMethod("get", new Class[] { String.class });\r
+ str = (String)get.invoke(clazz, new Object[] { prop });\r
+ if (str!=null && str.trim().length()>0 && isNumeric(str)){\r
+ ret=Integer.parseInt(str);\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ return ret;\r
+ }\r
public static boolean isNumeric(String str){\r
Pattern pattern = Pattern.compile("[0-9]*");\r
Matcher isNum = pattern.matcher(str);\r
}\r
return true;\r
}\r
+ static public void setSystemProperties(String key, int defaultValue) {\r
+\r
+ String value = String.valueOf(defaultValue);\r
\r
+ try {\r
+\r
+ Class<?> c = Class.forName("android.os.SystemProperties");\r
+\r
+ Method set = c.getMethod("set", String.class, String.class );\r
+\r
+ set.invoke(c, key, value );\r
+\r
+ } catch (Exception e) {\r
+\r
+ e.printStackTrace();\r
+\r
+ }\r
+ }\r
static public void setSystemProperties(String key, String defaultValue) {\r
\r
String value = defaultValue;\r
--- /dev/null
+package com.enqualcomm.support.utils;\r
+\r
+\r
+import java.lang.reflect.InvocationTargetException;\r
+import java.lang.reflect.Method;\r
+\r
+public class sysProperties {\r
+\r
+ private static Method sysPropGet;\r
+ private static Method sysPropSet;\r
+\r
+ private sysProperties() {\r
+ }\r
+\r
+ static {\r
+ try {\r
+ Class S = Class.forName("android.os.SystemProperties");\r
+ Method M[] = S.getMethods();\r
+ for (Method m : M) {\r
+ String n = m.getName();\r
+ if (n.equals("get")) {\r
+ sysPropGet = m;\r
+ } else if (n.equals("set")) {\r
+ sysPropSet = m;\r
+ }\r
+ }\r
+ } catch (ClassNotFoundException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ public static String get(String name, String default_value) {\r
+ try {\r
+ return (String) sysPropGet.invoke(null, name, default_value);\r
+ } catch (IllegalArgumentException e) {\r
+ e.printStackTrace();\r
+ } catch (IllegalAccessException e) {\r
+ e.printStackTrace();\r
+ } catch (InvocationTargetException e) {\r
+ e.printStackTrace();\r
+ }\r
+ return default_value;\r
+ }\r
+\r
+ public static void set(String name, String value) {\r
+ try {\r
+ sysPropSet.invoke(null, name, value);\r
+ } catch (IllegalArgumentException e) {\r
+ e.printStackTrace();\r
+ } catch (IllegalAccessException e) {\r
+ e.printStackTrace();\r
+ } catch (InvocationTargetException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+}
\ No newline at end of file
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
-\r
- ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", PPG "+ strXL +", Sp02 "+ strSpO2);\r
}else{\r
ICLogger.i("BPX1 format error!");\r
}\r
* #:结束符\r
*/\r
String sb=new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APSL))\r
- .append(CMDSPLIT)\r
.append(CMDSPLIT).append(date)\r
.append(CMDSPLIT).append(deepsleep)\r
.append(CMDSPLIT).append(lightsleep)\r
-#Thu Aug 06 17:23:57 CST 2020\r
-VERSION_CODE=479\r
+#Sat Aug 08 12:21:06 CST 2020\r
+VERSION_CODE=484\r