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;
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;
public int temp_test_Cycle_Seconds = 60 * 60;
- public static String PushtxtMsg_srv_index = "";
+ public static String pushTxtMsgSrvIndex = "";
public int SignalStrength;
//上一次成功心跳时间,供系统重连机制使用。
import com.enqualcomm.support.service.base.BaseSettingsObserver;
import com.enqualcomm.support.utils.ICLogger;
-import com.ic.protocols.protocolAPIHelper;
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);
+// });
}
}
//汉字
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());
}
}
}
}
- public static void responseWebSms(String value) {
+ public static void updateWebMsgState(String value, String type) {
switch (Config.protocol_no) {
case Config.PROTOCOL_JIAI:
break;
case PROTOCOL_ANAN:
break;
case Config.PROTOCOL_S123:
- protocols123_handler.responseWebSms(value);
+ protocols123_handler.updateWebMsgState(value, type);
break;
case Config.PROTOCOL_GATOR:
break;
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")) {
//在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());
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()); //保存未读文档
//在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());
.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 {
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")) {
* @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());
}
break;
case BP94:
ICLogger.d("服务器收到文字确认/快捷回复");
- handleBP94();
break;
case BP03: //心跳包
ICLogger.i("服务器收到心跳包AP03");
return ret;
}
- /**
- * 修改库的状态,更新UI
- */
- private void handleBP94() {
- //UI收到以后,设置成none
- updateSettingValue("web_msg_read_state_flag", "success");
- }
-
/**
* 修改配置项的值为success,让UI展示Success
*/
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;
}
public void dismiss() {
+ windowManager.removeView(view);
executorService.shutdown();
executorService = null;
sInstance = null;
contentResolver = null;
+ windowManager = null;
}
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)) {