From 631e9950bd062609aa54634937b14f0daeef6c46 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Fri, 10 Feb 2023 18:06:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E4=B8=8A=E8=A7=84=E5=88=99=E5=90=8E=E5=86=8D?= =?UTF-8?q?=E8=90=BD=20Msg=20=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/idormy/sms/forwarder/service/HttpService.kt | 2 +- .../com/idormy/sms/forwarder/workers/SendWorker.kt | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/HttpService.kt b/app/src/main/java/com/idormy/sms/forwarder/service/HttpService.kt index c064d28d..8a99caff 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/service/HttpService.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/service/HttpService.kt @@ -57,7 +57,7 @@ class HttpService : Service(), Server.ServerListener { .setMinTime(10000)//设置位置更新最小时间间隔(单位:毫秒); 默认间隔:10000毫秒,最小间隔:1000毫秒 .setMinDistance(0)//设置位置更新最小距离(单位:米);默认距离:0米 .setOnceLocation(false)//设置是否只定位一次,默认为 false,当设置为 true 时,则只定位一次后,会自动停止定位 - .setLastKnownLocation(true)//设置是否获取最后一次缓存的已知位置,默认为 true + .setLastKnownLocation(false)//设置是否获取最后一次缓存的已知位置,默认为 true //设置定位配置参数 locationClient.setLocationOption(locationOption) locationClient.startLocation() diff --git a/app/src/main/java/com/idormy/sms/forwarder/workers/SendWorker.kt b/app/src/main/java/com/idormy/sms/forwarder/workers/SendWorker.kt index 1e488764..00402555 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/workers/SendWorker.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/workers/SendWorker.kt @@ -80,13 +80,18 @@ class SendWorker( return@withContext Result.failure(workDataOf("send" to "failed")) } - val msg = Msg(0, msgInfo.type, msgInfo.from, msgInfo.content, msgInfo.simSlot, msgInfo.simInfo, msgInfo.subId) - val msgId = Core.msg.insert(msg) - + val ruleListMatched: MutableList = mutableListOf() for (rule in ruleList) { Log.d("SendWorker", rule.toString()) - if (!rule.checkMsg(msgInfo)) continue + if (rule.checkMsg(msgInfo)) ruleListMatched.add(rule) + } + if (ruleListMatched.isEmpty()) { + return@withContext Result.failure(workDataOf("send" to "failed")) + } + val msg = Msg(0, msgInfo.type, msgInfo.from, msgInfo.content, msgInfo.simSlot, msgInfo.simInfo, msgInfo.subId) + val msgId = Core.msg.insert(msg) + for (rule in ruleListMatched) { val sender = rule.senderList[0] val log = Logs(0, msgInfo.type, msgId, rule.id, sender.id) val logId = Core.logs.insert(log)