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.
- Host: GitHub
- URL: https://github.com/w2sv/wifi-widget
- Owner: w2sv
- License: gpl-3.0
- Created: 2022-11-11T07:46:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-10T03:59:20.000Z (about 1 year ago)
- Last Synced: 2024-04-10T05:04:51.642Z (about 1 year ago)
- Topics: android, android-application, connectivity, devops, fdroid, jetpack-compose, kotlin, networking, widget, wifi
- Language: Kotlin
- Homepage: https://play.google.com/store/apps/details?id=com.w2sv.wifiwidget
- Size: 16.7 MB
- Stars: 117
- Watchers: 4
- Forks: 5
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
WiFi Widget
![]()
![]()
------
Android app providing a fully configurable widget for the monitoring of your WiFi connection details.------
Screenshots
|  |  |  |
|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
|  |  |  |Download
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 batteryTech 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 interfacesDependency Graph
![]()
Credits
Logo foreground by Hilmy Abiyyu Asad taken
from here,
where it is licensed
under Creative Commons(Attribution 3.0 unported).Donations
License
GPL-3.0 License © w2sv [2022 - Present]