BatteryRemapper (LSPosed Module)

BatteryRemapper Banner

GitHub Release LSPosed Repository License: MIT Platform Framework Xposed API Telegram Chat

BatteryRemapper is a modern Xposed/LSPosed module paired with an intuitive Material management application. It recalibrates Android's battery reporting scale, mapping a customizable physical battery window (by default 20% – 80%) into a full 0% – 100% display layer across your status bar, quick settings, and lock screen.

By restricting daily operational usage to these optimal chemical thresholds, BatteryRemapper significantly minimizes lithium-ion degradation, prevents high-voltage stress, and dramatically extends the lifespan of your device's non-removable battery.


πŸš€ Features

  • Interactive Material Manager: Clean, responsive UI with full Material 3 dynamic styling, system bar edge-to-edge support, and automatic dark/light theme integration.
  • Customizable Physical Range: Adjust your physical charge ceiling and floor using an interactive dual-thumb range slider (e.g., 20% – 80%, 15% – 85%, or any custom bounds).
  • Live Hook Detection: Real-time bidirectional IPC handshake that probes System UI to immediately indicate whether the module hook is Active, Inactive, or Checking.
  • Linear Scale Remapping: Smoothly translates physical battery percentage to your configured scale across the status bar, notification shade, and lock screen.
  • Smart Hysteresis Battery Saver Automation:
    • Triggers ON: Automatically enables Battery Saver mode when your remapped percentage reaches 20% or below.
    • Triggers OFF: Automatically turns Battery Saver mode OFF once remapped battery charges past 50%.
    • Hysteresis Dead-Zone: Maintains existing state between 21% – 50% when unplugged to prevent battery state flickering.
    • Charging Bypass: Instantly disengages Battery Saver upon connecting a charger (AC, USB, or Wireless) for maximum charging performance.
    • Toggle Control: Can be enabled or disabled on demand from the app.
  • Automated Low-Battery Shutdown Protection:
    • Optional safety sequence that initiates a system-level 30-second countdown when reaching your chosen trigger level (defaulting to 0% remapped).
    • Smart Charger Abort: Plugging in a charger instantly aborts the shutdown sequence and dismisses the alert.
    • Dismissal Safeguard: Dismissing the alert dialog temporarily suppresses repeated countdowns for the remainder of the discharge cycle.
  • One-Click System UI Restart: Dedicated root-enabled action (su -c killall com.android.systemui) with confirmation dialog to instantly apply changes without a full device reboot.
  • Seamless Shared IPC (SettingsProvider): Rootless, real-time configuration sharing between the manager app and the System UI hook via an internal Content Provider.
  • About & Credits Hub: Dedicated About screen with dynamic version tracking, repository links, license details, and developer/contributor credits.

βš™οΈ LSPosed Setup Configuration

To ensure the module functions correctly, configure its target scope inside the LSPosed Manager (or compatible Xposed framework interface).

Target Scope:

  • System UI (com.android.systemui)

Important

The module is specifically scoped to run inside com.android.systemui. This ensures your status bar, quick setting tiles, and lock screen graphics reflect your custom 0–100% scale while the underlying Android system server and kernel continue to track raw physical metrics accurately.


πŸ“ˆ How the Math Works

The display percentage is dynamically calculated from the physical percentage using linear normalization:

$$\text{Display %} = \text{round}\left( \frac{\text{Physical %} - \text{Min}}{\text{Max} - \text{Min}} \times 100 \right)$$

Default Mapping Example (Physical 20% – 80% $\rightarrow$ Display 0% – 100%):

Actual Physical Battery Displayed Status Bar Battery System Behavior & States
80% and above 100% Upper charge ceiling cap
65% 75% Intermediate remapped value
51% 51% Battery Saver turns OFF if unplugged
35% 25% Normal operational range
25% 8% Low battery threshold β€” Battery Saver is ON
20% and below 0% Lower charge floor β€” triggers shutdown countdown (if enabled)

⚠️ Notes & Considerations

  • Stepped Percentage Drops: Due to mathematical scaling of a compressed physical range (e.g., 60 points mapped to 100 points), the status bar percentage will occasionally step by 2% (e.g., jumping from 77% to 75%). This is natural linear rounding behavior.
  • Direct Kernel Node Reads: Hardware monitor applications or terminal commands that bypass the Android framework to read raw kernel nodes directly (e.g., /sys/class/power_supply/battery/capacity) will reflect the raw physical percentage.

πŸ“± Supported Devices & Environment

  • Android Version: Android 10+ (API 29+).
  • Root & Framework: Magisk or KernelSU/Apatch with Zygisk, and LSPosed (or compatible modern Xposed framework).
  • Root Permission (Optional): Required only for the in-app "Restart System UI" quick action; the remapping and automation hooks themselves operate root-free inside System UI.
  • ROM Compatibility:
    • AOSP & Custom ROMs: Pixel, LineageOS, crDroid, Evolution X, Infinity X, Axion AOSP, Motorola, Sony, etc.
    • OEM Skins: Xiaomi HyperOS / MIUI, Samsung One UI, OnePlus/OPPO/Realme OxygenOS & ColorOS, Vivo/iQOO OriginOS & FuntouchOS.
    • Supports status bar customizations including circles, dotted icons, landscape pills, and text-only battery styles.

πŸ“₯ Download & Installation

You can get the latest pre-compiled release from either source:


πŸ‘₯ Credits


πŸ’¬ Community & Support


πŸ“„ License

This project is open-source under the terms of the MIT License.

Releases

9/23/2026, 1:25:36 PM

πŸ”‹ BatteryRemapper v1.1.0 (59)

