release 429
authorsnickersun <scy@incartech.cn>
Sat, 27 Jun 2020 10:18:06 +0000 (18:18 +0800)
committersnickersun <scy@incartech.cn>
Sat, 27 Jun 2020 10:18:06 +0000 (18:18 +0800)
1、添加 Proximity Sensor(脱腕检测)功能
2、增加温度循环检测功能
3、修改 AP10 报警 函数。

15 files changed:
app/release/ICSer_V429_2006271708_release.apk [moved from app/release/ICSer_V425_2006242237_release.apk with 79% similarity]
app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/LocationClient.java
app/src/main/java/com/enqualcomm/support/bean/Runtime.java
app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java [new file with mode: 0644]
app/src/main/java/com/enqualcomm/support/service/KeepAlive.java
app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java
app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java
app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java [new file with mode: 0644]
app/src/main/java/com/ic/jni/ICJniUtils.java
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_beehome.java
app/src/main/jni/jni_interface/com_ic_jni_ICJniUtils.h [new file with mode: 0644]
app/version_code.properties

similarity index 79%
rename from app/release/ICSer_V425_2006242237_release.apk
rename to app/release/ICSer_V429_2006271708_release.apk
index 952b93e..12deb13 100644 (file)
Binary files a/app/release/ICSer_V425_2006242237_release.apk and b/app/release/ICSer_V429_2006271708_release.apk differ
index 54bd0e9..d8c840c 100644 (file)
@@ -111,6 +111,7 @@ public class Config {
   final static String KeySMSPassword="SMSPWD";\r
   final static String DefaultSMSPassword="non";\r
 \r
+  final static String KeyTempTestCycle="TempTestCycle";\r
 \r
   public static String DefaultHost(){\r
         if (protocol_no==PROTOCOL_BEEHOME)\r
@@ -188,25 +189,6 @@ public class Config {
     SharPreferenceUtil.setPrefString(context,KeyLogFtpPWD,PWD);\r
   }\r
 \r
-\r
-  public static double getTempAdjustValue(){\r
-\r
-    String tmpstr=FileUtil.readFileLine(new File("/productinfo/temp_adjust_37.txt"));\r
-\r
-    double tmp=0.0f;\r
-\r
-    if (tmpstr==null || tmpstr.isEmpty())\r
-    {\r
-      tmpstr="0.0";\r
-    }\r
-    tmp=Double.valueOf(tmpstr);\r
-\r
-    ICLogger.i("get Temperature Adjust Value from /productinfo/temp_adjust_37.txt , value="+tmpstr);\r
-    return tmp;\r
-\r
-  }\r
-\r
-\r
   public static void setAlarmCycle(Context context, int cycle){\r
     SharPreferenceUtil.setPrefInt(context,KeyAlarmCycle,cycle);\r
   }\r
@@ -380,9 +362,25 @@ public class Config {
         noSMSNotifyDialog=true;\r
         noVoiceNotifyDialog=true;\r
     }\r
+    String c41_branch_name=Util.getSystemProperties("persist.sys.c41.branch");\r
+\r
+    if ((c41_branch_name.equals("H88")) ){\r
+      noPushTxtNotifyDialog=true;\r
+      noSMSNotifyDialog=false;\r
+      noVoiceNotifyDialog=false;\r
+    }\r
+\r
+  }\r
+\r
+  public static void loadTemperatureSettings(Runtime runtime){\r
+    runtime.temp_test_Cycle = SharPreferenceUtil.getPrefInt(runtime.getContextProxy().context, KeyTempTestCycle, 30);\r
+  }\r
 \r
+  public static void setTemperatureTestCycle(Runtime runtime,int cycle_minutes) {\r
+    SharPreferenceUtil.setPrefInt(runtime.getContextProxy().context,KeyLocationCycle,cycle_minutes);\r
+    loadTemperatureSettings(runtime);\r
   }\r
-  public static boolean isUsingCustomServer=false;\r
+    public static boolean isUsingCustomServer=false;\r
 \r
   public static void setCustomServer(Context context,boolean isusingCutomerServer,String serverip,int serverport) {\r
 \r
index be622d8..a855ccd 100644 (file)
@@ -15,9 +15,11 @@ import android.os.PowerManager;
 import android.os.SystemClock;\r
 import android.widget.Toast;\r
 \r
+import com.enqualcomm.support.service.AntiMonitorService;\r
 import com.enqualcomm.support.utils.DeviceInfoUtil;\r
 import com.enqualcomm.support.utils.LedUtil;\r
 import com.enqualcomm.support.utils.StorageUtils;\r
+import com.enqualcomm.support.utils.TemperatureUtil;\r
 import com.enqualcomm.support.utils.VibrateUtil;\r
 import com.ic.jni.ICJniUtils;\r
 import com.enqualcomm.support.adapter.LBSHelper;\r
@@ -179,7 +181,7 @@ public class CoreService extends Service {
                     setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
                     HeartRateManager.triggerPPGtest();\r
 \r
-                    runtime.setAlarmType(false,runtime.getBatteryLow(),true,false);\r
+                    runtime.setAlarmType(Runtime.AlarmType.ALARM_SOS);\r
                     //trigger AP10 报警定位\r
 //                   CoreService.this.locationClient.triggerSOSLocationProcess();\r
                     connection.send(protocolAPIHelper.genStringMessage("AP10",protocolAPIHelper.getWarningMSG(runtime)));\r
@@ -255,7 +257,7 @@ public class CoreService extends Service {
 \r
     private boolean isBinded = false;\r
 \r
-\r
+    private AntiMonitorService antiservice;\r
     LocationClient locationClient;\r
 \r
     private Deliver mDeliver;\r
@@ -356,9 +358,11 @@ public class CoreService extends Service {
         ICLogger.i("getInvokeHandlerServiceChain");\r
         SendChatMessage sendChatMessage = new SendChatMessage();\r
         HeartRateManager heartRateManager= new HeartRateManager(this.runtime,this.connection);\r
+        antiservice = new AntiMonitorService();\r
         SilentManager silentManager = SilentManager.getInstance();// new SilentManager();\r
         sendChatMessage.setNext(heartRateManager);\r
         heartRateManager.setNext(silentManager);\r
+        silentManager.setNext(antiservice);\r
         return sendChatMessage;\r
     }\r
 \r
@@ -527,8 +531,8 @@ public class CoreService extends Service {
 \r
 \r
         //初始化温度测试相关参数\r
-        runtime.temperature_adjustValue=Config.getTempAdjustValue();\r
-\r
+        runtime.temperature_adjustValue= TemperatureUtil.getTempAdjustValue();\r
+        Config.loadTemperatureSettings(runtime);\r
 \r
         this.connectionServiceChain.processAttach(this.connection, this.runtime);\r
         this.invokeHandlerServiceChain.processAttach(this.connection, this.runtime);\r
@@ -628,6 +632,8 @@ public class CoreService extends Service {
         needLocateInAfterHeartBeat=true;\r
         setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
 \r
+        //设置温度测量间隔时间\r
+        setTempAlarm();\r
 \r
         //设置来电模式\r
         SimSignalUtil.SetRingMode(this, AudioManager.RINGER_MODE_NORMAL,true);\r
@@ -756,7 +762,8 @@ public class CoreService extends Service {
 \r
                     if (connection.isServerConnected() && runtime.isServerProtocolConnected()) {\r
                         //测试温度并上报\r
-\r
+                        String temperatureMsg=protocolAPIHelper.getTemperatureMSG(TemperatureUtil.get_temp_value_adjusted());\r
+                        Deliver.sendLocationMSG(temperatureMsg);\r
                     }\r
                     setTempAlarm();\r
                     if (Config.LOG_TOFILE)\r
@@ -896,7 +903,6 @@ public class CoreService extends Service {
         StringBuilder sb=new StringBuilder();\r
         int cycle=runtime.temp_test_Cycle;\r
 \r
-        //心跳指令默认设置为3分钟\r
         AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,cycle, TEMP_ALARM);\r
         sb.append(" setHeartAlarm  "+TEMP_ALARM+", cycle "+cycle);\r
 //        locationClient.triggerLocationProcess();\r
index bec8269..a5b917e 100644 (file)
@@ -773,9 +773,11 @@ public void updateCellInfo() {
 //      connection.send(API.H05(runtime, "1"));\r
       ICLogger.i("sendBatteryNotification Low Battery ");\r
 \r
-      runtime.setAlarmType(false,runtime.getBatteryLow(),false,false);\r
-      //trigger AP10 报警低电\r
-      connection.send(protocolAPIHelper.genStringMessage("AP10",protocolAPIHelper.getWarningMSG(runtime)));\r
+      if (runtime.getBatteryLow()) {\r
+        runtime.setAlarmType(Runtime.AlarmType.ALARM_LOWBATTERY);\r
+        //trigger AP10 报警低电\r
+        connection.send(protocolAPIHelper.genStringMessage("AP10",protocolAPIHelper.getWarningMSG(runtime)));\r
+      }\r
 \r
       this.batteryLowNotification = true;\r
     }\r
index b9ff384..24f392d 100644 (file)
@@ -147,19 +147,40 @@ public class Runtime {
     return alarmType;\r
   }\r
 \r
+  public enum AlarmType{\r
+      ALARM_SOS,\r
+      ALARM_LOWBATTERY,\r
+      ALARM_ANTIOFF,\r
+      ALARM_WEARED,\r
+      ALARM_FALL,\r
+      ALARM_NONE,\r
+    };\r
 //  00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05/06:跌倒报警))\r
-  public void setAlarmType(boolean fall,boolean lowbattery,boolean sos,boolean antioff){\r
+  public void setAlarmType(AlarmType alarm){\r
 //    if ( !fall && !lowbattery && !sos && antioff)\r
-      alarmType= "00";\r
-    if (sos){\r
-      alarmType= "01";\r
-    }else if(lowbattery){\r
-      alarmType= "02";\r
-    }else if(antioff){\r
-      alarmType= "03";\r
-    }else if(fall){\r
-      alarmType= "05";\r
-    }\r
+\r
+      switch (alarm){\r
+          case ALARM_SOS:\r
+              alarmType="01";\r
+              break;\r
+          case ALARM_LOWBATTERY:\r
+              alarmType="02";\r
+              break;\r
+          case ALARM_ANTIOFF:\r
+              alarmType="03";\r
+              break;\r
+          case ALARM_WEARED:\r
+              alarmType="04";\r
+              break;\r
+          case ALARM_FALL:\r
+              alarmType="05";\r
+              break;\r
+          case ALARM_NONE:\r
+          default:\r
+              alarmType="00";\r
+              break;\r
+      }\r
+\r
   }\r
 \r
   public String preCdmaInfo;\r
diff --git a/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java b/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java
new file mode 100644 (file)
index 0000000..c39fbee
--- /dev/null
@@ -0,0 +1,140 @@
+package com.enqualcomm.support.service;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.hardware.Sensor;\r
+import android.hardware.SensorEvent;\r
+import android.hardware.SensorEventListener;\r
+import android.hardware.SensorManager;\r
+import android.os.Message;\r
+import android.os.PowerManager;\r
+import android.util.Log;\r
+\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.utils.ICLogger;\r
+import com.enqualcomm.support.utils.WakeLockUtil;\r
+import com.ic.protocols.protocolAPIHelper;\r
+\r
+import static java.lang.Thread.*;\r
+\r
+\r
+public class AntiMonitorService extends AbstractInvokeHandlerService {\r
+\r
+\r
+    Context mContext;\r
+\r
+    Runtime mRuntime;\r
+\r
+    Connection mConnection;\r
+\r
+    private SensorManager mSensorManager;\r
+\r
+    /**\r
+     * 启动传感器。\r
+     */\r
+    private void startSensor() {\r
+        mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);\r
+        Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);\r
+\r
+        if (mSensorManager == null || mSensor == null) {\r
+            ICLogger.i("Proximity 设备不支持1");\r
+            return;\r
+            //throw new UnsupportedOperationException("设备不支持");\r
+        }\r
+\r
+        boolean isRegister = mSensorManager.registerListener(mSensorEventListener, mSensor, SensorManager.SENSOR_DELAY_NORMAL);\r
+        if (!isRegister) {\r
+            ICLogger.i("Proximity 设备不支持2");\r
+            //throw new UnsupportedOperationException("设备不支持");\r
+            return ;\r
+        }\r
+    }\r
+\r
+    private String ACTION_ANTI_OFF = "com.ic.ACTION_STRIP";\r
+    private String KEY_ANTI_EVENT="eventID"; //integer  eventID =1 脱落, eventID =0 佩戴\r
+\r
+    private void send_anti_event_broadcast(int antioff){\r
+\r
+        Intent intent=new Intent();\r
+        intent.setAction(ACTION_ANTI_OFF);\r
+        intent.putExtra(KEY_ANTI_EVENT,antioff);\r
+        mContext.sendBroadcast(intent);\r
+\r
+    }\r
+\r
+\r
+    private void screen_on(){\r
+        PowerManager mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);\r
+        PowerManager.WakeLock mWakeLock = mPowerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");\r
+        mWakeLock.acquire(1*1000);//亮屏5秒\r
+    }\r
+    private SensorEventListener mSensorEventListener = new SensorEventListener() {\r
+\r
+        @Override\r
+        public void onSensorChanged(SensorEvent sensorEvent) {\r
+            float proximity=sensorEvent.values[0];\r
+            ICLogger.i("近距离 "+String.valueOf(proximity));\r
+            if (proximity==0){\r
+                //佩戴\r
+                screen_on();\r
+                mRuntime.setAlarmType(Runtime.AlarmType.ALARM_WEARED);\r
+                String msg=protocolAPIHelper.getWarningMSG(mRuntime);\r
+                Deliver.sendLocationMSG(msg); //消息很重要,所以利用带buffer的对列来发送!\r
+                try {\r
+                    sleep(1000);\r
+                } catch (InterruptedException e) {\r
+                    e.printStackTrace();\r
+                }\r
+                send_anti_event_broadcast(0);\r
+            }else{\r
+                //脱腕\r
+                screen_on();\r
+                mRuntime.setAlarmType(Runtime.AlarmType.ALARM_ANTIOFF);\r
+                String msg=protocolAPIHelper.getWarningMSG(mRuntime);\r
+                Deliver.sendLocationMSG(msg); //消息很重要,所以利用带buffer的对列来发送!\r
+                try {\r
+                    sleep(1000);\r
+                } catch (InterruptedException e) {\r
+                    e.printStackTrace();\r
+                }\r
+                send_anti_event_broadcast(1);\r
+            }\r
+        }\r
+\r
+        @Override\r
+        public void onAccuracyChanged(Sensor sensor, int i) {\r
+\r
+        }\r
+    };\r
+\r
+\r
+    @Override\r
+    public boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) {\r
+        return false;\r
+    }\r
+\r
+    @Override\r
+    public boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) {\r
+        return false;\r
+    }\r
+\r
+    @Override\r
+    public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
+\r
+    }\r
+\r
+    @Override\r
+    public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
+        mRuntime=paramRuntime;\r
+        mContext=mRuntime.getContextProxy().context;\r
+        mConnection=paramConnection;\r
+        startSensor();\r
+    }\r
+\r
+    @Override\r
+    public void onDetach(Connection paramConnection, Runtime paramRuntime) {\r
+        mSensorManager.unregisterListener(mSensorEventListener);\r
+    }\r
+}\r
index ef65cb5..c6e3704 100644 (file)
@@ -349,10 +349,12 @@ public class KeepAlive extends AbstractConnectionService {
       ICLogger.i("Shutdown Received! reboot="+bool);\r
       if (KeepAlive.this.mRuntime.getBatteryLow() && !KeepAlive.this.mRuntime.getBatterychanging() && !bool && !KeepAlive.this.mRuntime.isShutdown()/*不是服务器让关闭的*/){\r
 \r
-          KeepAlive.this.mRuntime.setAlarmType(false,KeepAlive.this.mRuntime.getBatteryLow(),false,false);\r
-          KeepAlive.this.connection.send(protocolAPIHelper.genStringMessage("AP10",protocolAPIHelper.getWarningMSG(KeepAlive.this.mRuntime)));\r
+          if (KeepAlive.this.mRuntime.getBatteryLow()){\r
+          KeepAlive.this.mRuntime.setAlarmType(Runtime.AlarmType.ALARM_LOWBATTERY);\r
+          KeepAlive.this.connection.send(protocolAPIHelper.genStringMessage("AP10", protocolAPIHelper.getWarningMSG(KeepAlive.this.mRuntime)));\r
 \r
           ICLogger.i("Shutdown Received! send AP10 !");\r
+        }\r
 \r
       }\r
 \r
index a39055a..ced2782 100644 (file)
@@ -82,7 +82,7 @@ public class BatteryUtil {
             mRuntime.setBatteryLow(true);\r
 \r
             if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow !");\r
-            mRuntime.setAlarmType(false,mRuntime.getBatteryLow(),false,false);\r
+            mRuntime.setAlarmType(Runtime.AlarmType.ALARM_LOWBATTERY);\r
             //trigger AP10 报警定位\r
             connection.send(protocolAPIHelper.genStringMessage("AP10",protocolAPIHelper.getWarningMSG(mRuntime)));\r
           }\r
index 355b7d3..bd15d48 100644 (file)
@@ -233,7 +233,8 @@ public class DeviceInfoUtil {
             .append(" [").append(runtime.getSignalStrength()).append(",").append(runtime.getSignalInfo()).append("] ")\r
             .append(runtime.IMEI())\r
             .append("\n Srv [").append(runtime.getHost()).append(":").append(runtime.getPort()).append("]").append(KeepAlive.isConnected).append(" , HBcycle ").append(runtime.getHeartBeatCycle())\r
-            .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected()).append(",Temp ").append(ICJniUtils.getTemperature()-runtime.temperature_adjustValue)\r
+            .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())\r
+            .append(",Temp ").append(String.format("%1$.2f",TemperatureUtil.get_temp_value_adjusted())).append(",TA ").append(String.format("%1$.2f",runtime.temperature_adjustValue))\r
             .append(" \n Bat ").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
             .append(" charged ").append(runtime.isPowerConnected())\r
             .append(" StepCount ").append(runtime.getTotalStepCount())\r
@@ -274,7 +275,8 @@ public class DeviceInfoUtil {
             .append(",P").append(runtime.getHRS().getPPG())\r
             .append(",H").append(runtime.getHRS().getBPH())\r
             .append(",L").append(runtime.getHRS().getBPL())\r
-            .append(",T").append(ICJniUtils.getTemperature()-runtime.temperature_adjustValue)\r
+            .append(",T").append(String.format("%1$.2f",TemperatureUtil.get_temp_value_adjusted()))\r
+            .append(",TA").append(String.format("%1$.2f",runtime.temperature_adjustValue))\r
             .append(",").append(runtime.getHRS().getTestTime()).append("]")\r
             .toString();\r
   }\r
diff --git a/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java b/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java
new file mode 100644 (file)
index 0000000..1abf1a5
--- /dev/null
@@ -0,0 +1,42 @@
+package com.enqualcomm.support.utils;\r
+\r
+import com.ic.jni.ICJniUtils;\r
+import com.sina.util.dnscache.log.FileUtil;\r
+\r
+import java.io.File;\r
+\r
+public class TemperatureUtil {\r
+\r
+\r
+    private static double temp_value_orig =0.0f;\r
+    private static double temp_adjust_value=0.0f;\r
+    public static double get_temp_value_origin()\r
+    {\r
+\r
+        temp_value_orig= ICJniUtils.getTemperature();\r
+        return temp_value_orig;\r
+    }\r
+    public static double get_temp_value_adjusted()\r
+    {\r
+        get_temp_value_origin();\r
+        return (temp_value_orig-temp_adjust_value);\r
+    }\r
+\r
+    public static double getTempAdjustValue(){\r
+\r
+        String tmpstr= FileUtil.readFileLine(new File("/productinfo/temp_adjust_37.txt"));\r
+\r
+        double tmp=0.0f;\r
+\r
+        if (tmpstr==null || tmpstr.isEmpty())\r
+        {\r
+            tmpstr="0.0";\r
+        }\r
+        tmp=Double.valueOf(tmpstr);\r
+\r
+        temp_adjust_value=tmp;\r
+        ICLogger.i("get Temperature Adjust Value from /productinfo/temp_adjust_37.txt , value="+tmpstr);\r
+        return tmp;\r
+\r
+    }\r
+}\r
index 5c1928b..6fbc460 100644 (file)
@@ -60,4 +60,5 @@ public class ICJniUtils {
 \r
 \r
     public static native double getTemperature();\r
-}\r
+\r
+ }\r
index aedb741..a4b4aaf 100644 (file)
@@ -42,6 +42,19 @@ public class protocolAPIHelper {
         return sm;\r
     }\r
 \r
