From: snickersun Date: Sat, 8 Aug 2020 04:28:22 +0000 (+0800) Subject: release V484 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=6108973618e28f67d7d5a086e59da30f10eb7ff8;p=protocol_srv.git release V484 protocol_ic BPX1 设置时,把 PPG ECG adj 数据共享出去 coreService 修复SOS时 心率检测仍然不受控的问题。 Config 修改AK 收到消息不弹出内部窗口, 通过persist.sys 共享睡眠数据,久坐配置和心率血压血氧校准 --- diff --git a/app/release/ICSer_V479_2008061723_release.apk b/app/release/ICSer_V484_2008081221_release.apk similarity index 77% rename from app/release/ICSer_V479_2008061723_release.apk rename to app/release/ICSer_V484_2008081221_release.apk index 692cba2b..f56f171e 100644 Binary files a/app/release/ICSer_V479_2008061723_release.apk and b/app/release/ICSer_V484_2008081221_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 5364443c..a6dff38d 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"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 diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index 59e34866..4ddf2622 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -2,6 +2,7 @@ package com.enqualcomm.support; import android.content.Context; import android.content.SharedPreferences; +import android.provider.Settings; import android.text.TextUtils; import com.enqualcomm.support.bean.ICLocation; @@ -376,6 +377,9 @@ public class Config { noTempSensor=false; needBroadcastAntiAlarm=false; }else if ((custom_branch_name.equals("AK")) ){ + noPushTxtNotifyDialog=true; + noSMSNotifyDialog=true; + noVoiceNotifyDialog=true; noPPGSensor=false; noTempSensor=true; SOSNoNeedDial=true; //采用新写的SOS,协议只需要发送消息,无需控制拨号。 @@ -534,28 +538,41 @@ public class Config { spo2adj=getSPo2Adjust(context); runtime.getHRS().setAdjust(ppgadj,bphadj,bpladj,spo2adj); ICLogger.i("Load Health adjust value ppg "+ppgadj+", bph "+bphadj+", bpl "+bpladj+", spo2 "+spo2adj); + } + + + //心率血压血氧校准值 + public static String getPPG_ECG_adjustValue(){ + return Util.getSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_PPG_ECG_ADJUST,"0,0,0,0"); } + public static void setPPG_ECG_adjustValue(String adjvalue){ + Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_PPG_ECG_ADJUST,adjvalue); + } //久坐时间获取 public static int getKeepSitRangeInMinutes(Context context ){ - return SharPreferenceUtil.getPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0); + return Util.getSystemPropertiesInt("persist.sys."+Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0); +// return SharPreferenceUtil.getPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,0); } //久坐时间设置 public static void setKeepSitRangeInMinutes(Context context, int RangeInMinutes){ - - SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes); + Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes); +// SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SIT_ALARM_RANGE_IN_MINUTES,RangeInMinutes); } public static void setSleepDate(Context context,String dateyyyyMMddHHmmss){ - SharPreferenceUtil.setPrefStringPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss); + Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss); +// SharPreferenceUtil.setPrefStringPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE_DATE,dateyyyyMMddHHmmss); } public static void setSleepScore(Context context,int score){ - SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE,score); +// SharPreferenceUtil.setPrefIntPublic(context,Constants.SHAREKEY_SETTING_SLEEP_SCORE,score); + Util.setSystemProperties("persist.sys."+Constants.SHAREKEY_SETTING_SLEEP_SCORE,score); + } /** diff --git a/app/src/main/java/com/enqualcomm/support/Constants.java b/app/src/main/java/com/enqualcomm/support/Constants.java index 8a32cf23..d13138d2 100644 --- a/app/src/main/java/com/enqualcomm/support/Constants.java +++ b/app/src/main/java/com/enqualcomm/support/Constants.java @@ -322,6 +322,18 @@ public interface Constants { /** * PreferenceManager.getDefaultSharedPreferences(context) , package name "com.enqualcomm.support" */ + + /*** + * 心率血压血氧校准值 + * String 变量,用 "," 分割的 4个数据 格式为【ppg_adj,bph_adj,bpl_adj,spo2_adj】 + * 例如 + * 心率偏差ppg_adj=2, + * 高压偏差bph_adj=-2, + * 低压偏差bpl_adj=-3, + * 血氧偏差spo2_adj=5 + * 则赋值 2,-2,-3,5 + */ + public static String SHAREKEY_SETTING_PPG_ECG_ADJUST = "PpgEcgAdjust"; /** * 睡眠分数 , int */ diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 249f2662..983af950 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -180,16 +180,21 @@ public class CoreService extends Service { runtime.getLocationInstance().setWorkingMod(EMERGNECY_MOD); runtime.setPpgTestCycle(1); setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); + setHeartRateDetectAlarm(runtime.getPpgTestCycle()); + + setEmegencyLocationSTOPAlarm(5); }else if (ACTION_LOCAL_SOS_ACTION.endsWith(param1Intent.getAction())){ - VibrateUtil.getInstance(runtime.getContextProxy().context).VibrateOnOnce(true); + VibrateUtil.getInstance(runtime.getContextProxy().context).VibrateOn(true); // if( param1Intent.getIntExtra("type", 1) == 1) { + boolean needHRSTestOnSOS = Util.getSystemProperties("persist.sys.needHRSOnSOS","false").equals("true"); + if(needHRSTestOnSOS) { setHeartRateDetectAlarm(runtime.getPpgTestCycle()); HeartRateManager.triggerPPGtest(); - + } runtime.setAlarmType(Runtime.AlarmType.ALARM_SOS); //trigger AP10 报警定位 // CoreService.this.locationClient.triggerSOSLocationProcess(); @@ -198,10 +203,12 @@ public class CoreService extends Service { //开启紧急定位模式,GPS 优先1分钟一次定位,持续5分钟 runtime.getLocationInstance().setWorkingMod(EMERGNECY_MOD); setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); - //SOS模式,心率测试1分钟一次,持续5分钟 - runtime.setPpgTestCycle(1); - setHeartRateDetectAlarm(runtime.getPpgTestCycle()); + //SOS模式,心率测试1分钟一次,持续5分钟 + if(needHRSTestOnSOS) { + runtime.setPpgTestCycle(1); + setHeartRateDetectAlarm(runtime.getPpgTestCycle()); + } //设置5分钟后结束紧急定位模式 setEmegencyLocationSTOPAlarm(5); @@ -695,6 +702,7 @@ public class CoreService extends Service { //平均 每分钟活动数 小于参考久坐计步值,表示久坐 ICLogger.i("SitCheck 平均 每分钟活动数 小于参考久坐计步值,表示久坐"); runtime.getContextProxy().sendBroadcastSitLongAlarm(); //广播久坐消息 + VibrateUtil.getInstance(this).VibrateOn(true); }else{ //只要 平均每分钟活动数大于参考值,则重置 lastCheckSitTime 以及 lastSitCheckStepCount ICLogger.i("SitCheck 平均每分钟活动数大于参考值,则重置 lastCheckSitTime 以及 lastSitCheckStepCount"); diff --git a/app/src/main/java/com/enqualcomm/support/utils/Util.java b/app/src/main/java/com/enqualcomm/support/utils/Util.java index 3874da7a..a7c8e741 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/Util.java +++ b/app/src/main/java/com/enqualcomm/support/utils/Util.java @@ -238,7 +238,36 @@ public class Util { } return str; } + public static String getSystemProperties(String prop,String defaultValue){ + String str =defaultValue; + Class clazz = null; + try { + clazz = Class.forName("android.os.SystemProperties"); + Method get=clazz.getMethod("get", new Class[] { String.class }); + str = (String)get.invoke(clazz, new Object[] { prop }); + } catch (Exception e) { + e.printStackTrace(); + } + return str; + } + public static int getSystemPropertiesInt(String prop,int defaultValue){ + + int ret=defaultValue; + String str =""; + Class clazz = null; + try { + clazz = Class.forName("android.os.SystemProperties"); + Method get=clazz.getMethod("get", new Class[] { String.class }); + str = (String)get.invoke(clazz, new Object[] { prop }); + if (str!=null && str.trim().length()>0 && isNumeric(str)){ + ret=Integer.parseInt(str); + } + } catch (Exception e) { + e.printStackTrace(); + } + return ret; + } public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); @@ -247,7 +276,24 @@ public class Util { } return true; } + static public void setSystemProperties(String key, int defaultValue) { + + String value = String.valueOf(defaultValue); + try { + + Class c = Class.forName("android.os.SystemProperties"); + + Method set = c.getMethod("set", String.class, String.class ); + + set.invoke(c, key, value ); + + } catch (Exception e) { + + e.printStackTrace(); + + } + } static public void setSystemProperties(String key, String defaultValue) { String value = defaultValue; diff --git a/app/src/main/java/com/enqualcomm/support/utils/sysProperties.java b/app/src/main/java/com/enqualcomm/support/utils/sysProperties.java new file mode 100644 index 00000000..8221ecda --- /dev/null +++ b/app/src/main/java/com/enqualcomm/support/utils/sysProperties.java @@ -0,0 +1,56 @@ +package com.enqualcomm.support.utils; + + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +public class sysProperties { + + private static Method sysPropGet; + private static Method sysPropSet; + + private sysProperties() { + } + + static { + try { + Class S = Class.forName("android.os.SystemProperties"); + Method M[] = S.getMethods(); + for (Method m : M) { + String n = m.getName(); + if (n.equals("get")) { + sysPropGet = m; + } else if (n.equals("set")) { + sysPropSet = m; + } + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + + public static String get(String name, String default_value) { + try { + return (String) sysPropGet.invoke(null, name, default_value); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + return default_value; + } + + public static void set(String name, String value) { + try { + sysPropSet.invoke(null, name, value); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index 771662ae..98cf7493 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -1733,9 +1733,13 @@ public class protocol_ic { Config.setBPHAdjust(mRuntime.getContextProxy().context,bph_adjust); Config.setBPLAdjust(mRuntime.getContextProxy().context,bpl_adjust); Config.setSPo2Adjust(mRuntime.getContextProxy().context,spo2_adjust); + String ShareAdjValue=new StringBuilder().append(ppg_adjust).append(CMDSPLIT) + .append(bph_adjust).append(CMDSPLIT) + .append(bpl_adjust).append(CMDSPLIT) + .append(spo2_adjust).append(CMDSPLIT).toString(); + Config.setPPG_ECG_adjustValue(ShareAdjValue); + ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", PPG "+ strXL +", Sp02 "+ strSpO2 + " , Shared Adjust Value "+ ShareAdjValue); - - ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", BPH "+strBPH+", BPL "+strBPL+", PPG "+ strXL +", Sp02 "+ strSpO2); }else{ ICLogger.i("BPX1 format error!"); } @@ -2063,7 +2067,6 @@ public class protocol_ic { * #:结束符 */ String sb=new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APSL)) - .append(CMDSPLIT) .append(CMDSPLIT).append(date) .append(CMDSPLIT).append(deepsleep) .append(CMDSPLIT).append(lightsleep) diff --git a/app/version_code.properties b/app/version_code.properties index c77a6fb0..3d5daf1c 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Thu Aug 06 17:23:57 CST 2020 -VERSION_CODE=479 +#Sat Aug 08 12:21:06 CST 2020 +VERSION_CODE=484