Thrilled to release BatteryRemapper 1.1.0! This major milestone transforms BatteryRemapper from a background module into a full-featured management application paired with an intelligent, dynamic Xposed/LSPosed hook.


🌟 What's New

🎨 Interactive Material 3 Manager

  • Modern UI: Complete Material 3 visual redesign with system bar edge-to-edge support and automatic dark/light theme switching.
  • Interactive Dual-Thumb Range Slider: Customize your physical battery boundaries dynamically (e.g., 20%–80%, 15%–85%, or any custom span with a 10% minimum delta) instead of being locked to static values.
  • Live Hook Status: Real-time dashboard status card showing whether the System UI hook is Active, Inactive, or Checking.
  • One-Click System UI Restart: Integrated root-enabled shortcut to restart System UI instantly without a full device reboot.

⚑ Intelligent Automation & Safety

  • Smart Hysteresis Battery Saver:
    • Automatically switches Battery Saver ON at $\le 20%$ remapped battery.
    • Automatically switches Battery Saver OFF when charged past $50%$ remapped battery.
    • 21%–50% dead-zone maintains current state while unplugged to prevent toggle flutter.
    • Instantly disables Battery Saver when connected to any power source.
  • Low-Battery Shutdown Protection:
    • Optional system-level 30-second countdown when reaching your chosen trigger level (defaulting to 0% remapped / 20% physical).
    • Plugging in a charger immediately cancels the countdown.
    • Dismissing the dialog prevents repeat popups during the same discharge session.

ℹ️ About & Credits Hub

  • Dedicated About screen with dynamic version tracking, open-source MIT license link, Telegram community chat, and GitHub repository links.
  • Full support for Android 13+ (API 33+) Predictive Back gestures.

🌐 Internationalization & Distribution

  • Bilingual Support: Full native translations in English and Simplified Chinese (zh-CN).
  • Adaptive & Themed App Icon: Crisp vector adaptive icon with full Android 13+ Material You Themed Icon support.

πŸ”§ Technical & Architecture Improvements

  • Rootless IPC: Settings are shared dynamically between the Manager App and System UI hook via an internal Content Provider (SettingsProvider).
  • Toolchain Upgrade: Built on Android compileSdk 36 / targetSdk 37 using Java 17.
  • Optimized Release Builds: Enabled ProGuard/R8 code shrinking while strictly preserving LSPosed reflection entry points.
  • Lifecycle & Render Fixes: Decoupled activity window transitions from touch ripples to eliminate frame release warnings.

πŸ“± Requirements

  • Android Version: Android 10 (API 29) to Android 17.
  • Root & Framework: Magisk or KernelSU/Apatch with Zygisk, and LSPosed (or compatible modern Xposed framework).
  • LSPosed Scope: Check System UI (com.android.systemui) in LSPosed Manager.
  • Root Access (Optional): Required only for the in-app "Restart System UI" button.

πŸ‘₯ Credits


Change details

Full Changelog: Dhangofa/BatteryRemapper@v1.0.17...v1.1.0

Assets

1

5/24/2026, 11:18:51 AM

What's New in v1.0.17

This is the second official release of BatteryRemapper. Building on our initial releaseβ€”which established the core 20%–80% status bar visual remappingβ€”version v1.0.17 introduces fully automated, intelligent power management.

You no longer need to toggle your Battery Saver manually. The module now completely automates your device's power profile based on your custom remapped scale, deploying a smart layout that prevents power flickering and optimizes battery health.

πŸš€ Key Enhancements

  • Smart Hysteresis Battery Saver Automation: Fully automated background control of your native Android Battery Saver profile:
    • Triggers ON: Automatically forces Battery Saver ON the moment your remapped visual scale drops to 20% or below.
    • Triggers OFF: Automatically forces Battery Saver OFF once your scale charges past 50%.
    • Hysteresis Dead-Zone: Keeps the existing power state completely stable between 21%–50% when unplugged. If you disconnect your phone within this zone, the module safely maintains its current state without rapidly flickering on and off.
    • Charging Bypass: Instantly disengages and disables Battery Saver mode the moment a charger (AC/USB/Wireless) is connected, ensuring unthrottled performance during your charging cycles.
  • Seamless UI Integration: Leverages system reflection utilities to mimic manual Quick Settings tile presses. This ensures 100% compatibility with custom ROM background optimization rules (such as Evolution X and crDroid) without requiring extra app privileges.
  • Automated CI/CD Compilation: Shifted our pipeline to Kotlin DSL (build.gradle.kts). Build tracking is now directly integrated with GitHub Actions workflow run counts for seamless version increments.

βš™οΈ Setup & Scope Configuration

To get the new automation features up and running, configure your scope settings inside the LSPosed / Vector Manager interface:

  1. Install the updated v1.0.17 APK.
  2. Open your LSPosed / Vector Manager app and navigate to the BatteryRemapper module.
  3. Ensure the target scope is correctly set:
    • System UI (com.android.systemui)
  4. Perform a soft reboot or system ui reboot

What's Changed

New Contributors

Full Changelog: Dhangofa/BatteryRemapper@v1.0.0...v1.0.17

Assets

1

5/22/2026, 8:52:34 AM

πŸš€ Features & Changes

  • Initial Stable Release: The core functionality of the LSPosed module is fully operational.
  • Status Bar Enhancements: Tailored for custom system software configurations, optimizing status bar modifications and countdown logic.
  • Permanent Production Key: This and all future builds are signed with a permanent cryptographic signature. You can seamlessly update future versions directly without ever needing to uninstall the module again.

Assets

1