+    public static String getTemperatureMSG(double temp_adusted){\r
+        String ret="";\r
+        switch(Config.protocol_no)\r
+        {\r
+            case 0:\r
+                ret="";\r
+                break;\r
+            case 1:\r
+                ret=protocol_beehome.APTP(temp_adusted);\r
+                break;\r
+        }\r
+        return ret;\r
+    }\r
     public static String getWarningMSG(Runtime runtime){\r
         String ret="";\r
         switch(Config.protocol_no)\r
index d4cf1f4..b477a0f 100644 (file)
@@ -387,7 +387,8 @@ public class protocol_beehome {
          * HOME|74-DE-2B-44-88-8C|97&HOME1|74-DE-2B-44-88-8C|97&HOME2|74-DE-2B-44-88-8C|97&HOME3|74-DE-2B-44-88-8C|97#\r
          */\r
         return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP10)).append(TimeUtil.getShortDate())\r
-                .append(ds.getGPSData()).append(TimeUtil.getShortTime()).append(ds.getGPSHeading()).append(String.format("%03d",abs(ds.getSignalStrength())))\r
+                .append(ds.getGPSData()).append(TimeUtil.getShortTime()).append(ds.getGPSHeading())\r
+                .append(String.format("%03d",abs(ds.getSignalStrength())))\r
                 .append(ds.getGPSLocationStarNums()).append(ds.getBattery()).append("0")\r
                 .append(ds.getProtection()).append(ds.getWorkModeStr()).append(CMDSPLIT)\r
                 .append(ds.getLBSData()).append(CMDSPLIT)\r
