From: TrillGates Date: Wed, 21 Jul 2021 08:13:43 +0000 (+0800) Subject: add sos sms in protocol s123. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=51571f81b5b37b32158faeddaa6117b4b85325fa;p=protocol_srv.git add sos sms in protocol s123. --- diff --git a/app/release/ICSer_V894_2107192045_release.apk b/app/release/ICSer_V895_2107201512_release.apk similarity index 76% rename from app/release/ICSer_V894_2107192045_release.apk rename to app/release/ICSer_V895_2107201512_release.apk index 105bb90e..6585ec34 100644 Binary files a/app/release/ICSer_V894_2107192045_release.apk and b/app/release/ICSer_V895_2107201512_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 64336919..657b747f 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":894,"versionName":"2107192045","enabled":true,"outputFile":"ICSer_V894_2107192045_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V894_2107192045_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":895,"versionName":"2107201512","enabled":true,"outputFile":"ICSer_V895_2107201512_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V895_2107201512_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 06f763de..ff9e0c49 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -34,6 +34,7 @@ import com.enqualcomm.support.bean.SleepInfo; import com.enqualcomm.support.bean.SleepRecord; import com.enqualcomm.support.bean.StringMessage; import com.enqualcomm.support.bean.heartRateStatus; +import com.enqualcomm.support.provider.ICContentProvider; import com.enqualcomm.support.provider.ICDatabaseHelper; import com.enqualcomm.support.provider.WarningItemProvider; import com.enqualcomm.support.provider.WeTalkMessageProvider; @@ -78,6 +79,7 @@ import com.ic.s123.IS123WeatherCallback; import com.ic.s123.IS123WeatherService; import java.lang.ref.WeakReference; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -85,6 +87,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import chestnut.ui.Toastc; +import chestnut.utils.PhoneUtils; import static android.app.PendingIntent.FLAG_UPDATE_CURRENT; import static com.enqualcomm.support.Constants.ACTION_ALARM_ADD_DATAPOINTS; @@ -245,17 +248,28 @@ public class CoreService extends Service { setHeartRateDetectAlarm(1); } //add by TrillGates=====start - //S123的项目需要加警告信息 - //保存一份到警告信息中 - ContentValues warningMsgValues = new ContentValues(); - //设置数据 - warningMsgValues.put(ICDatabaseHelper.warning_msg_type, Constants.WARNING_MSG_TYPE_SOS); - warningMsgValues.put(ICDatabaseHelper.warning_msg_title, - runtime.getContextProxy().context.getString(R.string.sos_warning_msg_text)); - warningMsgValues.put(ICDatabaseHelper.warning_msg_has_read, 1); - warningMsgValues.put(ICDatabaseHelper.warning_msg_create_time, System.currentTimeMillis()); - runtime.getContextProxy().getResolver().insert(Uri.parse(WarningItemProvider.WARNING_MSG), - warningMsgValues); + if (Config.protocol_no == Config.PROTOCOL_S123) { + //S123的项目需要加警告信息 + //切换到子线程中操作 + mHandler.post(() -> { + //1.保存一份到警告信息中 + ContentValues warningMsgValues = new ContentValues(); + //设置数据 + warningMsgValues.put(ICDatabaseHelper.warning_msg_type, Constants.WARNING_MSG_TYPE_SOS); + warningMsgValues.put(ICDatabaseHelper.warning_msg_title, + runtime.getContextProxy().context.getString(R.string.sos_warning_msg_text)); + warningMsgValues.put(ICDatabaseHelper.warning_msg_has_read, 1); + warningMsgValues.put(ICDatabaseHelper.warning_msg_create_time, System.currentTimeMillis()); + ContentResolver resolver = runtime.getContextProxy().getResolver(); + resolver.insert(Uri.parse(WarningItemProvider.WARNING_MSG), + warningMsgValues); + //2.读取设置项,判断只是拨打电话,或者只是发送短信,又或者发送短信和拨打电话 + //拨打电话走流程 + //只要判断是否需要发短信即可 + ICLogger.d("start check need SOS SMS..."); + checkSendSMS(resolver); + }); + } //add by TrillGates=====end runtime.setAlarmType(Runtime.AlarmType.ALARM_SOS); //trigger AP10 报警定位 @@ -284,6 +298,62 @@ public class CoreService extends Service { } }; + + /** + * add by TrillGates. + * S123的机器,会根据设置项来判断,SOS的时候是否要发送短信 + * + * @param resolver + */ + private void checkSendSMS(ContentResolver resolver) { + Cursor query = resolver.query(Uri.parse(SETTINGS), new String[]{"s_value"}, "s_key=?", + new String[]{"sos_notify_type"}, null); + if (query != null) { + if (query.moveToNext()) { + int value = query.getInt(0); + ICLogger.d("sos notify value == > " + value); + if (value == 2 || value == 3) { + //获取到联系人,如果没有的话就不发送短信了 + Cursor sosContactCursor = resolver.query(ICContentProvider.CONTACT_URI, + new String[]{"NUMBER"}, "CATEGORY=?", + new String[]{Contact.CATEGORY_SOS + ""}, null); + List sosNumbers = new ArrayList<>(); + if (sosContactCursor != null) { + while (sosContactCursor.moveToNext()) { + String string = sosContactCursor.getString(0); + ICLogger.d("sos number == > " + string); + sosNumbers.add(string); + } + sosContactCursor.close(); + } + if (sosNumbers.size() == 0) { + ICLogger.d("no sos number..."); + return; + } + //发送短信 + //获取短信内容 + String string = runtime.getContextProxy().context.getString(R.string.sos_sms_content_text); + //IMEI号和时间,然后格式化 + String imei = Config.getIMEI(getApplicationContext()); + if (TextUtils.isEmpty(imei)) { + //去获取tel里的IMEI号 + imei = PhoneUtils.getIMEI(getApplicationContext()); + } + String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis()); + ICLogger.d("imei == > " + imei); + String smsContent = String.format(string, imei, time); + //获取到sos号码 + for (String sosNumber : sosNumbers) { + smsManager.sendSMS(sosNumber, smsContent); + } + } + } else { + ICLogger.d("no sos settings value..."); + } + query.close(); + } + } + private TriggerSOSCALLThread mTriggerSOSCALLThread = new TriggerSOSCALLThread(); private class TriggerSOSCALLThread implements Runnable { diff --git a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java index 5570e34a..b88fc81f 100644 --- a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java +++ b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java @@ -291,7 +291,6 @@ public class ICSmsManager extends BroadcastReceiver { public void sendSMS(String phoneNumber, String msg) { android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault(); Iterator msgit = smsManager.divideMessage(msg).iterator(); - while (msgit.hasNext()) { String message = (String) msgit.next(); ICLogger.i("reply message to " + phoneNumber + ", " + message); diff --git a/app/src/main/res/layout/msg_dialog_layout.xml b/app/src/main/res/layout/msg_dialog_layout.xml index a9c1cb36..bc6a0e75 100644 --- a/app/src/main/res/layout/msg_dialog_layout.xml +++ b/app/src/main/res/layout/msg_dialog_layout.xml @@ -8,7 +8,6 @@ android:id="@+id/msg_pager" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/shape_dialog_bg" android:overScrollMode="never" /> \ No newline at end of file diff --git a/app/src/main/res/values-de-rCH/strings.xml b/app/src/main/res/values-de-rCH/strings.xml index 0bc7182a..d8d91115 100644 --- a/app/src/main/res/values-de-rCH/strings.xml +++ b/app/src/main/res/values-de-rCH/strings.xml @@ -158,5 +158,5 @@ 关闭 低电量报警 SOS紧急报警 - + %s发出了SOS信号。%s diff --git a/app/src/main/res/values-fr-rCH/strings.xml b/app/src/main/res/values-fr-rCH/strings.xml index 0bc7182a..d8d91115 100644 --- a/app/src/main/res/values-fr-rCH/strings.xml +++ b/app/src/main/res/values-fr-rCH/strings.xml @@ -158,5 +158,5 @@ 关闭 低电量报警 SOS紧急报警 - + %s发出了SOS信号。%s diff --git a/app/src/main/res/values-it-rCH/strings.xml b/app/src/main/res/values-it-rCH/strings.xml index 0bc7182a..b619edec 100644 --- a/app/src/main/res/values-it-rCH/strings.xml +++ b/app/src/main/res/values-it-rCH/strings.xml @@ -129,7 +129,6 @@ HotLine - 通知消息 知道了 消息提醒 @@ -140,7 +139,6 @@ Sedentary reminder ! - English 日本語 ภาษาไทย @@ -158,5 +156,5 @@ 关闭 低电量报警 SOS紧急报警 - + %s发出了SOS信号。%s diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 153f08b1..b61ca7c8 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -159,5 +159,6 @@ シャットダウン 低電力アラート 緊急SOS + %sからSOSが発信されました。%s diff --git a/app/src/main/res/values-w820dp/strings.xml b/app/src/main/res/values-w820dp/strings.xml deleted file mode 100644 index 5d6d0b2d..00000000 --- a/app/src/main/res/values-w820dp/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - 关闭 - 低电量报警 - SOS紧急报警 - \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e116a359..b43a9b64 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -186,4 +186,5 @@ 运动达标! 低电量报警 SOS紧急报警 + %s发出了SOS信号。%s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 25dc3c72..b93e7b8f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -188,5 +188,7 @@ 关闭 低电量报警 SOS紧急报警 - + + SOS was sent from "%s". %s + diff --git a/app/version_code.properties b/app/version_code.properties index f0b55e57..9cafc0c0 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Mon Jul 19 20:45:07 CST 2021 -VERSION_CODE=894 +#Tue Jul 20 15:12:50 CST 2021 +VERSION_CODE=895