<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
- <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
android:name=".provider.ICContentProvider"
android:authorities="com.ic.protocolSrv"
android:exported="true" />
- <!-- <receiver-->
- <!-- android:name=".ICSmsManager"-->
- <!-- android:exported="true">-->
- <!-- <intent-filter>-->
- <!-- <action android:name="android.provider.Telephony.SMS_RECEIVED" />-->
- <!-- <action android:name="com.ic.protocolSrv.SMSCMD" />-->
- <!-- <action android:name="com.ic.action.internaltest" />-->
- <!-- </intent-filter>-->
- <!-- </receiver>-->
+
<receiver
android:name=".BootCompleteReceiver"
android:exported="true">
android:name=".provider.ICNotificationProvider"
android:authorities="com.ic.notification"
android:exported="true" />
-
+
<provider
android:name=".provider.ShootTextProvider"
android:authorities="com.ic.shoot"
android:exported="true" />
</application>
-
</manifest>
\ No newline at end of file
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;
//配置脱腕报警是否需要弹出剪断提示 默认开启
public static boolean needBroadcastCutoffAlarm = true;
-
//add by TrillGates=================start
//各种阀值:血压,血氧,心率,体温
//以下值的赋值时机:
}
+ /**
+ * @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) {
} 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);
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");
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<Contact> 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);
}
"W" + weekValue, "CON", "1".equals(state) ? "ON" : "OFF", "闹铃"));
}
mRuntime.getDbHelper().saveAlarm(alarmList);
+ //写入到官方的闹钟列表里
}
}