completed shoot text and camera enable.
authorTrillGates <williamtrillgates@gmail.com>
Wed, 4 Aug 2021 06:53:07 +0000 (14:53 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Wed, 4 Aug 2021 06:53:07 +0000 (14:53 +0800)
app/src/main/java/com/ic/protocols/protocol_s123.java

index 3687bc9..ac8dd34 100644 (file)
@@ -36,6 +36,7 @@ import com.enqualcomm.support.provider.ICAlarmProvider;
 import com.enqualcomm.support.provider.ICDatabaseHelper;
 import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
 import com.enqualcomm.support.provider.ICMembersProvider;
+import com.enqualcomm.support.provider.ShootTextProvider;
 import com.enqualcomm.support.provider.WebSmsProvider;
 import com.enqualcomm.support.service.Deliver;
 import com.enqualcomm.support.service.HeartRateManager;
@@ -204,6 +205,7 @@ public class protocol_s123 {
         AP47,
         BP47,//设置震动
         BPCM,//照相禁用开关
+        APCM,//照相禁用开关
         BPMK,//关闭麦克风
         APMK,//关闭麦克风
         APGJ,//关机前的确定
@@ -342,6 +344,7 @@ public class protocol_s123 {
         cmdMap.put(CMD_TYPE.AP47, "AP47");
         cmdMap.put(CMD_TYPE.BP47, "BP47");
         cmdMap.put(CMD_TYPE.BPCM, "BPCM");
+        cmdMap.put(CMD_TYPE.APCM, "APCM");
         cmdMap.put(CMD_TYPE.BPMK, "BPMK");
         cmdMap.put(CMD_TYPE.APMK, "APMK");
         cmdMap.put(CMD_TYPE.APFX, "APFX");
@@ -3440,7 +3443,7 @@ public class protocol_s123 {
             case BPCM:
                 ICLogger.d("收到禁用相机开关BPCM");
                 mConnection.DeliverCMDMessageToSystem("APCM", cmd);//通知下面线程状态变化
-                handleBPCM(mRuntime, cmd);
+                handleBPCM(cmd);
                 break;
             case BPMK:
                 ICLogger.d("收到关闭麦克风的指令BPMK");
@@ -3638,7 +3641,6 @@ public class protocol_s123 {
     private void handleBPSM(String cmd) {
         String[] split = cmd.split(CMDSPLIT);
         if (split.length == 6) {
-
             String id = split[2];
             String type = split[3];
             String count = split[4];
@@ -3647,9 +3649,21 @@ public class protocol_s123 {
             int countInt = Integer.parseInt(count);
             ICLogger.d("countInt==> " + countInt);
             String[] contentArray = contentStr.split("@");
+            //先删除此类的
+            ContentResolver resolver = mRuntime.getContextProxy().getResolver();
+            resolver.delete(Uri.parse(ShootTextProvider.SHOOT_TEXT),
+                    ICDatabaseHelper.shoot_type + "=?", new String[]{type});
             for (String s : contentArray) {
-                ICLogger.d("item data==> " + Util.decodeUnicode2Utf8(s));
-                //TODO:入库
+                String targetItem = Util.decodeUnicode2Utf8(s);
+                ICLogger.d("item data==> " + targetItem);
+                //入库
+                ContentValues values = new ContentValues();
+                values.put(ICDatabaseHelper.shoot_order, 0);
+                values.put(ICDatabaseHelper.shoot_type, type);
+                values.put(ICDatabaseHelper.shoot_value, targetItem);
+                values.put(ICDatabaseHelper.shoot_create_time, System.currentTimeMillis());
+                values.put(ICDatabaseHelper.shoot_update_time, System.currentTimeMillis());
+                resolver.insert(Uri.parse(ShootTextProvider.SHOOT_TEXT), values);
             }
             //回复
             //IWAPSM,080835, 1#
@@ -3970,7 +3984,7 @@ public class protocol_s123 {
     /**
      * 处理
      */
-    private void handleBPCM(Runtime mRuntime, String cmd) {
+    private void handleBPCM(String cmd) {
         //修改数据库即可,
         //1 : 表示设备可以拍照   0:表示设备不可拍照 ,用户想做拍照会有提示禁用。
         ICLogger.d(cmd + " handleBPCM --> " + cmd);
@@ -3978,7 +3992,14 @@ public class protocol_s123 {
             //IWBPCM,353456789012345,080835,1#
             String[] split = cmd.split(CMDSPLIT);
             if (split.length == 4) {
-                updateSettingValue("is_camera_enable", split[3].replace(CMDEND, ""));
+                updateSettingValue("is_camera_enable", split[3]);
+                String id = split[2];
+                //响应结果
+                //IWAPCM,080835, 1#
+                //080835: 设备响应的时候带上响应流水号
+                //1 : 设备可以拍照  0: 设备不可拍照 ,
+                // 一般情况下就是所下命令一致,除非设置失败,当前状态才会不一致。
+                responseWithId(cmdMap.get(CMD_TYPE.APCM), id, split[3]);
             } else {
                 ICLogger.d("parse cmd error...");
             }