-
Notifications
You must be signed in to change notification settings - Fork 117
Description
Issue Details
AdGuard runs as a foreground VPN service, so it must show a persistent notification.
However, the current notification is large, interactive (Disable / Assistant buttons), and displays live stats. This makes it easy for users to accidentally disable filtering or interfere with the service, especially on family, managed, or non-technical user's devices.
Android does not require foreground notifications to be large or interactive — this is a UX choice.
Proposed solution
Add an opt-in “Minimal foreground notification” mode for the VPN foreground service that uses the smallest, least intrusive notification Android allows.
The minimal notification should use:
- Dedicated NotificationChannel with IMPORTANCE_MIN
- No sound, vibration, badge, or lock-screen visibility
- setOngoing(true) (non-dismissable)
- setSilent(true) and setOnlyAlertOnce(true)
- No PendingIntent (tap does nothing)
- No action buttons, no expanded layout, no counters or stats
- Notification.CATEGORY_SERVICE
Example display:
AdGuard — Protection active
This keeps the VPN service alive while making the notification effectively invisible and non-interactive.
This is functionally equivalent to WireGuard/Tailscale “VPN active” style notifications.
Alternative solution
Allow disabling stats and action buttons on the existing notification, but a dedicated minimal notification channel is preferred for clean separation and correct Android behavior.