One-screen Android app that turns an icon pack (Arcticons or any CandyBar-based
pack) into a HyperOS/MIUI .mtz theme and hands it straight to the system theme
manager.
Applying an icon pack on HyperOS today means two extra apps: Peafowl to build the theme, MTZ Tester to apply it. HyperIcons collapses that into a single step — pick icons, tap Apply, done.
- Discovers installed icon packs and parses their
appfilter.xml. - Lists launchable apps and share-sheet targets, auto-matches by component.
- Unmatched apps get a Pick button that opens the icon pack's own picker — search/browse, tap the icon you want.
- Choices persist in a local Room DB, so on the next run only new apps need attention.
- Apply builds an icons-only
.mtz(activity-qualified PNGs plus a per-package fallback so Quick Share / Print / Xiaomi Share resolve) and fires the theme manager'sApplyThemeForScreenshotentry point, with a Downloads-visible copy as the fallback path. - Wallpaper FAB deep-links to HyperOS's super wallpaper list
(
theme://zhuti.xiaomi.com/superwallpaperlist) so you can pick Saturn / Faraway Rings / etc. right after applying.
JDK 17+ and the Android SDK with platform 34.
# one-time: generate the gradle wrapper (needs a system gradle 8.x)
gradle wrapper --gradle-version 8.9
# build + install debug
./gradlew installDebugOr open the project in Android Studio and hit Run.
- Install an icon pack on the device (Arcticons from F-Droid or Play).
adb install -r app/build/outputs/apk/debug/app-debug.apk- Launch HyperIcons, tap Pick for any app marked unmatched, then tap Apply.
- A handful of share-sheet targets declare their own
android:iconand bypass MIUI's theme hook — those stay unthemed regardless of.mtzcontent. - No preview thumbnails in the
.mtz. Theme manager will show a blank tile. - The per-wallpaper detail activity is non-exported, so the Wallpaper FAB lands on the list — one more tap to pick a specific super wallpaper.