shake as wearning msg create.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 12 Aug 2021 07:38:13 +0000 (15:38 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 12 Aug 2021 07:38:13 +0000 (15:38 +0800)
app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java
app/src/main/java/com/ic/protocols/protocol_s123.java

index 3a26805..92f5bdf 100644 (file)
@@ -32,6 +32,7 @@ import com.enqualcomm.support.utils.HeartRateOxygenTestType;
 import com.enqualcomm.support.utils.ICLogger;
 import com.enqualcomm.support.utils.TimeUtil;
 import com.enqualcomm.support.utils.Util;
+import com.enqualcomm.support.utils.VibrateUtil;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.work.IHeartRateSensorCallback;
 import com.ic.work.IHeartRateSensorService;
@@ -207,17 +208,20 @@ public class HeartRateManager extends AbstractInvokeHandlerService {
             //发出警告
             createWarningNotification(context.getString(R.string.oxygen_exception_tips_text) + oxygenValue + "%)",
                     NOTIFICATION_TYPE_BLOOD_OXYGEN, Constants.WARNING_MSG_TYPE_BLOOD_OXYGEN);
+            VibrateUtil.getInstance(context).vibrateOn(true);
         }
         if (heartRateValue != 0 && Config.LIMIT_VALUE_PPGH != 0 && heartRateValue > Config.LIMIT_VALUE_PPGH) {
             //判断是否超出阀值,上限
             createWarningNotification(context.getString(R.string.heart_rate_exception_tips_text) + heartRateValue + ")",
                     NOTIFICATION_TYPE_HEART_RATE, Constants.WARNING_MSG_TYPE_HEART_RATE);
+            VibrateUtil.getInstance(context).vibrateOn(true);
         }
 
         if (heartRateValue != 0 && Config.LIMIT_VALUE_PPGH != 0 && heartRateValue < Config.LIMIT_VALUE_PPGL) {
             //判断是否超出阀值,下限
             createWarningNotification(context.getString(R.string.heart_rate_exception_tips_text) + heartRateValue + ")",
                     NOTIFICATION_TYPE_HEART_RATE, Constants.WARNING_MSG_TYPE_HEART_RATE);
+            VibrateUtil.getInstance(context).vibrateOn(true);
         }
 
         if (bloodHeightValue != 0 && Config.LIMIT_VALUE_BPH_H != 0 && Config.LIMIT_VALUE_BPH_L != 0) {
@@ -226,6 +230,7 @@ public class HeartRateManager extends AbstractInvokeHandlerService {
                 //警报,血压高值超出范围
                 createWarningNotification(context.getString(R.string.blood_presure_exception_tips_text) + bloodHeightValue + "/100mmHg)",
                         NOTIFICATION_TYPE_BLOOD_PRESSURE, Constants.WARNING_MSG_TYPE_BLOOD_PRESSURE);
+                VibrateUtil.getInstance(context).vibrateOn(true);
             }
         }
 
@@ -235,6 +240,7 @@ public class HeartRateManager extends AbstractInvokeHandlerService {
                 //警报,血压低值超出范围
                 createWarningNotification(context.getString(R.string.blood_presure_exception_tips_text) + bloodHeightValue + "/100mmHg)",
                         NOTIFICATION_TYPE_BLOOD_PRESSURE, Constants.WARNING_MSG_TYPE_BLOOD_PRESSURE);
+                VibrateUtil.getInstance(context).vibrateOn(true);
             }
         }
     }
