punch-hole-download-progress
Introduction: Xposed module that shows download progress as a ring around the camera cutout.
Tags:
English | 简体中文
Xposed module that renders download progress as an animated ring around the camera cutout.
Features
- Progress ring around the camera cutout (via native
DisplayCutoutAPI) with per-state color, thickness, opacity, and direction (active/completed/failed) - Completion animations with optional haptic feedback
- Download counter badge
- Per-rotation calibration for text and badge offsets
- Material 3 Expressive settings UI
- Test mode, battery saver rendering, and pill-cutout path support
Requirements
- Android 9+ (API 28)
- Xposed Manager with API 101 support (official LSPosed recommended)
- Root optional (only needed for
Restart SystemUI)
Installation
Download the APK:
Install and enable the module in LSPosed.
Scope to
com.android.systemuiRestart SystemUI or reboot the device
The app includes a built-in Restart SystemUI option in the overflow menu. Magisk will prompt for permission; KernelSU/APatch require adding the app manually.
Build
git clone https://github.com/hxreborn/punch-hole-download-progress.git
cd punch-hole-download-progress
./gradlew assembleRelease
Requires JDK 21 and Android SDK. Configure local.properties:
sdk.dir=/path/to/android/sdk
# Optional signing
RELEASE_STORE_FILE=<path/to/keystore.jks>
RELEASE_STORE_PASSWORD=<store_password>
RELEASE_KEY_ALIAS=<key_alias>
RELEASE_KEY_PASSWORD=<key_password>
Contributing
Pull requests welcome. Open an issue for bugs or feature requests.
Also found in
License
This project is licensed under the GNU General Public License v3.0. See LICENSE for details.




