Punch-hole Download Progress

Verified safeOpen sourceExclusive
No reviews reviews
27
downloads
9.0
android

AI summary

Xposed module that renders an animated progress ring around the camera cutout during downloads. v2.4 adds per-element rotation lock, customizable text shadow and outline, Russian translation, and Real HDR brightness toggle for the ring on API 35+. Requires Android 12+, LSPosed, and a punch-hole display.

Generated by AI. May contain inaccuracies.

About this app

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

Features

- Progress ring rendered around the camera cutout using the native DisplayCutout API. - Customizable appearance: colors per state (active/completed/failed), arc thickness, opacity, and direction. - Completion animations and optional haptic feedback. - Active download counter badge. - Battery saver-aware rendering. - Built-in test mode for simulating states. - Material 3 Expressive settings UI with Jetpack Compose.

Requirements

- Android 12 (API 31) or higher. - LSPosed (JingMatrix fork recommended). - Pixel or AOSP-based ROM. - Root access (optional, for Restart SystemUI in settings). - A phone with a punch-hole display.

Installation

1. Download the APK. 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.

License

GNU General Public License v3.0

What's new

v2.4.0Jun 10, 2026
  • Features
  • 3e0abc5 (hook) Per-element rotation lock for overlay items by @hxreborn
  • 5b1eabf (ui) Customizable text shadow and outline per element by @hxreborn
  • bc18873 (ui) Add Russian translation by @Osean22
  • 8c7f6c9 (view) Add toggle for Real HDR brightness for the ring on API 35+ by @hxreborn
  • Bug Fixes
  • 356195a (build) Drop aboutlibraries plugin and commit pre-generated JSON by @hxreborn
  • 19d20cf (hook) Hold strong ref to pref change listener by @hxreborn
  • d15db9c (ui) Move slider state sync into LaunchedEffect by @hxreborn
  • Performance Improvements 462199b (hook) Cache cancellation reason field in remove path by @hxreborn
  • 64ad993 (hook) Cache action field reflection in download path by @hxreborn
  • 7d4960d (ui) Mark AppPrefs as @immutable for skipping by @hxreborn
  • Refactor
  • f520404 (hook) Move pref cache to xposed/hook/IndicatorState by @hxreborn
  • ae78229 (prefs) Drop legacy single-rotation offset prefs [breaking] by @hxreborn
  • Direct upgrade from <= v1.8.2 resets percent text, filename text and counter calibration.
  • 8868ec0 (ui) Drop unused isXposedEnabled stub by @hxreborn
  • a4a1efe (ui) Use viewModels delegate for SettingsViewModel by @hxreborn
  • 5f43f5f (view) Per-key cache refresh and paint helper extraction by @hxreborn
  • c6145d7 Tighten mService visibility, add bind diagnostic by @hxreborn
  • e351adc Move PrefsRepository ownership to PHDPApp by @hxreborn
  • a51b167 Move PHDPApp service binder fields to instance members by @hxreborn
  • 0405327 Implement OnServiceListener directly on PHDPApp by @hxreborn
  • c752d9c Drop unused PHDPApp.companion.instance by @hxreborn
  • 3107bd7 Rename PrefsState to AppPrefs by @hxreborn
  • 48bdaa8 Annotate top-level module var with @PublishedApi by @hxreborn
  • 668b747 Rename hook singletons from Hooker to Hook by @hxreborn
  • c4d6690 Rename PHDPApp binder handle to mService by @hxreborn

About this version

Version
2.4.0 (24000)
Size
3.22 MB
Requires Android
9.0
Target SDK
28
Architecture
armeabi-v7a, x86, x86_64, arm64-v8a
Downloads
27
Updated
Jun 10, 2026
Package
eu.hxreborn.phdp

Ratings & reviews

0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app