live

PolyQon.

Free Samsung One UI theming — the Hex Installer successor. Open source. No paywall. in progress

PolyQon

Free, open-source Samsung One UI theming — the Hex Installer + Iconify successor.

> Status: LIVE ON DEVICE — PolyQon is now a full three-part stack, all tested on rooted > Fold 6s (One UI 8.5 + One UI 7): > > 1. CLI (polyqon) — recolours the whole phone via cmd overlay fabricate (Material You + > Samsung sesl_* accent), plus tweaks + Good Lock detection. > 2. App (com.polyqon.app) — a native One UI-style Android app with a Tweaks hub that drives > everything (recolour, gradients, harmony explorer, contrast meter, tweaks). > 3. Xposed module (com.polyqon.xposed) — deep hooks for the stuff overlays can't reach > (status-bar clock position/colour/size, lockscreen clock, battery, QS columns, transparency).

Where things are at

Working & live-verified

In progress

What it is

PolyQon recolours your Samsung Galaxy two ways: the modern Material You / dynamic-colour route via One UI's own theming levers, and the classic hex-patch route that patches a theme package's colour values directly. Free, open source, GPL-3.0. No paywall, no login, no .rtc-style DRM. The Q is for q6q — the Fold 6's board codename.

$ polyqon --adb adb probe            # read the live theming levers (read-only)
$ polyqon apply --accent "#2D00FF"   # recolour the whole phone (arbitrary colour!)
$ polyqon scheme "#6750A4"           # one seed -> a full Material-You style scheme
$ polyqon ramp "#3B82F6" --tones 20,50,80
$ polyqon patch --apk theme.apk --palette palettes/example.json

Why it exists

The Samsung modding scene is drowning in closed-source tools that wrap free techniques in paywalls. Hex Installer — the thing everyone remembers — was exactly that. PolyQon rebuilds it in the open: the technique is documented, the source is free, and anyone can fork it.

Credit & lineage

PolyQon stands on the shoulders of Hex Installer (the Hex_ themes by Projekt Development) — the tool that pioneered hex-patching Samsung theme packages for system-wide recolouring. It was a brilliant idea; it was also closed-source and eventually left behind.

PolyQon is the open-source successor. Same technique, rebuilt from scratch, free forever. We're not cloning it — we're finishing what it started, in the open, so the next person doesn't hit a paywall to recolour their own phone.

The modern Material You / dynamic-colour half stands on ColorBlendr (by Mahmud0808) — the free tool that proved the theme_customization_overlay_packages lever could be driven from cmd overlay fabricate. PolyQon carries that idea to Samsung's sesl_* accent system, and the Xposed half is source-verified against Iconify (Mahmud0808, GPL-3.0).

The Hex feature map (reverse-engineered, ready to port)

Decoded the Hex Installer app + six third-party Hex plugins (ayOS, Asylum, Dolian, Helling, terpsichora_, Spark) to build a complete feature taxonomy. Hex themes across these surfaces:

Category What it themes
BACKGROUND wallpaper / app backgrounds
BOX card & panel boxes
CONTROL toggles, checkboxes, radio buttons
DIALPAD phone keypad
ICONS QS + settings icons
KEYBOARD keyboard keys
NAVBAR navigation bar
QS quick-settings panel
SETTINGSICON settings app icons
STATUSBAR status bar
HOME launcher / home screen
MISC everything else

Plus Hex's non-colour feature set: coloring (16 slots — accent, background, box stroke, bubble, notification bg/header/sub-text, transparency, gradient toggles), fonts (up to 10 custom), backgrounds (home/lockscreen, day & night), app icons, and preferences/tweaks (navbar height, hide battery icon, hide multi-SIM panel, QS rows/columns, tile mask, icon cache remover). All of this is being carried into PolyQon — colours via overlays, the rest via the Xposed module.

The research (done, live device)

Mapped the real theme system on a rooted One UI 8.5 Fold 6. Key finding: the "Color palette" picker writes the standard Android Material You key secure.theme_customization_overlay_packages — a JSON whose system_palette / accent_color hold an arbitrary ffRRGGBB colour (Samsung's legacy cmf_color_code doesn't move). That means PolyQon can set any colour, not a preset list.

json { "android.theme.customization.color_index": "0", "android.theme.customization.system_palette": "ff2d00ff", "android.theme.customization.accent_color": "ff2d00ff", "android.theme.customization.color_source": "preset", "android.theme.customization.theme_style": "TONAL_SPOT" }

Plus the other writable levers: `wallpapertheme_color` ramps, `navigationbar_color`, QS text
colours, and `colortheme_app_icon` (tint icons). The classic hex target (a theme APK's
`resources.arsc`) lives in `/data/overlays/main_packages/` + `jsonfiles/`.

## The core engine (working, tested)

A self-contained **Oklab** colour engine (no dependencies) — ARGB ↔ Oklab round-trips exactly, and
generates tonal palettes, hue rotation, and Material-You-style schemes from a single seed. Plus the
**hex-patch** core (the Hex Installer technique) and a **device bridge** that reads/writes the One UI
levers over adb:

```python```
def patch_colors(data: bytes, mapping: dict[str, str]) -> tuple[bytes, int]:
    out = bytearray(data)
    replaced = 0
    for old_hex, new_hex in mapping.items():
        old = struct.pack("<I", color_to_argb(old_hex))   # BB GG RR AA
        new = struct.pack("<I", color_to_argb(new_hex))
        n = out.count(old)
        if n:
            out = out.replace(old, new)
            replaced += n
    return bytes(out), replaced

Roadmap

  1. ✅ Theme-system map (live device).
  2. ✅ Colour engine (Oklab) + hex-patch core.
  3. ✅ Device bridge + CLI (probe / scheme / ramp / apply / patch / recolor / tweaks).
  4. ✅ Arbitrary accent colour (apply --accent).
  5. ✅ SemWT overlay format decoded (.frro fabricated overlays) + byte-perfect codec (frro.py).
  6. ✅ Full recolour works (recolor --seed) — two fabricated overlays (framework + SystemUI), including Samsung's sesl_* accent system. Live-verified: pink → blue, no reboot.
  7. ✅ Android app (com.polyqon.app) — recolour + gradients + tweaks hub, One UI polish.
  8. ✅ Xposed module (com.polyqon.xposed) — clock, lockscreen clock, battery, QS columns, transparency. Live on One UI 7 + 8.5.
  9. ⏳ Port the full Hex feature map (backgrounds, fonts, controls, dialpad, keyboard, navbar).
  10. ⏳ Publish on GitHub.

Repo

Coming to GitHub soon — same home as orbit. Watch this space.