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;
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;
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;
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 报警定位
}
};
+
+ /**
+ * 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<String> 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 {