feat(android): add foreground Voice Wake (#107081)

* feat(android): add foreground voice wake

* chore(android): refresh voice wake artifacts

* fix(android): refresh voice wake capability readiness

* chore(android): sync voice wake translations

* chore: keep release notes in PR context
This commit is contained in:
Peter Steinberger
2026-07-13 21:48:29 -07:00
committed by GitHub
parent 692cb8dd9b
commit 4023eb92d2
73 changed files with 6516 additions and 717 deletions
+2 -1
View File
@@ -37,7 +37,7 @@ KEEP_EMULATOR="${ANDROID_SCREENSHOT_KEEP_EMULATOR:-0}"
SKIP_BUILD=0
SKIP_INSTALL=0
DRY_RUN=0
SCENES=(home chat voice settings gateway)
SCENES=(home chat voice settings gateway voice-wake)
EMULATOR_PID=""
EMULATOR_LOG=""
STARTED_EMULATOR=0
@@ -455,6 +455,7 @@ scene_ready_text() {
chat) printf '%s\n' "Ready when you are" ;;
voice) printf '%s\n' "Ready to talk" ;;
settings) printf '%s\n' "OpenClaw mobile" ;;
voice-wake) printf '%s\n' "Wake listener" ;;
# Connected fixtures can push Add Gateway below the composed viewport, so
# wait for the gateway detail's always-visible subtitle instead.
gateway) printf '%s\n' "Connection between this phone and OpenClaw." ;;
@@ -38,7 +38,6 @@
"node.presence": "Node activity is reported by macOS nodes and consumed by gateway routing; Android has no presence reporter yet.",
"device.pair.requested": "Device pairing flows poll via device.pair.* methods on Android.",
"device.pair.resolved": "Device pairing flows poll via device.pair.* methods on Android.",
"voicewake.changed": "Android reads voicewake state on demand via voicewake.get; no push consumer yet.",
"voicewake.routing.changed": "Android reads voicewake state on demand via voicewake.get; no push consumer yet.",
"plugin.approval.requested": "Plugin approval prompts are not implemented on Android.",
"plugin.approval.resolved": "Plugin approval prompts are not implemented on Android.",
+1
View File
@@ -65,6 +65,7 @@ const androidEnums: EnumSpec[] = [
["Calendar", "calendar"],
["Motion", "motion"],
["CallLog", "callLog"],
["VoiceWake", "voiceWake"],
]),
enumSpec("OpenClawCanvasCommand", "canvas.", [
["Present", "present"],