Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/foxpace/blumodify
The app notifies you about redundant Bluetooth activity
https://github.com/foxpace/blumodify
android bluetooth compose hilt jetpack-compose testing workmanager
Last synced: about 1 month ago
JSON representation
The app notifies you about redundant Bluetooth activity
- Host: GitHub
- URL: https://github.com/foxpace/blumodify
- Owner: Foxpace
- Created: 2023-01-02T22:54:15.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-08T17:55:20.000Z (12 months ago)
- Last Synced: 2024-11-06T20:21:30.900Z (3 months ago)
- Topics: android, bluetooth, compose, hilt, jetpack-compose, testing, workmanager
- Language: Kotlin
- Homepage:
- Size: 858 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BluModify
BluModify is a simple Android app that will warn you about redundant Bluetooth activity. If you leave your Bluetooth on, the app will warn you about this situation and you can turn it off.
Unfortunately, the programmatic way of turning off Bluetooth was removed with higher versions of Android, so the app aligns with this decision.# Motivation and main purpose
Active Bluetooth presents a couple of problems of which character, not many people are aware:
* Some shops are tracking customers by looking for active Bluetooth devices - anyone can do it in the public
* A more serious issue is that attackers can make phishing attacks, steal private data or eavesdrop on your conversations
* Bluetooth is a battery eater - even though with advances in Bluetooth technology, it still consumes a significant portion of the battery**Only by turning off the Bluetooth, you can solve all of the issues above.**
# Technical perspective
## Some highlights of implementation
* UI is done purely with Jetpack Compose
* MVI architecture
* Dependency injection via Hilt - UI is fully decoupled from ViewModels and repositories
* WorkManager implementation
* Logging and error handling for all the cases - transparent logs in the settings of the app
* All the repositories and ViewModels are covered by tests (if it is possible)
* Walk UI tests for all of the screens with basic user use cases## Known issues
If you run the app on a phone that has tampered with battery savings, the app will stop working after a certain amount of time because the scheduled worker is removed from the WorkManager. Check this site for more information: https://dontkillmyapp.com/