Warm Tiles

Keeps third-party Quick Settings tiles warm by raising SystemUI's binding cap, so they respond on tap instead of cold-starting.

Android 13+ libxposed API 101 Xposed Repo

Background

Android limits third-party Quick Settings tiles to 3 concurrent bindings by default. When the QS panel opens, SystemUI recalculates allowances and unbinds tiles past the cap. On many ROMs the unbound services sit frozen, so tapping one triggers an unfreeze/rebind delay.

Tiles still unbind ~30 seconds after the panel closes.

Warm Tiles hooks SystemUI to raise that cap, so more tiles stay bound while the panel is open.

Requirements

  • Android 13+ (API 33+)
  • Xposed manager with API 101 support (official LSPosed, LSPosed Irena fork, or Vector's JingMatrix fork)
  • Scope: com.android.systemui
  • Root for tile scanning and Restart SystemUI

Tested on Pixel and LineageOS (Android 16). Other OEM ROMs may vary.

System Overhead

  • RAM: more tiles stay bound while QS is open, so memory use scales with tile count. Memory returns to stock once the panel closes and services unbind (~30s).
  • Battery: no periodic work, wakelocks, or network. The hook runs only when SystemUI recalculates tile bindings.
  • Stability: the hook blocks memory-pressure downscaling of the cap. Aggressive settings on low-RAM devices can raise jank or trigger OOM kills.

Report issues on GitHub.

Installation

  1. Grab the APK:

    Get it on GitHub Get it on Obtainium

  2. Enable the module in LSPosed.

  3. Scope to com.android.systemui.

  4. Restart SystemUI or reboot.

  5. Open the app and adjust the binding limit slider.

License

GPLv3

GPLv3. See LICENSE.

Releases

v2.0.0

Stable

3/8/2026, 8:58:43 PM

✨ New Features

  • Rewrote the entire UI with Jetpack Compose and Material3 dynamic colors
  • Tile activity log with search, event type filters, and per-tile chips
  • Cold-start latency badges that highlight slow rebinds
  • Tile providers card showing installed QS tile services
  • Status banner warns when hooks are only partially active
  • Track tile taps, cold-start bind latency, and service deaths
  • Hook-to-app event streaming via ContentProvider

🐛 Bug Fixes

  • Fix live binding limit updates silently stopping after GC

Assets

1

v1.6.0

Stable

1/25/2026, 11:27:40 AM

✨ New Features

🐛 Bug Fixes

  • 4e1aa2e - prefs: persist settings via dual-prefs and XposedProvider (commit by @hxreborn)

♻️ Refactors

  • 1034d1b - ui: move recommended action from menu to inline button (commit by @hxreborn)

🔧 Chores

Assets

1

1.5.0

Stable

12/24/2025, 7:36:50 AM

🐛 Bug Fixes

  • e9dfa17 - app: use CopyOnWriteArrayList for thread-safe listener iteration (commit by @hxreborn)

♻️ Refactors

🔧 Chores

Assets

1

1.3.0

Stable

12/24/2025, 7:36:00 AM

🐛 Bug Fixes

♻️ Refactors

🎨 Style

Assets

1

1.1.0

Stable

12/24/2025, 7:35:29 AM

✨ Features

🐛 Bug Fixes

  • 1990fab - add missing IDs to status divider and container (commit by @hxreborn)
  • 605ee9a - use libxposed remote prefs for boot persistence (commit by @hxreborn)

♻️ Refactors

📝 Documentation

Assets

1