add slient cmd parse.
authorTrillGates <williamtrillgates@gmail.com>
Tue, 27 Apr 2021 08:49:48 +0000 (16:49 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Tue, 27 Apr 2021 08:49:48 +0000 (16:49 +0800)
app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/ic/protocols/protocol_anan.java
app/src/main/java/com/ic/protocols/protocol_fzd.java

index 2cd6225..e335b6a 100644 (file)
@@ -810,11 +810,11 @@ public class Config {
                     ICLogger.i("协议 MQTT");
                     break;
                 default:
-                    ICLogger.i("协议版本 目前支持0,1,2,3,4 。");
+                    ICLogger.i("协议版本 目前支持0,1,2,3,4,5。");
                     break;
             }
         } else {
-            ICLogger.i("协议版本要是数字,目前支持0,1,2,3,4 。");
+            ICLogger.i("协议版本要是数字,目前支持0,1,2,3,4,5。");
         }
         protocol_no = ret;
         return ret;
index 0275242..0b565d8 100644 (file)
@@ -8,6 +8,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.media.AudioManager;
 import android.net.Uri;
 import android.os.Environment;
 import android.support.v4.app.ActivityCompat;
@@ -29,6 +30,7 @@ import com.enqualcomm.support.provider.FZDSettingsProvider;
 import com.enqualcomm.support.service.HeartRateManager;
 import com.enqualcomm.support.utils.Connection;
 import com.enqualcomm.support.utils.ICLogger;
+import com.enqualcomm.support.utils.ProfileManager;
 import com.enqualcomm.support.utils.TimeUtil;
 import com.enqualcomm.support.utils.Util;
 
@@ -168,6 +170,7 @@ public class protocol_anan {
         BP14/* 下发电话本*/,
         BP44/* 休眠时间段*/,
         BP45/* 静音开关*/,
+        AP45/*静音开关回复*/,
         BP26/* 设置上课隐身时间段*/,
         BP12/*设置紧急联系人*/,
         BPXL/*测量心率*/,
@@ -199,7 +202,8 @@ public class protocol_anan {
         AP14/*白名单电话本上行*/,
         AP32/*拨号上行*/,
         APSW/*定位开关上行*/,
-        AP98/*计步目标设置上行*/
+        AP98/*计步目标设置上行*/,
+        BPHT/*心率血压上传结果*/
     }
 
     private final static HashMap<CMD_TYPE, String> cmdMap;
@@ -219,6 +223,7 @@ public class protocol_anan {
         cmdMap.put(CMD_TYPE.APFD, "APFD");
         /* 服务器发起*/
         cmdMap.put(CMD_TYPE.BP12, "BP12");
+        cmdMap.put(CMD_TYPE.AP45, "AP45");
         cmdMap.put(CMD_TYPE.AP16, "AP16");
         cmdMap.put(CMD_TYPE.BP14, "BP14");
         cmdMap.put(CMD_TYPE.BP07, "BP07");
@@ -449,12 +454,6 @@ public class protocol_anan {
                         .append(runtime.getHRS().getBPL()/*收缩压*/)
                         .append(CMDSPLIT)
                         .append(runtime.getHRS().getBPL()/*舒张压*/)
-                        .append(CMDSPLIT)
-                        .append(runtime.tempInfo.currentWristTemp/*腕部温度*/)
-                        .append(CMDSPLIT)
-                        .append(runtime.tempInfo.currentWristTempOut/*环境温度*/)
-                        .append(CMDSPLIT)
-                        .append("0"/*采集编号*/)
                         .append(CMDEND).toString());
     }
 
@@ -633,6 +632,48 @@ public class protocol_anan {
                 ICLogger.d("收到计步目标指令..." + cmd);
                 handleBP98(cmd, mConnection);
                 break;
+            case BPHT:
+                ICLogger.d("服务器收到心率血压上传...");
+                break;
+            case BP45:
+                ICLogger.d("收到静音开关指令--> " + cmd);
+                handleBP45(cmd, mConnection);
+                break;
+        }
+    }
+
+    private void handleBP45(String cmd, Connection mConnection) {
+        //IWBP45,353456789012345,080835,1
+        //修改情景模式
+        AudioManager audioManager =
+                (AudioManager) mRuntime.getContextProxy()
+                        .context.getSystemService(Context.AUDIO_SERVICE);
+        if (audioManager == null) {
+            ICLogger.d("audioManager == > is null");
+            return;
+        }
+        String[] split = cmd.split(CMD_SPLIT);
+        if (split.length == 4) {
+            String responseCode = split[2];
+            String value = split[3];
+            ICLogger.d("response code == > " + responseCode);
+            ICLogger.d("value == > " + value);
+            //静音开关
+            // 1: 表示静音开关状态, 1表示开,0表示关
+            if ("1".equals(value)) {
+                //静音
+                ProfileManager.vibrate(audioManager);
+            } else {
+                //正常
+                ProfileManager.ringAndVibrate(audioManager);
+            }
+            mConnection.send(genStringMessage(cmdMap.get(CMD_TYPE.AP45),
+                    new StringBuilder(CMDHEADER)
+                            .append(cmdMap.get(CMD_TYPE.AP45)).append(CMDSPLIT)
+                            .append(responseCode).append(CMDSPLIT)
+                            .append(value).append(CMDEND).toString()));
+        } else {
+            ICLogger.d("parse cmd error...");
         }
     }
 
index 88c49db..fd19657 100644 (file)
@@ -2043,7 +2043,6 @@ public class protocol_fzd {
             ICLogger.d("audioManager == > is null");
             return;
         }
-        Context context = mRuntime.getContextProxy().context;
         //对data进行判断
         try {
             int type = Integer.parseInt(data);