From 032837615f48699917922ad9cf7f1cf2b1a60d53 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 13 Feb 2023 15:54:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E7=94=B5=E6=B1=A0?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9B=91=E5=90=AC/=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9B=91=E6=8E=A7=20=E5=9C=A8=E6=9C=AA?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=8E=BB=E9=87=8D=E6=97=B6=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=BC=80=E5=90=AF1=E7=A7=92=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/idormy/sms/forwarder/workers/SendWorker.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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 00402555..cbd4ead8 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 @@ -62,12 +62,17 @@ class SendWorker( val msgInfo = Gson().fromJson(msgInfoJson, MsgInfo::class.java) // 过滤重复消息机制 - if (SettingUtils.duplicateMessagesLimits > 0) { + var duplicateMessagesLimits = SettingUtils.duplicateMessagesLimits * 1000L + // 电池状态监听/网络状态监控 默认开启1秒去重 + if (duplicateMessagesLimits == 0L && (msgInfo.from == "88888888" || msgInfo.from == "77777777")) duplicateMessagesLimits = 1000L + if (duplicateMessagesLimits > 0L) { val key = CipherUtils.md5(msgInfo.type + msgInfo.from + msgInfo.content) - val timestamp: Long = System.currentTimeMillis() / 1000L + val timestamp: Long = System.currentTimeMillis() var timestampPrev: Long by HistoryUtils(key, timestamp) - if (timestampPrev != timestamp && timestamp - timestampPrev <= SettingUtils.duplicateMessagesLimits) { + Log.d("SendWorker", "duplicateMessagesLimits=$duplicateMessagesLimits, timestamp=$timestamp, timestampPrev=$timestampPrev, msgInfo=$msgInfo") + if (timestampPrev != timestamp && timestamp - timestampPrev <= duplicateMessagesLimits) { Log.e("SendWorker", "过滤重复消息机制") + timestampPrev = timestamp return@withContext Result.failure(workDataOf("send" to "failed")) } timestampPrev = timestamp