ShizuStore

Latch

wized2

0.6.3 · GitHub

Download APK
Automation Android 8.0+ 2 weeks ago MIT
254 ShizuStore
550 GitHub
19 Stars
1 MB Size

More about this app

Privacy-first Tasker-style automation with local if/then rules, multi-action chains, optional Shizuku/root elevated actions, and no cloud.

Latch logo

Latch

Privacy-first Android automation
Local if → then rules. No account, no cloud, no ads, no trackers.

Build Release Stars MIT Android 8+

Website · Download APK · Español

Screenshots

Home Settings Settings (more) Edit rule
Home Settings Settings more Edit rule

Engine (always-on)

  • Sticky foreground monitor (specialUse) hosts dynamic receivers (Wi‑Fi, power, screen, …)
  • Accessibility for instant App opened rules (Usage access is fallback only)
  • Exact alarms for daily time windows
  • Shizuku/root for elevated actions — bound only while a command runs

Features

Triggers

Battery · charger · headphones · daily time · boot · Wi‑Fi · SSID · Bluetooth · app opened · screen · custom broadcast

Actions (chainable)

Notify · toast · ringer · open app · open URL · brightness · shell (optional root) · wait · plugin broadcast

More

  • Multi-step action lists per rule
  • Cooldown + notes on each rule
  • Search on the home list (name / trigger)
  • Home-screen widget (toggle a rule)
  • Plugin API for other FOSS apps
  • JSON export / import of recipes
  • Material You theme (light / dark / system, seed color chips)

Elevated access

Optional Shizuku (preferred) or root su for shell / svc style actions. Enable in Settings and grant when prompted.

Privacy

No INTERNET permission. No analytics. Rules stay on device unless you export them.

Plugin API

com.endroid.latch.api.FIRE_TRIGGER   extra trigger=<string>
com.endroid.latch.api.RUN_RULE       extra rule_id=<uuid>

Stable vs beta

Channel Branch Application id
Stable main com.endroid.latch
Beta beta com.endroid.latch.beta

Install

Build

./gradlew assembleRelease

Related

Project What
Fern Material You system monitor (CPU, RAM, battery, Shizuku)

Why Latch vs others?

Latch Tasker MacroDroid
Cloud / account Never Optional Optional
Trackers / ads None None (paid) Free has limits
Open source MIT No No
Shizuku / root optional Yes Plugin ecosystem Limited
Beginner recipes JSON packs in /recipes Community Built-in

Install options

  • GitHub Releases — latest APK
  • Obtainium — add https://github.com/wized2/Latch for update checks
  • F-Droid / IzzyOnDroid — metadata prepared under fastlane/; listing pending

Recipe packs

Import JSON from recipes/ (work Wi‑Fi silent, headphones → music, night silent, low battery, boot notify, …).

Why Latch?

Tasker-class power without cloud accounts or trackers. Rules are plain local data; optional elevation is explicit.

Example recipes

See docs/RECIPES.md and JSON under recipes/.

OEM battery tips: docs/OEM_BATTERY.md.

Contributing

Growth norms (no fake stars / spam): docs/GROWTH.md.

  1. Read docs/DEVELOPMENT.md.
  2. Work on beta and open PRs against beta (com.endroid.latch.beta).
  3. Grab a good first issue.

Spanish overview: README.es.md.

Example recipes

See docs/RECIPES.md and JSON under recipes/.

OEM battery tips: docs/OEM_BATTERY.md.

Contributing detail

PRs welcome — especially new triggers/actions, OEM battery tips, and accessibility.

License

MIT · Project Endroid


If Latch helps you automate privately, a star helps others find it ⭐

First contribution in 15 minutes

  1. Fork and clone
  2. ./gradlew assembleDebug or open in Android Studio
  3. Create a TIME_DAILY toast rule or import recipes/*.json
  4. Pick a good first issue
  5. PR against beta when possible

See CONTRIBUTING.md and docs/RECIPES.md.

Contribute / contributor hunt

First-time contributors welcome:

Start here Link
Good first issues https://github.com/wized2/Latch/labels/good%20first%20issue
Contributor hunt https://github.com/wized2/Latch/labels/contributor-hunt
Help wanted https://github.com/wized2/Latch/labels/help%20wanted
Recipes guide docs/RECIPES.md
Guide CONTRIBUTING.md

Easy first PRs: recipe JSON, accessibility labels, empty-state copy, docs.

Close

How Shizuku is used

Can run custom shell commands, toggle Wi-Fi, Bluetooth, mobile data, airplane mode and force stop apps via `svc`, `am` and `settings` shell commands.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Latch uses Shizuku to run elevated shell actions from local automation rules. Each bullet below is triggered by the user's own if/then rules:

  • Run custom shell commands: text the user types as a shell action in a rule is executed with elevated shell privilege through Shizuku.
  • Toggle Wi-Fi connections: a rule action turns Wi-Fi on or off with the svc wifi enable and svc wifi disable shell commands through Shizuku.
  • Toggle Bluetooth connections: a rule action turns Bluetooth on or off with the svc bluetooth enable and svc bluetooth disable shell commands through Shizuku.
  • Toggle mobile data: a rule action turns mobile data on or off with the svc data enable and svc data disable shell commands through Shizuku.
  • Toggle airplane mode: a rule action turns airplane mode on or off with the settings put global command plus an airplane mode broadcast through Shizuku.
  • Force stop apps: a package name chosen in a rule action is stopped with the am force-stop shell command through Shizuku.

Android APIs or commands used

  • sh -c
  • /system/bin/sh -c
  • svc wifi enable
  • svc wifi disable
  • svc bluetooth enable
  • svc bluetooth disable
  • svc data enable
  • svc data disable
  • settings put global airplane_mode_on
  • am broadcast -a android.intent.action.AIRPLANE_MODE
  • am force-stop

Notable details

Rule actions still run without Shizuku through a normal shell, but privileged toggles and stops need the elevated path to succeed.

Close

Changelog

What's new for version 0.6.3

Latch 0.6.3

UI

  • Home: search rules by name / trigger; enabled rules sort first
  • Settings: seed colors as wrapping FilterChips (no overflow on small phones)

Docs

  • README badges + website/download links
  • Issue template + funding metadata

Full Changelog: https://github.com/wized2/Latch/compare/v0.6.2...v0.6.3

Close

Permissions

22 permissions requested

  • android.permission.INTERNET
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.ACCESS_NOTIFICATION_POLICY
  • android.permission.POST_NOTIFICATIONS
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.SCHEDULE_EXACT_ALARM
  • android.permission.USE_EXACT_ALARM
  • android.permission.VIBRATE
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.PACKAGE_USAGE_STATS
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.WRITE_SETTINGS
  • android.permission.CAMERA
  • android.permission.FLASHLIGHT
  • com.endroid.latch.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close