Skip to content

Add filter for "android" package name in NotificationListener#1

Merged
shixin627 merged 1 commit intomasterfrom
copilot/fix-42d229c3-40c8-41be-b0b2-bfe73d29dac8
Jul 20, 2025
Merged

Add filter for "android" package name in NotificationListener#1
shixin627 merged 1 commit intomasterfrom
copilot/fix-42d229c3-40c8-41be-b0b2-bfe73d29dac8

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jul 20, 2025

Summary

Enhanced the notification filtering logic in NotificationListener.kt to also ignore notifications with package name exactly equal to "android", in addition to the existing filters for "com.android" and "com.google.android" prefixes.

Changes

Modified the onNotificationPosted method in NotificationListener.kt to add an additional condition that filters out notifications where packageName == "android".

Before:

if (statusBarNotification.packageName.startsWith("com.android") || statusBarNotification.packageName.startsWith("com.google.android")) {
    Log.i(TAG, "onNotificationPosted: Android or Google system notification, ignoring.")
    return
}

After:

if (
    statusBarNotification.packageName == "android" ||
    statusBarNotification.packageName.startsWith("com.android") ||
    statusBarNotification.packageName.startsWith("com.google.android")
) {
    Log.i(TAG, "onNotificationPosted: Android or Google system notification, ignoring.")
    return
}

Rationale

This change ensures that notifications from the core Android system (with package name "android") are filtered out along with other Android system notifications. This helps prevent the app from processing system-level notifications that are not relevant for remote input functionality.

Testing

  • Verified the syntax and formatting of the modified Kotlin code
  • Confirmed the change is minimal and surgical, affecting only the notification filtering logic
  • Maintained existing functionality while adding the new filter condition

Files Changed

  • android/src/main/kotlin/com/example/remote_input/NotificationListener.kt

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED -Xmx1536M -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-8.12-bin/cetblhg4pflnnks72fxwobvgv/gradle-8.12/lib/gradle-daemon-main-8.12.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-8.12-bin/cetblhg4pflnnks72fxwobvgv/gradle-8.12/lib/agents/gradle-instrumentation-agent-8.12.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.12 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

This pull request was created as a result of the following prompt from Copilot chat.

根據用戶需求,需在 NotificationListener.kt 的 onNotificationPosted 方法中,過濾所有 package name 為 "android" 的通知。除了原有的 com.android 及 com.google.android 開頭的通知外,新增判斷條件:當 packageName 等於 "android" 時也要一併忽略。如下:

if (
statusBarNotification.packageName == "android" ||
statusBarNotification.packageName.startsWith("com.android") ||
statusBarNotification.packageName.startsWith("com.google.android")
) {
Log.i(TAG, "onNotificationPosted: Android or Google system notification, ignoring.")
return
}

請將此修改發布新版 PR。


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@shixin627
Copy link
Copy Markdown
Owner

feat: Add a new notification filter condition for packageName equal to 'android'.

@shixin627 shixin627 marked this pull request as ready for review July 20, 2025 07:01
@shixin627 shixin627 merged commit 4321028 into master Jul 20, 2025
1 check passed
Copilot AI changed the title [WIP] 新增過濾 packageName 為 'android' 的通知條件 Add filter for "android" package name in NotificationListener Jul 20, 2025
Copilot AI requested a review from shixin627 July 20, 2025 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants