mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-22 15:01:13 +00:00
* fix(android): stop push-to-talk from dropping speech after mid-hold pauses The SpeechRecognizer PTT path ran one session with a 2.5s silence window, kept only the last final, and never restarted during a hold - speech after a mid-hold pause was silently dropped. Capture now uses an ordered rung ladder: API 33+ app-owned AudioRecord piped via EXTRA_AUDIO_SOURCE with EXTRA_SEGMENTED_SESSION, then silence-keyed segmented sessions, then a restart-during-hold single-session fallback for older devices; failed holds only descend. Final segments accumulate and merge locale-aware (no ASCII separators after CJK/Arabic punctuation), with a trailing live partial deduped against the last final. Release waits one bounded grace for the terminal recognizer callback so late finals are not truncated; rapid re-press drains the prior release instead of cancelling it; cancellation mid-release still tears capture down, resumes realtime talk, and resolves the stop payload. Raw-rung release also stops the recognizer since EXTRA_AUDIO_SOURCE is optional and a service may run its own microphone. Input level meters from our PCM stream in the raw rung where onRmsChanged never fires. * fix(android): API-33 recognizer extras behind RequiresApi and inventory refresh Min-SDK lint (InlinedApi) flagged the API 33 RecognizerIntent extras; they now live in RequiresApi(TIRAMISU) helpers behind explicit SDK gates, and the native i18n inventory is refreshed for the moved lines. * chore(android): rebuild native locale artifacts for inventory order