A lightweight Android app to keep you informed about your battery status โ without heavy resource usage or unnecessary "power saver" bloat.
Ever been busy at work or home and suddenly realized your phone is almost out of battery?
Or worse โ your phone dies while youโre traveling and you canโt recharge it.
Unlike heavy battery saver apps (which Android doesnโt actually need), SimpleBatteryNotifier is designed to:
- Monitor your battery efficiently
- Send you timely notifications
- Avoid slowing down your phone or draining your resources
No surprises. No clutter. Just simple battery notifications.
-
๐ Battery Alerts
- Get notified at Critical and Warning levels
- Receive an alert when charging is complete
-
โฐ Customizable Notifications
- Choose when to get notified (e.g., no alerts while youโre sleeping)
- Customize notification sounds, vibration, and behavior
-
๐ก Full Charge Notification
- Helpful if you charge your phone in Airplane Mode for faster charging โ youโll get reminded not to forget it there
-
๐ Battery Insights
- Extra details like temperature, health, and more
-
๐ Persistent & Repeated Alerts
- Keep a permanent battery status notification if you tend to forget things
- Optionally receive alerts for every 1% drop when at critical levels
- No unnecessary background services
- No bloated โpower saverโ features
- Just the essentials to keep you in control of your battery
(Add installation instructions here, e.g., link to Google Play or APK download)
# Clone the repository
git clone https://github.com/almothafar/SimpleBatteryNotifier.git
cd SimpleBatteryNotifier
# Build debug APK
./gradlew assembleDebug
# Build release APK
./gradlew assembleRelease
# Run unit tests
./gradlew test- JDK 25+ (Java 25)
- Android SDK 36 (compileSdk)
- Gradle 9.2+
The project includes 11 focused unit tests covering critical business logic:
- BatteryDO calculation logic - Percentage calculation with edge cases
- Division by zero handling - Tests defensive programming
- Negative values and boundary conditions - Real-world edge cases
- Builder pattern validation - Method chaining correctness
Run tests with:
./gradlew testView test reports at:
app/build/reports/tests/testDebugUnitTest/index.html
Every pull request and push to master automatically:
- โ Runs unit tests
- โ Builds debug and release APKs
- โ Generates test reports
- โ Uploads build artifacts
Check the Actions tab for build status.
Pull requests and suggestions are welcome!
Before submitting:
- Ensure all tests pass:
./gradlew test - Follow the coding guidelines in
.claude/guidelines.md - Add tests for new features
- Update documentation as needed
Licensed under the Apache License, Version 2.0 - see the LICENSE file for details.
- โ Focused unit tests (11 tests, 100% pass rate)
- โ Zero critical bugs
- โ Full accessibility support (TalkBack compatible)
- โ Modern Java 25 features (switch expressions, pattern matching, records)
- โ Clean architecture (SOLID principles, DRY)
- โ Comprehensive documentation (~90% JavaDoc coverage)
- โ CI/CD pipeline (GitHub Actions)
Made with โค๏ธ for battery-conscious Android users