Skip to content

[Feature]: Filter Access Points by Wi-Fi Standard #603

Description

@gioalex07

Filter Access Points by Wi-Fi Standard

Is your feature request related to a problem? Please describe.

Problem

Currently, WiFiAnalyzer allows filtering access points by band (2.4 GHz, 5 GHz, 6 GHz), strength,
and security. However, there is no way to filter by Wi-Fi standard (e.g. 802.11n, ac, ax, be).

As Wi-Fi 6 (802.11ax) and Wi-Fi 7 (802.11be) deployments become more common, users may want to
focus only on access points that support a specific standard — for example, to identify legacy
devices or verify that newer standards are available in their environment.

Proposed Solution

Add a WiFiStandardFilter following the existing WiFiBandFilter pattern already in the codebase.

The WiFiStandard enum is already fully defined in wifi/model/WiFiStandard.kt:

enum class WiFiStandard { UNKNOWN, LEGACY, N, AC, AX, AD, BE }

The filter system already has a generic EnumFilter base and EnumFilterAdapter that handle
multi-select enum filtering. Adding WiFiStandardFilter would extend this pattern with minimal
new code.

Expected behavior

  • New filter option in the filter dialog: Wi-Fi Standard
  • Multi-select: user can select one or more standards (e.g. AX + BE only)
  • Default: all standards selected (no filtering applied)
  • Consistent with existing filter UX for band and strength

Files that would be affected

  • wifi/filter/WiFiStandardFilter.kt — new filter class
  • wifi/filter/adapter/WiFiStandardAdapter.kt — new adapter
  • wifi/filter/adapter/FiltersAdapter.kt — register new filter
  • wifi/filter/Filter.kt — integrate new filter predicate
  • Corresponding test files

Why this fits the project

  • No new dependencies
  • Follows the existing EnumFilter / EnumFilterAdapter pattern exactly
  • WiFiStandard model and detection logic already exist and are tested
  • Consistent with the project's goal of helping users analyze and understand their Wi-Fi environment

Describe the solution you'd like

No response

Alternatives considered

No response

How I can help

No response

Reproduction / Occurrence frequency

None

Priority / Impact

None

Device model

No response

Android version

No response

Android API level

No response

WiFiAnalyzer version

No response

Build variant

No response

Additional context

  • Tested on: WSL2 / AlmaLinux 9, Android SDK 36
  • Wi-Fi standard detection requires Android 11+ (Build.VERSION_CODES.R);
    on older devices the filter would show UNKNOWN for all access points,
    which is the current behavior already handled by WiFiStandard.findOne()

Screenshots / Mockups / Attachments (optional)

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions