Skip to content

Add Optional minimal foreground notification for Android #5977

@Samuel12321

Description

@Samuel12321

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions