Skip to content

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

@gioalex07

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions