Punch-hole Download Progress

Verified safeOpen sourceExclusive
No reviews reviews
32
downloads
9
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
Target SDK
28
Architecture
armeabi-v7a, x86, x86_64, arm64-v8a
Downloads
32
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