An open API service indexing awesome lists of open source software.

https://github.com/w2sv/wifi-widget

Android app providing a fully configurable widget for the monitoring of your WiFi connection details.
https://github.com/w2sv/wifi-widget

android android-application connectivity devops fdroid jetpack-compose kotlin networking widget wifi

Last synced: about 2 months ago
JSON representation

Android app providing a fully configurable widget for the monitoring of your WiFi connection details.

Awesome Lists containing this project

README

        




WiFi Widget



F-Droid
GitHub release (latest by date including pre-releases)







GitHub code size in bytes
Check & Assemble Debug

------


Android app providing a fully configurable widget for the monitoring of your WiFi connection details.

------

Screenshots

| ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/1.jpg) | ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/2.jpg) | ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/3.jpg) |
|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/4.jpg) | ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/5.jpg) | ![](https://github.com/w2sv/WiFi-Widget/blob/main/app/src/main/play/listings/en-US/graphics/phone-screenshots/6.jpg) |

Download


Get it on Google Play
Download from F-Droid
Get it on GitHub

Features

### In-App

- Neat Material 3 Design, featuring smooth animations wherever they're appropriate
- 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

### Widget
- 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:
- SSID
- BSSID
- IP Addresses:
- Loopback
- Site Local
- Link Local
- Unique Local Address
- Multicast
- Global Unicast
- Public
- fetched from [api.ipify.org](https://api.ipify.org)
---
- For address types supporting IPv4 & IPv6, you may choose which versions to include (IPv4 | Ipv6 | both)
- Display of prefix lengths (IPv4 & IPv6), and/or subnet masks (IPv4 only)
- Frequency
- Channel
- Link Speed
- RSSI
- Signal Strength
- Standard
- WiFi Generation
- Security Protocol
- Gateway
- DNS(s)
- DHCP
- NAT64 Prefix
- From [ip-api.com/](https://ip-api.com/)
- Location:
- Zip Code
- District
- City
- Region
- Country
- Continent
- GPS Location
- ASN
- ISP
- Property appearance order
- Bottom bar elements inclusion:
- Last refresh date time
- Buttons:
- Refresh data
- Open WiFi settings
- Open widget settings
- Data refreshing:
- Interval
- Whether to refresh on low battery

Tech Stack

- Kotlin only
- Jetpack Compose for in-app UI, xml for widget UI
- Coroutines & flows
- [Dagger-Hilt](https://dagger.dev/hilt/) for dependency injection
- [OkHttp](https://square.github.io/okhttp/) for network requests, [kotlinx serialization](https://github.com/Kotlin/kotlinx.serialization) for JSON parsing
- [compose-destinations](https://github.com/raamcosta/compose-destinations) for navigation
- Proto & Preferences data store
- JUnit 4, [mockito](https://github.com/mockito/mockito), [robolectric](https://robolectric.org/) & [turbine](https://github.com/cashapp/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](https://developer.android.com/training/testing/other-components/ui-automator)

Architecture

- Multi-modular build
- Convention plugins for gradle code reuse, whilst keeping modules independent from one another
- "Clean architecture" (or however you want to call it), with the UI and data layers depending on the domain layer, which exposes the data model and repository interfaces

Dependency Graph



Credits


Logo foreground by Hilmy Abiyyu Asad taken
from here,
where it is licensed
under Creative Commons(Attribution 3.0 unported).

Donations





Buy Me A Coffee

License


GPL-3.0 License © w2sv [2022 - Present]