From: TrillGates Date: Sun, 25 Apr 2021 07:37:29 +0000 (+0800) Subject: completed ap01 and ap00 and apht of anan protocol. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=8cfe9ae28cc9b4352c1fa8ce8429e2dd298196ac;p=protocol_srv.git completed ap01 and ap00 and apht of anan protocol. --- diff --git a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java index be072473..3d806422 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -52,6 +52,9 @@ public class Runtime { private String cid = ""; + private String iccid = ""; + + private ContextProxy contextProxy; private String currentCellInfo; @@ -135,6 +138,13 @@ public class Runtime { return ppgTestCycle; } + public String getIccid() { + return iccid; + } + + public void setIccid(String iccid) { + this.iccid = iccid; + } public boolean check_stat_do_ppg_test() { if (debugflag || (!Config.noPPGSensor //有心率 @@ -948,6 +958,11 @@ public class Runtime { ICLogger.i("imei:" + imei + ",cid:" + cid); } + public String getImsi() { + return this.imsi; + } + + public void setImsi(String paramString) { this.imsi = paramString; } diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 14e9c079..db706577 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -277,6 +277,9 @@ public class protocolAPIHelper { case Config.PROTOCOL_MQTT: ret = protocol_mqtt.BREQ(runtime); break; + case PROTOCOL_ANAN: + ret = protocol_anan.AP00(runtime); + break; } return ret; } @@ -323,6 +326,9 @@ public class protocolAPIHelper { case Config.PROTOCOL_MQTT: ret = protocol_mqtt.UD(runtime); break; + case PROTOCOL_ANAN: + ret = protocol_anan.AP01(runtime); + break; } return ret; } @@ -403,11 +409,14 @@ public class protocolAPIHelper { case Config.PROTOCOL_MQTT: ret = null; break; + case PROTOCOL_ANAN: + ret = protocol_anan.APHT(runtime); + break; } return ret; } - public static StringMessage getPPG_ECG_MSG(int ppg, int bph, int bpl) { + public static StringMessage getPPG_ECG_MSG(Runtime runtime, int ppg, int bph, int bpl) { if (is_protocol_not_Initialled()) return null; StringMessage ret = null; switch (Config.protocol_no) { @@ -426,6 +435,9 @@ public class protocolAPIHelper { case Config.PROTOCOL_MQTT: ret = null; break; + case PROTOCOL_ANAN: + ret = protocol_anan.APHT(runtime); + break; } return ret; } diff --git a/app/src/main/java/com/ic/protocols/protocol_anan.java b/app/src/main/java/com/ic/protocols/protocol_anan.java index 4120da4e..ece0aab4 100644 --- a/app/src/main/java/com/ic/protocols/protocol_anan.java +++ b/app/src/main/java/com/ic/protocols/protocol_anan.java @@ -1,26 +1,39 @@ package com.ic.protocols; +import android.annotation.SuppressLint; +import android.content.Context; +import android.telephony.TelephonyManager; + import com.enqualcomm.support.bean.Runtime; +import com.enqualcomm.support.bean.StringMessage; import com.enqualcomm.support.utils.Connection; import com.enqualcomm.support.utils.ICLogger; +import com.enqualcomm.support.utils.TimeUtil; import java.util.HashMap; +import static java.lang.Math.abs; + /** * 安安康养的协议 * 测试服务器域名:pay.yfanan.com:40009 * 测试服务器IP地址:121.43.158.167:40009 */ +@SuppressLint("MissingPermission") public class protocol_anan { + private static final String CMDEND = "#"; + private static final String CMDHEADER = "IW"; public static int defaultServerPort = 40009; public static String defaultServerIp = "pay.yfanan.com"; private final Connection mConnection; private final Runtime mRuntime; + private static final String CMDSPLIT = ","; public protocol_anan(Connection connect, Runtime runtime) { mConnection = connect; mRuntime = runtime; + getPhoneStatus(); } @@ -152,6 +165,93 @@ public class protocol_anan { } + /*登录*/ + public static StringMessage AP00(Runtime runTime) { + //示例数据:IWAP00102002020001871,898600A7189443197156,9460077731997156# + return genStringMessage(cmdMap.get(CMD_TYPE.AP00), + new StringBuffer(CMDHEADER).append( + cmdMap.get(CMD_TYPE.AP00) + ).append(runTime.IMEI()) + .append(runTime.getIccid()) + .append(runTime.getImsi()) + .append(CMDEND).toString()); + } + + /*LBS+GPS混合定位*/ + public static StringMessage AP01(Runtime ds) { + //示例数据:IWAP01080524A2232.9806N11404.9355E000.1061830323.8706000908000102, + // 460,0,9520,3671, + // Home|74-DE-2B-44-88-8C|97& Home1|74-DE-2B-44-88-8C|97&Home2|74-DE-2B-44-88-8C|97& Home3|74-DE-2B-44-88-8C|97# +// IWAP01191230A2232.9807N11404.9355E000.1161320000.0006000910000000,460,00,9520,3671,# + return genStringMessage(cmdMap.get(CMD_TYPE.AP01), + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP01)) + .append(TimeUtil.getShortDate()) + .append(ds.getGPSData()) + .append(TimeUtil.getShortTime()) + .append(ds.getGPSHeading()) + .append(String.format("%03d", abs(ds.getSignalStrength()))) + .append(ds.getGPSLocationStarNums()) + .append(ds.getBattery()).append("0") + .append(ds.getProtection()) + .append(ds.getWorkModeStr()).append(CMDSPLIT) + .append(ds.getLBSData()).append(CMDSPLIT) + .append(ds.getWifiInfo()).append(CMDEND).toString()); + } + + + public static StringMessage APHT(Runtime runtime) { + //心率,收缩压,舒张压,腕部温度,环境温度,采集点编号 + //IWAPHT,60,130,85,34.6,26.3,0# + return genStringMessage(cmdMap.get(CMD_TYPE.APHT), + new StringBuffer(CMDHEADER).append( + cmdMap.get(CMD_TYPE.AP00) + ).append(CMDSPLIT) + .append(runtime.getHRS().getPPG()/*心率*/) + .append(CMDSPLIT) + .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()); + } + + public String getPhoneStatus() { + TelephonyManager tm = (TelephonyManager) mRuntime + .getContextProxy().context.getSystemService(Context.TELEPHONY_SERVICE); + String str = ""; + //noinspection ConstantConditions + str += "DeviceId(IMEI) = " + tm.getDeviceId() + "\n"; + str += "DeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion() + "\n"; + str += "Line1Number = " + tm.getLine1Number() + "\n"; + str += "NetworkCountryIso = " + tm.getNetworkCountryIso() + "\n"; + str += "NetworkOperator = " + tm.getNetworkOperator() + "\n"; + str += "NetworkOperatorName = " + tm.getNetworkOperatorName() + "\n"; + str += "NetworkType = " + tm.getNetworkType() + "\n"; + str += "PhoneType = " + tm.getPhoneType() + "\n"; + str += "SimCountryIso = " + tm.getSimCountryIso() + "\n"; + str += "SimOperator = " + tm.getSimOperator() + "\n"; + str += "SimOperatorName = " + tm.getSimOperatorName() + "\n"; + str += "SimSerialNumber = " + tm.getSimSerialNumber() + "\n"; + mRuntime.setIccid(tm.getSimSerialNumber()); + str += "SimState = " + tm.getSimState() + "\n"; + str += "SubscriberId(IMSI) = " + tm.getSubscriberId() + "\n"; + mRuntime.setImsi(tm.getSubscriberId()); + str += "VoiceMailNumber = " + tm.getVoiceMailNumber(); + return str; + } + + public static StringMessage genStringMessage(String cmdName, String msg) { + StringMessage sm = new StringMessage(new String[]{cmdName, msg}); + sm.refresh(msg); + sm.setDate(TimeUtil.getSystemDateYYMMDD(), TimeUtil.getSystemTimeHHmmss()); + return sm; + } + //指令解析 public void parseCmd(String cmd_type, byte[] bytes) { diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index 80aa854d..c58f4155 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -185,7 +185,7 @@ public class protocol_ic { UNKNOWN_CMD, } - private static HashMap cmdMap = null; + private static HashMap cmdMap; static { cmdMap = new HashMap(); @@ -460,7 +460,11 @@ public class protocol_ic { /*登录*/ public static StringMessage AP00(Runtime ds) { //示例数据:IWAP00867155030001063# - return genStringMessage(cmdMap.get(CMD_TYPE.AP00), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP00)).append(ds.IMEI()).append(CMDEND).toString()); + return genStringMessage(cmdMap.get(CMD_TYPE.AP00), + new StringBuffer(CMDHEADER).append( + cmdMap.get(CMD_TYPE.AP00) + ).append(ds.IMEI()).append( + CMDEND).toString()); } //处理 登录 BP00 @@ -1277,8 +1281,8 @@ public class protocol_ic { sb.append(cmdindex).append(CMDSPLIT).append(TimeUtil.getSystemTimeyyyyMMddHHmmss()).append(CMDSPLIT).append(txtmsg); if (Config.custom_name.equals("VitracK")) { - } else if (Util.getSystemProperties("persist.sys.pushtxt_encode","gb2312").equals("utf-8")) { - // txtmsg = Util.decodeUnicode2Utf8(txtmsg); + } else if (Util.getSystemProperties("persist.sys.pushtxt_encode", "gb2312").equals("utf-8")) { + // txtmsg = Util.decodeUnicode2Utf8(txtmsg); // txtmsg = Util.UrlGB2312ToUTF8(txtmsg); txtmsg = Util.UrlUTF8ToStrUTF8(txtmsg); } else { @@ -3164,7 +3168,6 @@ public class protocol_ic { handleBPTE(cmd, mConnection, mRuntime); mConnection.DeliverCMDMessageToSystem("APTE", cmd);//通知下面线程状态变化 break; - case BPTP: handleBPTP(); mConnection.DeliverCMDMessageToSystem("APTP", cmd);//通知下面线程状态变化 diff --git a/app/src/main/java/com/ic/protocols/protocol_jiai.java b/app/src/main/java/com/ic/protocols/protocol_jiai.java index a2f8ca51..7a38f925 100644 --- a/app/src/main/java/com/ic/protocols/protocol_jiai.java +++ b/app/src/main/java/com/ic/protocols/protocol_jiai.java @@ -1163,7 +1163,8 @@ public class protocol_jiai { */ public static StringMessage AP50(Runtime ds) { //示例数据:IWAP50,36.7,90# - return genStringMessage(cmdMap.get(CMD_TYPE.AP50), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP50)) + return genStringMessage(cmdMap.get(CMD_TYPE.AP50), + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP50)) .append(CMDSPLIT).append(ds.tempInfo.currentBodyTemp) .append(CMDSPLIT).append("100") .append(CMDEND).toString());