completed web msg reply.
authorTrillGates <williamtrillgates@gmail.com>
Fri, 6 Aug 2021 08:38:47 +0000 (16:38 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Fri, 6 Aug 2021 08:38:47 +0000 (16:38 +0800)
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/bean/Runtime.java
app/src/main/java/com/enqualcomm/support/service/WebMsgStateObserver.java
app/src/main/java/com/enqualcomm/support/utils/Util.java
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_ic.java
app/src/main/java/com/ic/protocols/protocol_jiai.java
app/src/main/java/com/ic/protocols/protocol_s123.java
app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java

index cceb814..e3bbd22 100644 (file)
@@ -51,7 +51,6 @@ import com.enqualcomm.support.service.ShutdownFlagObserver;
 import com.enqualcomm.support.service.SignFlagObserver;
 import com.enqualcomm.support.service.SilentManager;
 import com.enqualcomm.support.service.WeTalkMsgObserver;
-import com.enqualcomm.support.service.WebMsgStateObserver;
 import com.enqualcomm.support.service.base.AbstractConnectionService;
 import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;
 import com.enqualcomm.support.utils.APNUtil;
@@ -1020,10 +1019,10 @@ public class CoreService extends Service {
                 true,
                 signFlagObserver);
 
-        WebMsgStateObserver webMsgStateObserver = new WebMsgStateObserver(mHandler, resolver);
-        resolver.registerContentObserver(Uri.parse(SETTINGS + ".web_msg_read_state_flag"),
-                true,
-                webMsgStateObserver);
+//        WebMsgStateObserver webMsgStateObserver = new WebMsgStateObserver(mHandler, resolver);
+//        resolver.registerContentObserver(Uri.parse(SETTINGS + ".web_msg_read_state_flag"),
+//                true,
+//                webMsgStateObserver);
 
         //启动结束设置标志位,让心率和体温检测可以正常执行。
         server_starting = false;
index a7434c0..014b057 100644 (file)
@@ -29,7 +29,7 @@ public class Runtime {
 
     public int temp_test_Cycle_Seconds = 60 * 60;
 
-    public static String PushtxtMsg_srv_index = "";
+    public static String pushTxtMsgSrvIndex = "";
 
     public int SignalStrength;
     //上一次成功心跳时间,供系统重连机制使用。
index 7377e5d..00649d6 100644 (file)
@@ -5,7 +5,6 @@ import android.os.Handler;
 
 import com.enqualcomm.support.service.base.BaseSettingsObserver;
 import com.enqualcomm.support.utils.ICLogger;
-import com.ic.protocols.protocolAPIHelper;
 
 public class WebMsgStateObserver extends BaseSettingsObserver {
 
@@ -19,10 +18,10 @@ public class WebMsgStateObserver extends BaseSettingsObserver {
     @Override
     public void onChange(boolean selfChange) {
         ICLogger.d("on web msg setting change...");
-        mHandler.post(() -> {
-            //查询出设置项
-            String value = getSettingsValueByKey("web_msg_read_state_flag", "");
-            protocolAPIHelper.responseWebSms(value);
-        });
+//        mHandler.post(() -> {
+//            //查询出设置项
+//            String value = getSettingsValueByKey("web_msg_read_state_flag", "");
+//            protocolAPIHelper.responseWebSms(value);
+//        });
     }
 }
index 2d23b19..8aaa077 100644 (file)
@@ -252,7 +252,8 @@ public class Util {
                 //汉字
                 short s = (short) myBuffer[i];
                 String hexS = Integer.toHexString(s);
-                String unicode = "\\u" + hexS;
+//                String unicode = "\\u" + hexS;
+                String unicode = hexS;
                 sb.append(unicode.toLowerCase());
             }
         }
index 797844c..44c1fbd 100644 (file)
@@ -163,7 +163,7 @@ public class protocolAPIHelper {
         }
     }
 
-    public static void responseWebSms(String value) {
+    public static void updateWebMsgState(String value, String type) {
         switch (Config.protocol_no) {
             case Config.PROTOCOL_JIAI:
                 break;
@@ -178,7 +178,7 @@ public class protocolAPIHelper {
             case PROTOCOL_ANAN:
                 break;
             case Config.PROTOCOL_S123:
-                protocols123_handler.responseWebSms(value);
+                protocols123_handler.updateWebMsgState(value, type);
                 break;
             case Config.PROTOCOL_GATOR:
                 break;
index 0508618..82b4bee 100644 (file)
@@ -1280,7 +1280,7 @@ public class protocol_ic {
             String cmdindex = cmdlist[2];
             String txtmsg = cmdlist[3];
             StringBuilder sb = new StringBuilder();
-            Runtime.PushtxtMsg_srv_index = cmdindex;//给回复AP94用
+            Runtime.pushTxtMsgSrvIndex = cmdindex;//给回复AP94用
             sb.append(cmdindex).append(CMDSPLIT).append(TimeUtil.getSystemTimeyyyyMMddHHmmss()).append(CMDSPLIT).append(txtmsg);
             if (Config.custom_name.equals("VitracK")) {
 
@@ -2593,7 +2593,7 @@ public class protocol_ic {
 
         //在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。
         return genStringMessage(cmdMap.get(protocol_ic.CMD_TYPE.AP94), new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_ic.CMD_TYPE.AP94))
-                .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
+                .append(CMDSPLIT).append(Runtime.pushTxtMsgSrvIndex)
                 .append(CMDSPLIT).append("1")
                 .append(CMDEND).toString());
 
index 477246a..ab09b1d 100644 (file)
@@ -1670,14 +1670,14 @@ public class protocol_jiai {
             String vib_time = cmdlist[6];
             ICLogger.i("收到服务器文本 " + txtmsg + " 序号 " + msg_index_no + " , 播放 " + play_time + " 次,震动 " + vib_time + " 次!");
             StringBuilder sb = new StringBuilder();
-            runtime.PushtxtMsg_srv_index = msg_index_no;//给回复AP94用
+            runtime.pushTxtMsgSrvIndex = msg_index_no;//给回复AP94用
             sb.append(cmdindex).append(CMDSPLIT).append(TimeUtil.getSystemTimeyyyyMMddHHmmss()).append(CMDSPLIT).append(txtmsg);
 
             txtmsg = Util.decodeUnicode2Utf8(txtmsg);
             StringMessage msg = AP93(cmdindex);
             //设定当前工作模式及循环频率
             connection.send(msg);
-            runtime.PushtxtMsg_srv_index = msg_index_no;//给回复AP94用
+            runtime.pushTxtMsgSrvIndex = msg_index_no;//给回复AP94用
             ICLogger.i("received Txt Msg " + txtmsg);
             if (!Config.noPushTxtReadReply) {
                 Config.setLastUnReadMessage(runtime.getContextProxy().context, sb.toString()); //保存未读文档
@@ -1710,7 +1710,7 @@ public class protocol_jiai {
 
         //在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。
         return genStringMessage(cmdMap.get(CMD_TYPE.AP94), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP94))
-                .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
+                .append(CMDSPLIT).append(Runtime.pushTxtMsgSrvIndex)
                 .append(CMDSPLIT).append("1")
                 .append(CMDEND).toString());
 
index 85f7ed3..cca697f 100644 (file)
@@ -174,26 +174,10 @@ public class protocol_s123 {
                         .append(CMDEND).toString());
     }
 
-    //确认文字已读或聊天快捷回复(上行协议号:AP94,响应:BP94)
-    public void responseWebSms(String value) {
-        //IWAP94,123456,1,XXXXXXXXXXXXXXXX
-        //以下这部分内容由UI给到数据库再给过来
-        //123456,1,XXXXXXXXXXXXXXXX
-        String[] split = value.split(CMDSPLIT);
-        if (split.length == 3) {
-            //对数据进行编码
-            genStringMessage(cmdMap.get(CMD_TYPE.AP94),
-                    new StringBuilder()
-                            .append(CMDHEADER)
-                            .append(cmdMap.get(CMD_TYPE.AP94))
-                            .append(CMDSPLIT).append(split[0])
-                            .append(CMDSPLIT).append(split[1])
-                            .append(CMDSPLIT).append(Util.utf8ToUnicode(split[2]))
-                            .append(CMDEND)
-                            .toString());
-        } else {
-            ICLogger.d("parse send msg error==> " + value);
-        }
+    public void updateWebMsgState(String value, String type) {
+        ICLogger.d("updateWebMsgState==> " + value + " type==> " + type);
+        StringMessage stringMessage = AP94(value, type);
+        mConnection.send(stringMessage);
     }
 
     public enum CMD_TYPE {
@@ -1616,7 +1600,7 @@ public class protocol_s123 {
             if ("2".equals(type)) {
                 //文本消息
                 StringBuilder sb = new StringBuilder();
-                Runtime.PushtxtMsg_srv_index = cmdIndex;//给回复AP94用
+                Runtime.pushTxtMsgSrvIndex = cmdIndex;//给回复AP94用
                 sb.append(cmdIndex).append(CMDSPLIT).append(TimeUtil.getSystemTimeyyyyMMddHHmmss()).append(CMDSPLIT).append(txtMsg);
                 if (Config.custom_name.equals("VitracK")) {
 
@@ -2986,16 +2970,16 @@ public class protocol_s123 {
      * @param responseText
      * @return
      */
-    public static StringMessage AP94(String responseText) {
+    public static StringMessage AP94(String responseText, String type) {
         if (TextUtils.isEmpty(responseText)) {
             responseText = "";
         }
         //在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。
-        return genStringMessage(cmdMap.get(protocol_s123.CMD_TYPE.AP94),
-                new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_s123.CMD_TYPE.AP94))
-                        .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
-                        .append(CMDSPLIT).append("1")
-                        .append(CMDSPLIT).append(responseText)
+        return genStringMessage(cmdMap.get(CMD_TYPE.AP94),
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP94))
+                        .append(CMDSPLIT).append(Runtime.pushTxtMsgSrvIndex)
+                        .append(CMDSPLIT).append(type)
+                        .append(CMDSPLIT).append(Util.utf8ToUnicode(responseText))
                         .append(CMDEND).toString());
     }
 
@@ -3424,7 +3408,6 @@ public class protocol_s123 {
                 break;
             case BP94:
                 ICLogger.d("服务器收到文字确认/快捷回复");
-                handleBP94();
                 break;
             case BP03: //心跳包
                 ICLogger.i("服务器收到心跳包AP03");
@@ -3825,14 +3808,6 @@ public class protocol_s123 {
         return ret;
     }
 
-    /**
-     * 修改库的状态,更新UI
-     */
-    private void handleBP94() {
-        //UI收到以后,设置成none
-        updateSettingValue("web_msg_read_state_flag", "success");
-    }
-
     /**
      * 修改配置项的值为success,让UI展示Success
      */
index a561523..279a33d 100644 (file)
@@ -14,6 +14,7 @@ import com.enqualcomm.support.ICApplication;
 import com.enqualcomm.support.R;
 import com.enqualcomm.support.provider.ShootTextProvider;
 import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocols.protocolAPIHelper;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -113,10 +114,12 @@ public class WebMsgView {
     }
 
     public void dismiss() {
+        windowManager.removeView(view);
         executorService.shutdown();
         executorService = null;
         sInstance = null;
         contentResolver = null;
+        windowManager = null;
     }
 
 
@@ -130,11 +133,16 @@ public class WebMsgView {
             public void onRead() {
                 //回复消息
                 //显示结果
+                protocolAPIHelper.updateWebMsgState("", "1");
+                dismiss();
             }
 
             @Override
             public void onReply(String replyText) {
+                ICLogger.d("reply text == > " + replyText);
                 //回复消息
+                protocolAPIHelper.updateWebMsgState(replyText, "2");
+                dismiss();
             }
         });
         if (!TextUtils.isEmpty(currentText)) {