release 460
authorsnickersun <scy@incartech.cn>
Thu, 23 Jul 2020 08:45:48 +0000 (16:45 +0800)
committersnickersun <scy@incartech.cn>
Thu, 23 Jul 2020 08:45:48 +0000 (16:45 +0800)
1、修复sms 短信命令不能正确执行问题
2、添加了部分指令BPDE BPDF BPTU,但是没有完成,由于急着解决短信命令问题,先提交上去。

app/release/ICSer_V458_2007202005_release.apk [deleted file]
app/src/main/AndroidManifest.xml
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/bean/SleepInfo.java
app/src/main/java/com/ic/protocols/protocol_ic.java
app/version_code.properties

diff --git a/app/release/ICSer_V458_2007202005_release.apk b/app/release/ICSer_V458_2007202005_release.apk
deleted file mode 100644 (file)
index 3ffff84..0000000
Binary files a/app/release/ICSer_V458_2007202005_release.apk and /dev/null differ
index ad5d05b..2c20983 100644 (file)
             android:exported="true">
             <intent-filter>
                 <action android:name="android.provider.Telephony.SMS_RECEIVED" />
+                <action android:name="com.enqualcomm.support.SMSCMD" />
             </intent-filter>
         </receiver>
         <receiver
index 799f959..5f6815a 100644 (file)
@@ -70,10 +70,14 @@ public class ICSmsManager  extends BroadcastReceiver{
     @Override\r
     public void onReceive(Context context, Intent intent) {\r
 \r
-        if (mContext==null) {\r
+        if (CoreService.getInstance()==null) {\r
             ICLogger.i("CoreService still not started , skip SMS cmd!");\r
             return;\r
         }\r
+        mContext=context;\r
+        runtime=CoreService.getInstance().runtime;\r
+\r
+\r
         String action = intent.getAction();\r
         if (ACTION_SMSCMD.equals(action)) {\r
             String cmd = intent.getStringExtra("smsCmd");\r
@@ -129,12 +133,15 @@ public class ICSmsManager  extends BroadcastReceiver{
             cell_number_to_reply="";\r
 \r
         }\r
+    }\r
+    public ICSmsManager( ) {\r
+\r
+\r
     }\r
 \r
     public ICSmsManager( Runtime _runtime) {\r
         this.runtime = _runtime;\r
         this.mContext = runtime.getContextProxy().context;\r
-\r
         IntentFilter intentfilter=new IntentFilter();\r
         intentfilter.addAction(ACTION_SMSCMD_Reply);\r
         this.mContext.registerReceiver(this,intentfilter);\r
index 3176b15..d053061 100644 (file)
@@ -57,7 +57,10 @@ public class SleepInfo {
      * @param turnovertime\r
      */\r
     public void append_sleep_check_item(int turnovertime){\r
-\r
+        System.currentTimeMillis();\r
+        if (turnovertime <= DEEP_TURN_LEVEL){\r
+            deepsleep_minutes+=step_for_each_record_in_minutes;\r
+        }\r
         turnovertimesArray.add(turnovertime);\r
     }\r
 \r
index 8ccf170..9e1151c 100644 (file)
@@ -115,6 +115,12 @@ public class protocol_ic {
         BPS4,//提醒设置(时间段)\r
         APHP,//上报心率血压血氧\r
         BPHP,\r
+        APDE,//进出围栏通知\r
+        BPDE,\r
+        APDF,//体温阀值设置\r
+        BPDF,\r
+        APTU,//上传语音图片\r
+        BPTU,\r
         UNKNOWN_CMD,\r
     }\r
 \r
@@ -196,6 +202,12 @@ public class protocol_ic {
         cmdMap.put(CMD_TYPE.BPS4, "BPS4");\r
         cmdMap.put(CMD_TYPE.APHP, "APHP");\r
         cmdMap.put(CMD_TYPE.BPHP, "BPHP");\r
+        cmdMap.put(CMD_TYPE.APDE, "APDE");\r
+        cmdMap.put(CMD_TYPE.BPDE, "BPDE");\r
+        cmdMap.put(CMD_TYPE.APDF, "APDF");\r
+        cmdMap.put(CMD_TYPE.BPDF, "BPDF");\r
+        cmdMap.put(CMD_TYPE.APTU, "APTU");\r
+        cmdMap.put(CMD_TYPE.BPTU, "BPTU");\r
 \r
     }\r
 \r
@@ -1824,6 +1836,115 @@ public class protocol_ic {
 \r
     }\r
 \r
+    public static String APDE(String id){\r
+        return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APS4))\r
+                .append(CMDSPLIT).append(id)\r
+                .append(CMDEND).toString();\r
+    }\r
+\r
+    public void handleBPDE(){\r
+\r
+\r
+\r
+    }\r
+    public static String APDF(String id){\r
+        return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APS4))\r
+                .append(CMDSPLIT).append(id)\r
+                .append(CMDEND).toString();\r
+    }\r
+\r
+    public void handleBPDF(){\r
+\r
+\r
+\r
+    }\r
+    public static String APTU(String id){\r
+        /**\r
+         * 10.设备录音图片(设备上行)(上行协议:APTU,响应:BPTU)\r
+         * 示例:\r
+         * IWAPTU,6654111,080835,1,1,6,1,1024,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#\r
+         * 说明:\r
+         * IW:标识符\r
+         * BPCU : 命令字符\r
+         * 6654111:语音图片文字目标 (同步监护人列表的用户唯一标识ID)<扩展字段目前不需要,可以传空字符>\r
+         * 080835 :指令流水号\r
+         * 1:文件类型\r
+         * 1:内容类型 类型说明如下表\r
+         * 文件类型        内容类型\r
+         * 1 语音——      1.监听语音      *   2.SOS语音      *      3.扩展\r
+         * 2 图片——      1.签到图片      *   2.指令图片      *   3.设备图片      *   4.扩展\r
+         * 6:内容包分包总数\r
+         * 1 :当前包数,第一包为1,第二包为2,。。。。。。同一个语音包的语音时间相同\r
+         * 1024 :语音包长度\r
+         * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:当前音频数据, 每个音频数据包大小为1024字节,最后一包不足1024的取实际字节数\r
+         * 语音包上传规则:\r
+         * 按包次序依次上传,上传后如果没有收到服务器的响应包,则继续上传该语音包。\r
+         * 收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。\r
+         * 如果设备回复确认数据包接收失败状态,则重复发送上一个数据包\r
+         */\r
+        return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APS4))\r
+                .append(CMDSPLIT).append(id)\r
+                .append(CMDEND).toString();\r
+    }\r
+\r
+    /**\r
+     * 主要为久坐设置提醒时长。\r
+     * @param cmd\r
+     * @param connection\r
+     * @param runtime\r
+     */\r
+    public void handleBPTU(String cmd,Connection connection,Runtime runtime){\r
+        //IWBPS4,353456789012345,080835,1|1234567|0900|1100|180, 2|1234567|0900|1100|180, 1|1234567|0900|1100|180#\r
+        //说明:\r
+//        IW:标识符\r
+//        BPS4: 命令字符\r
+//        353456789012345:设备IMEI或者ID\r
+//        080835 :指令流水号\r
+//        1|1234567|0900|1100|180:类型(1久坐,2喝水)|重复周期|开始时间|结束时间|时间间隔(单位秒)\r
+//        重复周期、开始结束时间格式 参考BP85闹钟设置,\r
+//#:结尾标识符\r
+        String[] list=cmd.split(CMDSPLIT);\r
+        if (list.length>=4){\r
+\r
+            String index=list[2];\r
+            String imei=list[1];\r
+            connection.send(genStringMessage("APS4",APS4(index)));\r
+\r
+            String setting1;\r
+            switch(list.length){\r
+                case 10:\r
+                    setting1=list[9];\r
+                    ICLogger.i("set 7th alarm "+setting1);\r
+                case 9:\r
+                    setting1=list[8];\r
+                    ICLogger.i("set 6th alarm "+setting1);\r
+                case 8:\r
+                    setting1=list[7];\r
+                    ICLogger.i("set 5th alarm "+setting1);\r
+                case 7:\r
+                    setting1=list[6];\r
+                    ICLogger.i("set 4th alarm "+setting1);\r
+                case 6:\r
+                    setting1=list[5];\r
+                    ICLogger.i("set 3rd alarm "+setting1);\r
+                case 5:\r
+                    setting1=list[4];\r
+                    ICLogger.i("set 2nt alarm "+setting1);\r
+                case 4:\r
+                    setting1=list[3];\r
+                    ICLogger.i("set 1st alarm "+setting1);\r
+                    break;\r
+            }\r
+\r
+            ICLogger.i("Handle BPX1 IMEI "+imei+",index "+index+", get "+(list.length-3) +" settings");\r
+        }else{\r
+            ICLogger.i("BPX1 format error!");\r
+        }\r
+    }\r
+\r
+\r
+\r
+\r
     public boolean handleCmd(CMD_TYPE type, String cmd) {\r
 \r
         //普通非二进制命令用此函数处理\r
@@ -1973,12 +2094,12 @@ public class protocol_ic {
             case BP89:\r
                 //心率/血压阀值\r
                 handleBP89(cmd,mConnection);\r
-                mConnection.DeliverCMDMessageToSystem("AP89",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("IWAP89",cmd);//通知下面线程状态变化\r
                 break;\r
 \r
             case BPTE: //设置测试体温\r
                 handleBPTE(cmd,mConnection,mRuntime);\r
-                mConnection.DeliverCMDMessageToSystem("APTE",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("IWAPTE",cmd);//通知下面线程状态变化\r
                 break;\r
 \r
             case BPTP:\r
@@ -1992,13 +2113,30 @@ public class protocol_ic {
             case BPX1://设置 心率血压血氧修正值\r
                 handleBPX1(cmd,mConnection,mRuntime);\r
                 ICLogger.i("收到服务器设置 心率血压血氧修正值BPX1");\r
-                mConnection.DeliverCMDMessageToSystem("APX1",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("IWAPX1",cmd);//通知下面线程状态变化\r
                 break;\r
 \r
             case BPS4: //提醒设置(时间段) 主要为久坐设置提醒时长。\r
                 handleBPS4(cmd,mConnection,mRuntime);\r
                 ICLogger.i("收到 提醒设置(时间段)");\r
-                mConnection.DeliverCMDMessageToSystem("APS4",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("IWAPS4",cmd);//通知下面线程状态变化\r
+                break;\r
+\r
+            case BPTU:\r
+                handleBPTU(cmd,mConnection,mRuntime);\r
+                ICLogger.i("服务器 收到 语音图片信息!");\r
+                mConnection.DeliverCMDMessageToSystem("IWAPTU",cmd);//通知下面线程状态变化\r
+                break;\r
+            case BPDE:\r
+                handleBPDE();\r
+                ICLogger.i(" 收到 进出围栏通知!");\r
+                mConnection.DeliverCMDMessageToSystem("IWAPDE",cmd);//通知下面线程状态变化\r
+                break;\r
+\r
+            case BPDF:\r
+                handleBPDF();\r
+                ICLogger.i(" 收到 体温阈值设置!");\r
+                mConnection.DeliverCMDMessageToSystem("IWAPDF",cmd);//通知下面线程状态变化\r
                 break;\r
         }\r
 \r
index 4ded883..fbbf49e 100644 (file)
@@ -1,2 +1,2 @@
-#Mon Jul 20 20:05:15 CST 2020\r
-VERSION_CODE=458\r
+#Thu Jul 23 16:43:39 CST 2020\r
+VERSION_CODE=460\r