https://github.com/ni554n/battarang-notifier-android
Get notified on another device when your android's battery is low or full
https://github.com/ni554n/battarang-notifier-android
android-app battery battery-alert battery-monitor battery-notification material-you push-notification telegram
Last synced: 27 days ago
JSON representation
Get notified on another device when your android's battery is low or full
- Host: GitHub
- URL: https://github.com/ni554n/battarang-notifier-android
- Owner: ni554n
- Created: 2021-12-28T01:45:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T14:49:08.000Z (about 2 months ago)
- Last Synced: 2025-03-29T10:05:00.410Z (about 1 month ago)
- Topics: android-app, battery, battery-alert, battery-monitor, battery-notification, material-you, push-notification, telegram
- Language: Kotlin
- Homepage: https://battarang.anissan.com
- Size: 1.72 MB
- Stars: 168
- Watchers: 3
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Battarang Notifier for Android
đđ Sync battery notifications across devices đĒĢđ

## Setup
1. **Download** the latest APK from [GitHub Releases](https://github.com/ni554n/battarang-notifier-android/releases) or consider purchasing it from the [Play Store](https://play.google.com/store/apps/details?id=com.anissan.battarang) for automatic updates and to support development.
2. **Install** the app on your sender device (or multiple devices).
3. To **Pair it with a receiver** device or Telegram, visit [battarang.anissan.com](https://battarang.anissan.com) from another device and follow the instructions.> [!TIP]
>
> Sam Beckman created an awesome review and setup tutorial for Battarang on [YouTube](https://www.youtube.com/watch?v=xthkvsnNb-8&t=237s)
>
>## Architecture
The architecture of this project may seem unfamiliar to a seasoned Android developer
because I came up with an architecture that is tailored to the features of this project.
I took a web dev approach rather than over-engineering a Google scale solution where it feels
counter-productive.Essentially the source of truth is SharedPref KV storage and, the Views get updated by observing the
changes.
It's kind of like a poor man's reactive system.I've also heavily used Kotlin Extension Functions rather than Classes to help with the composition
to minimize the changes to a few places as possible.## Build
1. Copy the properties from [local.example.properties](local.example.properties)
to `local.properties` and provide the values
2. `đ¨ Make Project` or `âļī¸ Run` the app## Information
**Author:** [Nissan Ahmed](https://anissan.com) ([@ni554n](https://twitter.com/ni554n))
**Donate:** [PayPal](https://paypal.me/ni554n)
## License
This project intentionally
has [no license](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository#choosing-the-right-license)
so the default copyright laws apply,
which means I retain all rights to the source code and the graphical assets.
No one may reproduce, distribute, or create derivative works from this work without my permission.However you are free to view, contribute, and copy parts of the code into your own project without
attribution.
You are just not allowed to repackage and redistribute the entire app.