No description
Find a file
2026-08-24 15:34:39 +02:00
app Read the signing password from a file 2026-08-24 01:44:05 +02:00
gradle/wrapper Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
.gitignore Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
build.gradle.kts Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
CLAUDE.md Add project notes for Claude sessions 2026-08-24 15:34:39 +02:00
gradle.properties Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
gradlew Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
gradlew.bat Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
LICENSE Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00
README.md Read the signing password from a file 2026-08-24 01:44:05 +02:00
settings.gradle.kts Quick settings tiles for ADB debugging and keeping the screen on. 2026-08-23 12:54:10 +02:00

snix Quick Settings Tiles

Quick settings tiles for things that otherwise take a trip to the settings app.

Written on GrapheneOS but tied to nothing in it: the settings it writes are plain AOSP. Android 14 or newer.

Two so far:

ADB cycles debugging through off, USB and wireless. From a locked screen it only ever turns things off; switching anything on asks to unlock first. A long press opens developer options with wireless debugging highlighted, or, while debugging is off, the page that reports what the tile is missing.

Wireless debugging runs on top of adb, so the wireless state leaves USB on as well; there is no wireless-only state to offer. On GrapheneOS an unfamiliar network raises a prompt on the device, and nothing listens until it is accepted — the tile shows as on while that prompt waits.

Awake holds the screen on for five, ten or thirty minutes, or until turned off. A notification shows while it runs and carries a stop button, for when the tile is out of reach.

Tiles ship hidden. The app lists them with a switch each, which is what offers one to the quick settings editor; adding it to the panel stays your job. Turning a switch off also stops whatever that tile had turned on — a tile that vanishes while its function keeps running leaves no obvious way to stop it.

Permissions

Awake needs notifications, which the app asks for when it first opens.

ADB needs WRITE_SECURE_SETTINGS, a development permission that no app can request at runtime. Grant it once over adb:

adb shell pm grant me.snix.tiles android.permission.WRITE_SECURE_SETTINGS

Until then the ADB tile stays off and says so, and tapping it explains where to find that command. It survives updates, and has to be granted again after an uninstall.

Installing

Releases are attached to the tags in this repository, and can be tracked with Obtainium by pointing it at this repo.

Building

./gradlew assembleDebug

Signing a release build takes a keystore, declared through Gradle properties in ~/.gradle/gradle.properties:

snix.keystore=/path/to/keystore.jks
snix.keyAlias=the-entry
snix.passwordFile=/path/to/password

The password is read from that file rather than written here, so it stays in one place. Without these only the debug build works, which is enough to try the app out.

Licence

GPL-3.0-or-later. See LICENSE.