https://github.com/hxreborn/qs-boundless-tiles
LSPosed module that keeps third-party Quick Settings tiles responsive on Android 13+.
https://github.com/hxreborn/qs-boundless-tiles
android lsposed lsposed-module root systemui xposed xposed-module
Last synced: 3 months ago
JSON representation
LSPosed module that keeps third-party Quick Settings tiles responsive on Android 13+.
- Host: GitHub
- URL: https://github.com/hxreborn/qs-boundless-tiles
- Owner: hxreborn
- License: gpl-3.0
- Created: 2025-12-21T13:18:49.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-01-27T23:18:05.000Z (5 months ago)
- Last Synced: 2026-01-28T13:15:12.542Z (5 months ago)
- Topics: android, lsposed, lsposed-module, root, systemui, xposed, xposed-module
- Language: Kotlin
- Homepage:
- Size: 349 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-android-root - QS Boundless Tiles - Keeps third-party Quick Settings tiles responsive on Android 13+. `FOSS` `[LSP]` (Gestures and Navigation / Themes and Visual Mods)
README
# QS Boundless Tiles
LSPosed module that keeps third-party Quick Settings tiles responsive on Android 13+.



## Background
Since Nougat (2016) Android has limited third party Quick Settings to [3 active tiles](https://android.googlesource.com/platform/frameworks/base/+/d5a204f16e7c71ffdbc6c8307a4134dcc1efd60d/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java#37). SystemUI manages tile bindings via a visibility-based priority queue, evicting services for non-visible tiles once the cap is reached. The Android 13 optimizer then freezes these evicted services which causes a ~3-5 second delay when they are eventually tapped.
Example: 10 third-party tiles installed
1. You pull down the QS panel
2. SystemUI binds the 3 most visible tiles using its visibility-based priority queue
3. The remaining 7 are evicted and frozen by CachedAppOptimizer
4. You tap an inactive tile and wait 3-5 seconds for the unfreeze-and-rebind cycle to complete
## How it works
This module uses the modern Xposed API to hook into `SystemUI` and raise the binding cap, allowing all your tiles to stay warm and responsive without the lag russian roulette.
## Requirements
- Android 13+ (API 33+)
- LSPosed (API 100)
- Scope: `com.android.systemui`
Tested on Pixel and LineageOS (Android 16). OEM ROMs (Samsung, Xiaomi, etc.) untested. Root required on Android 14+ for tile scanning and SystemUI restart.
## System Overhead
**Memory Footprint**: Each tile uses ~10-30 MB. Even with 20+ tiles active, the total RAM usage is virtually imperceptible on any 6GB+ device.
**Battery & Wakeclocks**: No idle drain or unnecessary wakeups. Power consumption depends entirely on what your active tiles do.
**Stability**: Higher binding limits increase active connections in SystemUI. Poorly coded tiles may cause issues on budget devices at extremely high limits.
If you encounter issues, please [file an issue on GitHub](https://github.com/hxreborn/qs-boundless-tiles/issues/new/choose).
## Installation & Usage
1. Download the APK:
2. Install and enable the module in [LSPosed](https://github.com/JingMatrix/LSPosed)
3. Scope to `com.android.systemui`
4. Restart SystemUI or reboot the device
5. Open the app and adjust the slider (grant root for auto-calculated optimal limit)
## Build
1. Install JDK 21, Android SDK
2. Configure SDK path in `local.properties`
```properties
sdk.dir=/path/to/android/sdk
```
3. Build APK
```bash
./gradlew assembleRelease
```
4. (Optional) Sign release builds via `signing.properties` or environment variables
```properties
keystore.path=/path/to/your/keystore.jks
keystore.password=
key.alias=
key.password=
```
Unsigned builds remain reproducible.
## License
This project is licensed under the GNU General Public License v3.0 – see the [LICENSE](LICENSE) file for details.

