Skip to content

Get notified on another device when your android's battery is low or full

Notifications You must be signed in to change notification settings

ni554n/battarang-notifier-android

Repository files navigation

Battarang Notifier for Android

GitHub Downloads GitHub Downloads

🔔🔋 Sync battery notifications across devices 🪫🔔

Battarang Features

Setup

  1. Download the latest APK from GitHub Releases or consider purchasing it from the Play Store 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 from another device and follow the instructions.

Tip

Sam Beckman created an awesome review and setup tutorial for Battarang on YouTube

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 to local.properties and provide the values
  2. 🔨 Make Project or ▶️ Run the app

Information

Author: Nissan Ahmed (@ni554n)

Donate: PayPal

License

This project intentionally has no 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.