English | 简体中文
Xposed module that renders download progress as an animated ring around the camera cutout.
- 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
- Android 9+ (API 28)
- Xposed Manager with API 101 support (official LSPosed recommended)
- Root optional (only needed for
Restart SystemUI)
-
Download the APK:
-
Install and enable the module in LSPosed.
-
Scope to
com.android.systemui -
Restart 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.
git clone https://github.com/hxreborn/punch-hole-download-progress.git
cd punch-hole-download-progress
./gradlew assembleReleaseRequires 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>Pull requests welcome. Open an issue for bugs or feature requests.
This project is licensed under the GNU General Public License v3.0. See LICENSE for details.




