punch-hole-download-progress

Introduction: Xposed module that shows download progress as a ring around the camera cutout.
More: Author   ReportBugs   OfficialWebsite   
Tags:

English | 简体中文

Xposed module that renders download progress as an animated ring around the camera cutout.

Android CI Kotlin Android

Download progress animation

Features

  • Progress ring around the camera cutout (via native DisplayCutout API) 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

  1. Download the APK:

    Get it on F-Droid Get it on IzzyOnDroid Get it on GitHub Get it on Obtainium

  2. Install and enable the module in LSPosed.

  3. Scope to com.android.systemui

  4. 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.

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

GPLv3

This project is licensed under the GNU General Public License v3.0. See LICENSE for details.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools