- Integrate sherpa-onnx for local "Computer" wake-word detection - Add foreground service (microphone type) for continued listening across apps - Request RECORD_AUDIO, POST_NOTIFICATIONS, and foreground service permissions - Download and verify pinned sherpa-onnx model (17 MB) on first enable - Update LauncherViewModel with wake-word state and controller - Add WorkManager and commons-compress dependencies for model extraction - Update README with wake-word feature details and limitations
Ambient Launcher
An Android tablet home-screen replacement written in Kotlin and Jetpack Compose.
Included
- Android Home-role declaration and setup prompt
- Full-screen ambient slideshow with crossfade, interval control, image darkening, and optional local folder
- Clock with subtle burn-in position shifting
- API-key-free current weather and forecast from Open-Meteo
- Floating searchable app tray with persistent pinned apps
- Keep-awake options, including charging-only
- Scheduled ultra-dim/night presentation while the launcher is visible
- Offline “Computer” wake-word detection that opens Android’s default assistant
- Continued listening across other apps through a visible microphone foreground service
- Honest capability and permission status screen
- Manual Android media output panel shortcut
Setup
Open this folder in a compatible Android Studio installation, let Gradle sync, and run it on an Android 8.0+ device. Select Make default Home app during onboarding or later in Settings.
No API key is required. The initial location is San Francisco; change latitude, longitude, and location label under Weather settings.
Deliberately not claimed
System-wide audio routing and overlays over unrelated apps are not included. Android may block an assistant activity from opening over another app; when that happens, the wake-word service posts a one-tap Open assistant notification.
Wake word
Enabling wake word downloads the pinned open-source sherpa-onnx English keyword model (about 17 MB), verifies its SHA-256 digest, and installs only the required int8 model files in private app storage. Audio is analyzed locally and is never saved or transmitted.
The pinned sherpa-onnx 1.13.4 Android AAR is resolved from the project’s versioned GitHub release repository during a future Gradle build. Listening can only be started while the launcher is visible and requires microphone and notification permission. It does not automatically start from a boot receiver.