index cae2081..cb9abf8 100644 (file)
@@ -2123,20 +2123,19 @@ public class protocol_s123 {
     public static StringMessage AP88(String index) {
         //设备响应:      IWAP88, 080835#
         //080835:指令流水号
-        return genStringMessage("AP88", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP88))
-                .append(CMDSPLIT).append(index)
-                .append(CMDEND).toString());
+        return genStringMessage("AP88",
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP88))
+                        .append(CMDSPLIT).append(index)
+                        .append(CMDEND).toString());
     }
 
     public static void handleBP88(String cmd, Connection connection) {
 //        IWBP88,080835#
         String[] list = cmd.split(CMDSPLIT);
-
-        if (list.length == 2) {
-            String index = list[1];
+        if (list.length == 3) {
+            String index = list[2];
             connection.send(AP88(index));
             ICLogger.i("收到服务器消息:查询设备");
-
         } else {
             ICLogger.i("BP88 format error!");
         }
@@ -2144,10 +2143,10 @@ public class protocol_s123 {
 
     //18.18.设置心率/血压阀值(下行协议号:BP89,响应:AP89)
     public static StringMessage AP89(String index) {
-
         //设备响应:      IWAP89, 080835#
         //080835:指令流水号
-        return genStringMessage("AP89", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP89))
+        return genStringMessage("AP89",
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP89))
                 .append(CMDSPLIT).append(index)
                 .append(CMDEND).toString());
     }
@@ -3906,6 +3905,9 @@ public class protocol_s123 {
             String wifiName = split[3];
             String password = split[4];
             String encyptType = split[5];
+            //1:表示设备接受数据成功,0表示设备接受数据失败
+            responseWithId(cmdMap.get(CMD_TYPE.APWF), id, "1");
+            //返回数据再连接WIFI,否则断网
             Context context = mRuntime.getContextProxy().context;
             Config.setWiFiSSID(context, wifiName);
             Config.setWiFiPasswd(context, password);
@@ -3913,8 +3915,6 @@ public class protocol_s123 {
             //回复内容
             //IWAPWF,080835,1#
             //080835:指令流水号
-            //1:表示设备接受数据成功,0表示设备接受数据失败
-            responseWithId(cmdMap.get(CMD_TYPE.APWF), id, "1");
         } else {
             ICLogger.d("parse error==> " + cmd);
         }
@@ -3938,20 +3938,25 @@ public class protocol_s123 {
                 String id = split[2];
                 String type = split[3];
                 String ipAndPort = split[4];
-                if (ipAndPort.contains(":")) {
-                    String[] ipAndPortArray = ipAndPort.split(":");
-                    String ip = ipAndPortArray[0];
-                    String port = ipAndPortArray[1];
-                    Config.setCustomServer(mRuntime.getContextProxy().context, true, ip,
-                            Integer.parseInt(port));
-                    //172.128.20.111:9999: IP(域名):端口
-                    //响应IWAPIP,080835,1,172.128.20.111:9999
-                    //1:表示设备接受数据成功,0表示设备接受数据失败.
-                    responseWithId(cmdMap.get(CMD_TYPE.APIP), id, type, ipAndPort);
-                    //以下内容必须在后回复的后面,否则就发送不了。
-                    Config.loadServerSettings(mRuntime);
-                    CoreService.getInstance().disconnect_server();
-                    CoreService.getInstance().ReConnectToServer();
+                ICLogger.d("id==> " + id);
+                ICLogger.d("type==> " + type);
+                ICLogger.d("ipAndPort==> " + ipAndPort);
+                if ("1".equals(type)) {
+                    if (ipAndPort.contains(":")) {
+                        String[] ipAndPortArray = ipAndPort.split(":");
+                        String ip = ipAndPortArray[0];
+                        String port = ipAndPortArray[1];
+                        Config.setCustomServer(mRuntime.getContextProxy().context, true, ip,
+                                Integer.parseInt(port));
+                        //172.128.20.111:9999: IP(域名):端口
+                        //响应IWAPIP,080835,1,172.128.20.111:9999
+                        //1:表示设备接受数据成功,0表示设备接受数据失败.
+                        responseWithId(cmdMap.get(CMD_TYPE.APIP), id, type, ipAndPort);
+                        //以下内容必须在后回复的后面,否则就发送不了。
+                        Config.loadServerSettings(mRuntime);
+                        CoreService.getInstance().disconnect_server();
+                        CoreService.getInstance().ReConnectToServer();
+                    }
                 }
             } else {
                 ICLogger.d("parse failed==> " + cmd);