@@ -1527,7 +1528,7 @@ public class protocol_beehome {
                 .append(CMDEND).toString();\r
     }\r
 \r
-    public void handleBPTE(String cmd,Connection connection){\r
+    public void handleBPTE(String cmd,Connection connection,Runtime runtime){\r
 \r
         //示例:\r
         //IWBPTE,353456789012345,080835,60#\r
@@ -1544,6 +1545,8 @@ public class protocol_beehome {
             int freq=Integer.valueOf(freqstr);\r
             connection.send(genStringMessage("APTE",APTE(index,freq)));\r
             ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。");\r
+            Config.setTemperatureTestCycle(runtime,freq);\r
+            CoreService.getInstance().setTempAlarm();\r
         }else{\r
             ICLogger.i("BP89 format error!");\r
         }\r
@@ -1721,7 +1724,7 @@ public class protocol_beehome {
                 break;\r
 \r
             case BPTE: //设置测试体温\r
-                handleBPTE(cmd,mConnection);\r
+                handleBPTE(cmd,mConnection,mRuntime);\r
                 break;\r
 \r
             case BPTP:\r
diff --git a/app/src/main/jni/jni_interface/com_ic_jni_ICJniUtils.h b/app/src/main/jni/jni_interface/com_ic_jni_ICJniUtils.h
new file mode 100644 (file)
index 0000000..cbbde17
--- /dev/null
@@ -0,0 +1,165 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */\r
+#include <jni.h>\r
+/* Header for class com_ic_jni_ICJniUtils */\r
+\r
+#ifndef _Included_com_ic_jni_ICJniUtils\r
+#define _Included_com_ic_jni_ICJniUtils\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    resetStepCount\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_resetStepCount\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getStepCount\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_getStepCount\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    enablePedometer\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_enablePedometer\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    disablePedometer\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_disablePedometer\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    isPedometerEnabled\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_isPedometerEnabled\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    saveStepCount\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_saveStepCount\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    recoverStepCount\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_recoverStepCount\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    isPPGavailable\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_isPPGavailable\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    enablePPG\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_enablePPG\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    disablePPG\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_disablePPG\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getPPG\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_getPPG\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    isPPGStarted\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_isPPGStarted\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    isWeared\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_isWeared\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getHighBloodPressure\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_getHighBloodPressure\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getLowBloodPressure\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_getLowBloodPressure\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getSPO2\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_getSPO2\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    getTemperature\r
+ * Signature: ()D\r
+ */\r
+JNIEXPORT jdouble JNICALL Java_com_ic_jni_ICJniUtils_getTemperature\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    enable_ps\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_enable_1ps\r
+  (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class:     com_ic_jni_ICJniUtils\r
+ * Method:    get_ps_data\r
+ * Signature: ()I\r
+ */\r
+JNIEXPORT jint JNICALL Java_com_ic_jni_ICJniUtils_get_1ps_1data\r
+  (JNIEnv *, jclass);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+#endif\r
index 2de9463..f17a46f 100644 (file)
@@ -1,2 +1,2 @@
-#Wed Jun 24 22:37:19 CST 2020\r
-VERSION_CODE=425\r
+#Sat Jun 27 17:08:46 CST 2020\r
+VERSION_CODE=429\r