From: snickersun Date: Mon, 20 Jul 2020 12:09:03 +0000 (+0800) Subject: release V455 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=9b4ee03258d1ea33e55feedf9b574fc00c4f9ffb;p=protocol_srv.git release V455 1、添加Fota升级服务器host2,SMS短信更改功能 2、心跳时间6分钟 release V458 3、添加脱腕 震动 4、心跳时间改回5分钟。 --- diff --git a/app/release/ICSer_V453_2007171308_release.apk b/app/release/ICSer_V458_2007202005_release.apk similarity index 79% rename from app/release/ICSer_V453_2007171308_release.apk rename to app/release/ICSer_V458_2007202005_release.apk index aa389a8f..3ffff84b 100644 Binary files a/app/release/ICSer_V453_2007171308_release.apk and b/app/release/ICSer_V458_2007202005_release.apk differ diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index 6548d13c..d1d2ddad 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -89,8 +89,10 @@ public class Config { final static String KeyProtocolServerIP="ProtocolServerIP"; final static String KeyProtocolServerHOST="ProtocolServerHOST"; final static String KeyProtocolServerPort="ProtoclServerPort";; - final static String KeyFotaServerIP="FotaServerIP"; - final static String KeyFotaServerPort="FotaServerPort"; + final static String KeyLogServerIP="LogServerIP"; + final static String KeyLogServerPort="LogServerPort"; + final static String KeyFotaServerUrl="FotaServerUrl"; + final static String KeyPpgTestCycle="PPGTestCycle"; final static String KeyLocationCycle="LocationCycle"; @@ -178,7 +180,13 @@ public class Config { SharPreferenceUtil.setPrefString(context,KeyWiFiEncyptType,type); } + public static String getFotaServerUrl(Context context){ + return SharPreferenceUtil.getPrefString(context,KeyFotaServerUrl,""); + } + public static void setFotaServerUrl(Context context,String url){ + SharPreferenceUtil.setPrefString(context,KeyFotaServerUrl,url); + } public static String getFtpUser(Context context){ return SharPreferenceUtil.getPrefString(context,KeyLogFtpUser,DefaultLogFtpUser); } @@ -286,18 +294,18 @@ public class Config { public static int getH88InitFlag(Context context){ return SharPreferenceUtil.getPrefInt(context,"H88InitFlag",0); } - public static void setFotaServerIP(Context context,String serverIP,int serverPort){ + public static void setLogServerIP(Context context,String serverIP,int serverPort){ - SharPreferenceUtil.setPrefString(context,KeyFotaServerIP,serverIP); - SharPreferenceUtil.setPrefInt(context,KeyFotaServerPort,serverPort); + SharPreferenceUtil.setPrefString(context,KeyLogServerIP,serverIP); + SharPreferenceUtil.setPrefInt(context,KeyLogServerPort,serverPort); } - public static String getFotaServerIP(Context context){ - return SharPreferenceUtil.getPrefString(context,KeyFotaServerIP,"icfota.snicker.com.cn"); + public static String getLogServerIP(Context context){ + return SharPreferenceUtil.getPrefString(context,KeyLogServerIP,"http://icfota.snicker.com.cn:8089/UploadFile.jsp"); } - public static int getFotaServerPort(Context context){ - return SharPreferenceUtil.getPrefInt(context,KeyFotaServerPort,8089); + public static int getLogServerPort(Context context){ + return SharPreferenceUtil.getPrefInt(context,KeyLogServerPort,8089); } diff --git a/app/src/main/java/com/enqualcomm/support/Constants.java b/app/src/main/java/com/enqualcomm/support/Constants.java index 94669802..fd924adc 100644 --- a/app/src/main/java/com/enqualcomm/support/Constants.java +++ b/app/src/main/java/com/enqualcomm/support/Constants.java @@ -316,5 +316,8 @@ public interface Constants { public static String KEY_BATTERY_EVENT="eventID"; //integer eventID =1 battery low, eventID =0 解除 + + public static String PersistFotaServer2Url="persist.sys.ota.host2"; + } diff --git a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java index 654f5c23..ab4ceb59 100644 --- a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java +++ b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java @@ -808,7 +808,41 @@ public class ICSmsManager extends BroadcastReceiver{ locationClient.setLocationResponse(replayLocation); locationClient.triggerLocationProcess(); } + }else if (sms.startsWith(ENCRYPED_HEADER+"#setLogSrv#=")&& sms.endsWith("#")) { + String tmp[] = sms.split("="); + if (tmp.length == 2) { + String strtmp=tmp[1].replace("#",""); + + if (strtmp.contains("/")){ + /* #setLogSrv#=http://icfota.snicker.com.cn:8089/UploadFile.jsp*/ + Config.setLogServerIP(mContext,strtmp,8089); + sendSMS(phonenumber, "set setLogSrv to "+strtmp+"!"); + }else { + /* #setLogSrv#=icfota.snicker.com.cn:8089 */ + String[] ipstr = strtmp.split(":"); + if (ipstr.length == 2) { + String ip = ipstr[0]; + int port = Integer.valueOf(ipstr[1].replace("#", "")); + Config.setLogServerIP(mContext,ip,port); + sendSMS(phonenumber, "set setLogSrv to "+strtmp+"!"); + } else { + sendSMS(phonenumber, " setLogSrv cmd Format error!"); + } + } + } else { + sendSMS(phonenumber, " setLogSrv cmd Format error!"); + } + }else if (sms.startsWith(ENCRYPED_HEADER+"#setFotaSrv#=")&& sms.endsWith("#")) { + String tmp[] = sms.split("="); + if (tmp.length == 2) { + String strtmp=tmp[1].replace("#",""); + Config.setFotaServerUrl(mContext,strtmp); + Util.setSystemProperties(Constants.PersistFotaServer2Url,strtmp); + sendSMS(phonenumber, "set setFotaSrv2 to "+strtmp+"!"); + } else { + sendSMS(phonenumber, " setFotaSrv cmd Format error!"); + } } else if (sms.equals(ENCRYPED_HEADER+"#FotaUpdate#")) { cell_number_to_reply=phonenumber; diff --git a/app/src/main/java/com/enqualcomm/support/bean/SleepInfo.java b/app/src/main/java/com/enqualcomm/support/bean/SleepInfo.java new file mode 100644 index 00000000..3176b15d --- /dev/null +++ b/app/src/main/java/com/enqualcomm/support/bean/SleepInfo.java @@ -0,0 +1,75 @@ +package com.enqualcomm.support.bean; + +import java.util.ArrayList; +import java.util.Date; + +public class SleepInfo { + private Date currentDate; + private Date sleep_start; + private Date sleep_end; + private int deepsleep_minutes; + private int lightsleep_minutes; + private ArrayList turnovertimesArray ; + + private int DEEP_TURN_LEVEL=0; + private int LIGHT_TURN_LEVEL=25; + + private int step_for_each_record_in_minutes; + + public Date getCurrentDate() + { + return currentDate; + } + public Date getSleep_start() + { + return sleep_start; + } + public Date getSleep_end() + { + return sleep_end; + } + + /*** + *根据参数创建睡眠检测记录, + * @param datevalue + *当前测试的 日期 + * @param sleepstart + * 系统设置的 睡眠开始监测时间 例如晚上9点开始 + * @param sleepend + * 系统设置的 睡眠停止监测时间 例如第二天早9点 + * @param step_in_minutes + * 系统当前的 心跳间隔时间,单位分钟 + */ + public SleepInfo(Date datevalue , Date sleepstart,Date sleepend,int step_in_minutes){ + currentDate=datevalue; + sleep_start=sleepstart; + sleep_end=sleepend; + turnovertimesArray=new ArrayList<>(); + step_for_each_record_in_minutes=step_in_minutes; + } + + /*** + * 每次加入的turnovertime 是一个计量周期(心跳周期)内翻滚的次数(此处暂时用计步数据进行代替) + * 翻滚次数小于最低阈值DEEP_TURN_LEVEL 认为是深度睡眠 + * 翻滚次数在最低阈值DEEP_TURN_LEVEL 和最高阈值 LIGHT_TURN_LEVEL 之间认为是浅度睡眠, + * 翻滚次数大于最高阈值认为没有睡眠。 + * + * @param turnovertime + */ + public void append_sleep_check_item(int turnovertime){ + + turnovertimesArray.add(turnovertime); + } + + + public int getDeepsleep_minutes(){ + return deepsleep_minutes; + } + + public int getLightsleep_minutes(){ + return lightsleep_minutes; + } + + + +} diff --git a/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java b/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java index 9f4a5bbe..af2d4920 100644 --- a/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java +++ b/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java @@ -18,6 +18,7 @@ import com.enqualcomm.support.service.base.AbstractInvokeHandlerService; import com.enqualcomm.support.utils.Connection; import com.enqualcomm.support.utils.ICLogger; +import com.enqualcomm.support.utils.VibrateUtil; import com.ic.protocols.protocolAPIHelper; import static com.enqualcomm.support.Constants.ACTION_ANTI_OFF; @@ -99,6 +100,7 @@ public class AntiMonitorService extends AbstractInvokeHandlerService { //脱腕 if(Config.needBroadcastAntiAlarm) { play_notify(); + VibrateUtil.getInstance(mContext).VibrateOnOnce(true); screen_on(); try { sleep(1000); diff --git a/app/src/main/java/com/enqualcomm/support/service/SleepManager.java b/app/src/main/java/com/enqualcomm/support/service/SleepManager.java new file mode 100644 index 00000000..9947d8b3 --- /dev/null +++ b/app/src/main/java/com/enqualcomm/support/service/SleepManager.java @@ -0,0 +1,4 @@ +package com.enqualcomm.support.service; + +public class SleepManager { +} diff --git a/app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java b/app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java index 09247f5f..8d1114d8 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java @@ -42,12 +42,19 @@ public class ICHttpUtil { compressSuccess=false; } if (compressSuccess==false) return false; - String server= Config.getFotaServerIP(runtime.getContextProxy().context); - int port= Config.getFotaServerPort(runtime.getContextProxy().context); + String server= Config.getLogServerIP(runtime.getContextProxy().context); + int port= Config.getLogServerPort(runtime.getContextProxy().context); String product=DeviceInfoUtil.getModule(); String pkgver=DeviceInfoUtil.getSWVersionDisplayName(); String imei=runtime.IMEI(); + if (server.startsWith("http://")){ + server=server.replace("http://",""); + } + //为了兼容之前的只设置ip和端口的设置方式 String actionUrl = "http://"+server+":"+port + "/UploadFile.jsp?product=" + product + "&pkgver="+ pkgver + "&imei="+ imei+"&logtime="+logtime; + if (server.contains("/")){ //此时说明不是ip地址,而是个url + actionUrl= "http://"+server+"?product=" + product + "&pkgver="+ pkgver + "&imei="+ imei+"&logtime="+logtime; + } ICLogger.i("url="+actionUrl+"\nfile="+zipfile); return upLoadFile(actionUrl, new File(zipfile)); 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 9cabfb96..373a5801 100644 --- a/app/src/main/java/com/ic/protocols/protocol_jiai.java +++ b/app/src/main/java/com/ic/protocols/protocol_jiai.java @@ -349,13 +349,25 @@ public class protocol_jiai { public static String AP10(Runtime ds){ /** - * IWAP10080524A2232.9806N11404.9355E000.1061830323.8706000908000502, + * IWAP10080524A2232.9806N11404.9355E000.1 061830 323.87 060 009 080 0 05 02, * 460,0,9520,3671, * 00,zh-cn,00, * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05/06:跌倒报警)) * zh-cn:设备语言 * 00:第一个0:是否需要回复地址信息,0:不回复,1回复. * 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# + * IW标识符 + * AP10:命令字 + * 080524: 2008 å¹´05 月24 + * A:“A”表示数据有效,”V”无效,如为V则取LBS数据 + * 2232.9806N11404.9355E000.1: 北纬22度32.9806分,东经114度04.9355分,速度为000.1 km/h,如经纬度无效,可默认全为0,如0000.0000N00000.0000E + * 061830: 格林尼治时间06 点18 分30 秒 + * 323.87:方向角323.87° + * 06000908000102:060为GSM信号,009为参与定位的卫星数,080为电池电量,0,保留位,01为设防状态,02为工作模式 ,(设防,工作模式如果为00,则代表无或未设置) + * 460,0,9520,3671 : LBS基站数据,MCC国家码,460为中国,0:MNC,0为移动,9520:LAC,十进制,3671,CID,十进制 + * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警,07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低,14:久坐提醒,15:非法解锁(剪断报警),16:锁定提醒(佩戴提醒),17:体温过高,18体温过低) + * zh-cn:设备语言 + * 00:第一个0:是否需要回复地址信息,0:不回复,1回复. */ return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP10)).append(TimeUtil.getShortDate()) .append(ds.getGPSData()).append(TimeUtil.getShortTime()).append(ds.getGPSHeading()).append(String.format("%03d",abs(ds.getSignalStrength()))) diff --git a/app/version_code.properties b/app/version_code.properties index 490f5997..4ded883b 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Fri Jul 17 13:08:38 CST 2020 -VERSION_CODE=453 +#Mon Jul 20 20:05:15 CST 2020 +VERSION_CODE=458