Warm Tiles
May 29, 2026 ยท View on GitHub
Keeps third-party Quick Settings tiles warm by raising SystemUI's binding cap, so they respond on tap instead of cold-starting.
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
-
Grab the APK:
-
Enable the module in LSPosed.
-
Scope to
com.android.systemui. -
Restart SystemUI or reboot.
-
Open the app and adjust the binding limit slider.
Build
git clone https://github.com/hxreborn/qs-boundless-tiles.git
cd qs-boundless-tiles
./gradlew assembleRelease
Requires JDK 21 and the Android SDK. Set local.properties:
sdk.dir=/path/to/android/sdk
Release signing is optional (signing.properties or RELEASE_* Gradle/env properties).
License
GPLv3. See LICENSE.

