Android app providing a fully configurable widget for the monitoring of your WiFi connection details.
![]() |
![]() |
![]() |
---|---|---|
![]() |
![]() |
![]() |
- Neat Material 3 Design
- Configurable theme:
- Light / dark
- Dynamic / static colors
- AMOLED black
- Adaptive layouts for landscape & portrait mode
- Live WiFi Status display with property copy-to-clipboard functionality on click
- Property copy-to-clipboard functionality on click
- Configuration options:
- Appearance:
- Size: from 2x1 to fullscreen
- Light/dark theme with static/dynamic, or entirely custom colors
- Background opacity
- Font size
- Property value alignment (left | right)
- Displayed properties:
- Basic Info: SSID, BSSID, Frequency, Channel, Link Speed, RSSI, Signal Strength, Standard, WiFi Generation, Security Protocol
- IP Addresses:
- Types: Loopback, Site Local, Link Local, Unique Local, Multicast, Global Unicast, Public (via api.ipify.org)
- Options: IPv4, IPv6, or both; show prefix lengths (IPv4/IPv6) and subnet masks (IPv4)
- Network Details: Gateway, DNS, DHCP, NAT64 Prefix
- Location Info (via ip-api.com):
- Region: Zip Code, District, City, Region, Country, Continent
- Other: GPS Location, ASN, ISP
- Property appearance order
- Bottom bar elements:
- Last refresh date time
- Buttons:
- Refresh data
- Open WiFi settings
- Open widget settings
- Automatic data refreshing:
- Interval: between 15 min and 24h
- Whether to refresh on low battery
- Appearance:
- Kotlin only
- Jetpack Compose for in-app UI, xml & RemoteViews for widget UI
- Jetpack Navigation 3
- Coroutines & flows
- Dagger-Hilt for dependency injection
- OkHttp for network requests, kotlinx serialization for JSON parsing
- Proto & Preferences data storage
- JUnit 4, mockito, robolectric & turbine for unit testing
- JUnit 4 Compose android (instrumented) testing
- Androidx Macro benchmarking & baseline profile generation with app-specific usage journey, implemented with UI Automator
- Multi-modular build
- Gradle Convention plugins for gradle code reuse whilst keeping modules independent from one another
- Clean architecture (or however you wanna call it), with the UI and data layers depending on the domain layer, which exposes the data model and repository interfaces:
Logo foreground by Hilmy Abiyyu Asad taken from here, where it is licensed under Creative Commons(Attribution 3.0 unported).
GPL-3.0 License © w2sv [2022 - Present]