From d1afbd2425db20d5b5e9689d28860b1a345fabaa Mon Sep 17 00:00:00 2001 From: Song <168455@qq.com> Date: Wed, 8 Jul 2026 10:17:28 +0800 Subject: [PATCH] feat: silent-filter ongoing notifications (no log entry) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 持续性通知(音乐/下载/通话中等)不再写日志,静默丢弃 Decision 新增 silent 字段,NotifyListenerService 跳过静默过滤的日志 版本 1.4.0 → 1.4.1 Co-Authored-By: Claude Opus 4.8 (1M context) --- app/build.gradle.kts | 4 ++-- .../java/com/a2i/forwarder/core/NotificationProcessor.kt | 5 +++-- .../java/com/a2i/forwarder/service/NotifyListenerService.kt | 5 ++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5e69bfa..f76b843 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -13,8 +13,8 @@ android { applicationId = "com.a2i.forwarder" minSdk = 34 targetSdk = 36 - versionCode = 5 - versionName = "1.4.0" + versionCode = 6 + versionName = "1.4.1" } signingConfigs { diff --git a/app/src/main/java/com/a2i/forwarder/core/NotificationProcessor.kt b/app/src/main/java/com/a2i/forwarder/core/NotificationProcessor.kt index e043b62..c497c24 100644 --- a/app/src/main/java/com/a2i/forwarder/core/NotificationProcessor.kt +++ b/app/src/main/java/com/a2i/forwarder/core/NotificationProcessor.kt @@ -16,6 +16,7 @@ class NotificationProcessor(private val context: Context) { val reason: String, val appLabel: String, val code: String?, + val silent: Boolean = false, // true = 静默过滤,不写日志 ) // ========== 去重缓存 ========== @@ -88,10 +89,10 @@ class NotificationProcessor(private val context: Context) { if (!settings.forwardingEnabled.value) return Decision(null, "全局转发已关", appLabel, null) - // ---- 持续性通知过滤 ---- + // ---- 持续性通知过滤(静默,不进日志)---- val isOngoing = n.flags and Notification.FLAG_ONGOING_EVENT != 0 if (settings.skipOngoing.value && isOngoing) - return Decision(null, "持续性通知", appLabel, null) + return Decision(null, "持续性通知", appLabel, null, silent = true) // ---- App 黑白名单 ---- if (!rules.isForwardingOn(pkg)) diff --git a/app/src/main/java/com/a2i/forwarder/service/NotifyListenerService.kt b/app/src/main/java/com/a2i/forwarder/service/NotifyListenerService.kt index 8c530b4..82633e6 100644 --- a/app/src/main/java/com/a2i/forwarder/service/NotifyListenerService.kt +++ b/app/src/main/java/com/a2i/forwarder/service/NotifyListenerService.kt @@ -40,7 +40,10 @@ class NotifyListenerService : NotificationListenerService() { val msg = d.message if (msg == null) { - app.logStore.addLog(ForwardLog(now, sbn.packageName, d.appLabel, "", "", "filtered", d.reason)) + // 静默过滤(如持续性通知)不写日志 + if (!d.silent) { + app.logStore.addLog(ForwardLog(now, sbn.packageName, d.appLabel, "", "", "filtered", d.reason)) + } return }