From: TrillGates Date: Fri, 27 Aug 2021 06:21:26 +0000 (+0800) Subject: refactor the codes. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=7f1d25b6e17b021a7b1575a518cd999186ebee84;p=protocol_srv.git refactor the codes. --- diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8e6d6193..6d927d1c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,7 +82,7 @@ - + @@ -152,15 +152,7 @@ android:name=".provider.ICContentProvider" android:authorities="com.ic.protocolSrv" android:exported="true" /> - - - - - - - - - + @@ -238,12 +230,11 @@ android:name=".provider.ICNotificationProvider" android:authorities="com.ic.notification" android:exported="true" /> - + - \ No newline at end of file diff --git a/app/src/main/java/com/ic/protocolSrv/Config.java b/app/src/main/java/com/ic/protocolSrv/Config.java index a9796daa..428c6503 100644 --- a/app/src/main/java/com/ic/protocolSrv/Config.java +++ b/app/src/main/java/com/ic/protocolSrv/Config.java @@ -30,6 +30,15 @@ import static com.ic.protocolSrv.bean.ICLocation.NORMAL_MOD; import static com.ic.protocolSrv.bean.Runtime.AlarmType.ALARM_LOWBATTERY; import static com.ic.protocolSrv.utils.Util.getSystemProperties; +/** + * 优先级, + * 0.服务下发的:ip,端口,apn... + * 1.json配置 + * 2.Android.mk配置 + * 3.Config.java默认配置 + * + * 数字越小,优先级越高 + */ public class Config { public static final boolean LOG_TOFILE = true; public static int sw_release_no = -1; @@ -91,7 +100,6 @@ public class Config { //配置脱腕报警是否需要弹出剪断提示 默认开启 public static boolean needBroadcastCutoffAlarm = true; - //add by TrillGates=================start //各种阀值:血压,血氧,心率,体温 //以下值的赋值时机: @@ -783,13 +791,16 @@ public class Config { } + /** + * @param key + * @param value + */ public static void setConfigValue(String key, String value) { ICLogger.d("( " + key + " , " + value + ")"); - try { if (key.trim().equals("AlarmConfig")) { - String[] alarmlist = value.split(","); - for (String al : alarmlist) { + String[] alarmList = value.split(","); + for (String al : alarmList) { try { AlarmConfiglist.put(Runtime.AlarmType.valueOf(al).ordinal(), Boolean.valueOf(value)); } catch (Exception e) { @@ -803,15 +814,7 @@ public class Config { } else if (key.trim().equals("BLEScanProtocol")) { BLEScanProtocol = Integer.valueOf(value); } else if (key.trim().equals("UsePolingCheckWeared")) { - -/* -* - public static String DefaultHttpLogServerUrl = "http://icfota.snicker.com.cn:8089/UploadFile.jsp"; - - public static String DefaultWiFiSSID = "icwifi20210417"; - public static String DefaultWiFiPWD = "87654321"; - public static String DefaultWiFiEncryptType = "psk"; -* */ + //TODO:配置 } } catch (Exception e) { ICLogger.e(e.getMessage(), e); @@ -847,7 +850,8 @@ public class Config { disableWiFiScan = Util.getSystemProperties("persist.sys.disableWiFiLocation", "false").equals("true"); disableWristTemp = Util.getSystemProperties("persist.sys.disableWristTemp", "false").equals("true"); BLEScanProtocol = Util.getSystemPropertiesInt("persist.sys.BLEScanProtocol", 0); - JsonConfigFilePath = Util.getSystemProperties("persist.sys.JsonConfigFilePath", "/system/etc/protocol_config.json"); + JsonConfigFilePath = Util.getSystemProperties("persist.sys.JsonConfigFilePath", + "/system/etc/protocol_config.json"); sendSOSAtOnce = Util.getSystemProperties("persist.sys.sos_at_once", "false").equals("true"); diff --git a/app/src/main/java/com/ic/protocolSrv/utils/DBHelper.java b/app/src/main/java/com/ic/protocolSrv/utils/DBHelper.java index 829f76c5..6a201724 100644 --- a/app/src/main/java/com/ic/protocolSrv/utils/DBHelper.java +++ b/app/src/main/java/com/ic/protocolSrv/utils/DBHelper.java @@ -180,7 +180,7 @@ public class DBHelper { if (contactCount != 0) { ContentValues[] contentList = new ContentValues[contactCount]; for (int i = 0; i < contactCount; ++i) { - Contact contact = (Contact) contactArray.get(i); + Contact contact = contactArray.get(i); ContentValues contentValues = new ContentValues(); contentList[i] = contentValues; contentValues.put("CATEGORY", contact.category); @@ -755,9 +755,6 @@ public class DBHelper { } public void saveContacts(final ArrayList contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video, boolean sos) { - synchronized (this) { - } - try { long currentTime = SystemClock.elapsedRealtime(); if (currentTime - lastUpdateTime > 1000L) { diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index 2fc4d6b6..f78a00ee 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -1378,59 +1378,82 @@ public class protocol_fzd { public void handleSOS(Connection connection, Runtime runtime, String cmd, String data) { ICLogger.d("data is == > " + data); connection.send(SOS()); - //TODO:保存到fzd的联系人里,类型为SOS if (data != null && data.length() > 0) { String[] list = data.split(CMD_SPLIT); ArrayList contactArray = new ArrayList<>(); ContentValues contentValues = new ContentValues(); contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + //删除成员里的数据内容,再进行添加 + Uri memberUri = Uri.parse(ICMembersProvider.MEMBERS); + int delete = runtime.getContextProxy().getResolver().delete(memberUri, + ICDatabaseHelper.fType + "=?", new String[]{String.valueOf(ICDatabaseHelper.MemberType.SOS)}); + ICLogger.d("sos delete ==> " + delete); if (list.length == 1) { if (regexUtil.isMobileNumber(list[0]) || regexUtil.isPhoneNumber(list[0])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos1", list[0])); ICLogger.i("find SOS1 number " + list[0]); contentValues.put(ICDatabaseHelper.fUserName, "sos1"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[0]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); } else if (list.length == 2) { if (regexUtil.isMobileNumber(list[0]) || regexUtil.isPhoneNumber(list[0])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos1", list[0])); ICLogger.i("find SOS1 number " + list[0]); contentValues.put(ICDatabaseHelper.fUserName, "sos1"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[0]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); if (regexUtil.isMobileNumber(list[1]) || regexUtil.isPhoneNumber(list[1])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos2", list[1])); ICLogger.i("find SOS2 number " + list[1]); contentValues.put(ICDatabaseHelper.fUserName, "sos2"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[1]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); } else if (list.length == 3) { if (regexUtil.isMobileNumber(list[0]) || regexUtil.isPhoneNumber(list[0])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos1", list[0])); ICLogger.i("find SOS1 number " + list[0]); contentValues.put(ICDatabaseHelper.fUserName, "sos1"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[0]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); if (regexUtil.isMobileNumber(list[1]) || regexUtil.isPhoneNumber(list[1])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos2", list[1])); ICLogger.i("find SOS2 number " + list[1]); contentValues.put(ICDatabaseHelper.fUserName, "sos2"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[1]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); if (regexUtil.isMobileNumber(list[2]) || regexUtil.isPhoneNumber(list[2])) { contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos3", list[2])); ICLogger.i("find SOS3 number " + list[2]); contentValues.put(ICDatabaseHelper.fUserName, "sos3"); contentValues.put(ICDatabaseHelper.fPhoneNum, list[2]); - //runtime.getContextProxy().getResolver().insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues); + contentValues.put(ICDatabaseHelper.fType, ICDatabaseHelper.MemberType.SOS); + runtime.getContextProxy().getResolver() + .insert(memberUri, contentValues); } + contentValues.clear(); } - runtime.getDbHelper().saveContacts(contactArray, false, false, false, false, false, true); + runtime.getDbHelper().saveContacts(contactArray, + false, false, false, false, false, true); } @@ -2216,6 +2239,7 @@ public class protocol_fzd { "W" + weekValue, "CON", "1".equals(state) ? "ON" : "OFF", "闹铃")); } mRuntime.getDbHelper().saveAlarm(alarmList); + //写入到官方的闹钟列表里 } } diff --git a/app/src/main/java/com/ic/protocols/protocol_s123.java b/app/src/main/java/com/ic/protocols/protocol_s123.java index 54924901..7f68dffc 100644 --- a/app/src/main/java/com/ic/protocols/protocol_s123.java +++ b/app/src/main/java/com/ic/protocols/protocol_s123.java @@ -175,6 +175,10 @@ public class protocol_s123 { } public void updateWebMsgState(String value, String type) { + if (TextUtils.isEmpty(value)) { + //如果没有回复消息,就会当成了已读处理 + type = "1"; + } ICLogger.d("updateWebMsgState==> " + value + " type==> " + type); StringMessage stringMessage = AP94(value, type); mConnection.send(stringMessage); diff --git a/app/src/main/java/com/ic/view/webmsgresponse/WebMessageAdapter.java b/app/src/main/java/com/ic/view/webmsgresponse/WebMessageAdapter.java index b95398b9..b8791d02 100644 --- a/app/src/main/java/com/ic/view/webmsgresponse/WebMessageAdapter.java +++ b/app/src/main/java/com/ic/view/webmsgresponse/WebMessageAdapter.java @@ -67,6 +67,7 @@ public class WebMessageAdapter extends PagerAdapter { } }); View sendBtn = item.findViewById(R.id.send); + sendBtn.setEnabled(false); sendBtn.setOnClickListener(v -> { if (mListener != null && shootItemAdapter != null) { mListener.onReply(shootItemAdapter.getCurrentItemText());