Skip to main content

EXTENSIONS

Selection
1 results
label:android

Android

@shrug/android · v2026.10.13.1

Swamp-managed Android device over ADB. One model type (@shrug/android/device) drives the local `adb` CLI (via Deno.Command, behind an injectable exec seam) to pull device state into typed, versioned snapshots and to manage apps through gated, auditable mutations. Reads (all non-root): device identity + capability ceiling + owners (syncDevice), full app inventory joined from `pm list` + `dumpsys package` (syncPackages), per-app usage + standby buckets (syncUsage), on-disk code sizes (syncStorage), user-facing runtime permissions with a privacy-category rollup (syncPermissions), estimated per-app power use in mAh (syncBattery), special-access appops holders (syncAppControls), and per-app notification posture (syncNotifications); a fan-out `sync` captures the whole surface in one model-lock run. Management (dry-run by default, confirm=true to apply, protected-app guard, every run audited to a mutation/reconcile log): disable/enable/uninstall/restore (single + fan-out), force-stop, clear-data, set an appop, and a declarative desired-state reconcile (applyDesired). syncLabels resolves human-readable app names from Play / F-Droid. Privacy-conscious: notification posture is derived from the POST_NOTIFICATIONS grant, never from notification content, and nothing leaves the device except the opt-in store-label lookups. Ships an app-classification report that flags unused junk, enriched by the Universal Debloater Alliance (UAD-NG) community list. Pure parsers over captured adb stdout make the whole surface unit-testable with no device.

upd Oct 133 pullsA93/100