Skip to content

Add Android Assist VAD timing settings#6894

Closed
lextiz wants to merge 4 commits into
home-assistant:mainfrom
lextiz:codex/android-assist-vad-settings-20260524
Closed

Add Android Assist VAD timing settings#6894
lextiz wants to merge 4 commits into
home-assistant:mainfrom
lextiz:codex/android-assist-vad-settings-20260524

Conversation

@lextiz
Copy link
Copy Markdown

@lextiz lextiz commented May 24, 2026

Summary

Adds optional Assist silence and timeout overrides for voice runs. Related: home-assistant/core#122177.

Checklist

  • New or updated tests have been added to cover the changes following the testing guidelines.
  • The code follows the project's code style and best practices.
  • The changes have been thoroughly tested, and edge cases have been considered.
  • Changes are backward compatible whenever feasible.

Copy link
Copy Markdown

@home-assistant home-assistant Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @lextiz

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@lextiz
Copy link
Copy Markdown
Author

lextiz commented May 24, 2026

done

@lextiz lextiz marked this pull request as ready for review May 24, 2026 17:36
Copilot AI review requested due to automatic review settings May 24, 2026 17:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds configurable Voice Activity Detection (VAD) settings for Assist voice input, persists them in preferences, surfaces them in the Assist settings UI, and forwards them to the Assist websocket pipeline request.

Changes:

  • Add Assist VAD preference storage (get/set) and plumb settings through config manager and view models.
  • Extend runAssistPipelineForVoice websocket API/payload to include vad_silence_seconds and vad_timeout_seconds.
  • Add settings UI fields (Compose) + strings and expand unit/screenshot tests.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
common/src/main/kotlin/io/homeassistant/companion/android/common/data/websocket/WebSocketRepository.kt Extends voice pipeline API to accept optional VAD parameters.
common/src/main/kotlin/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt Adds VAD fields to websocket input payload when provided.
common/src/main/kotlin/io/homeassistant/companion/android/common/data/prefs/PrefsRepository.kt Introduces AssistVadSettings and new prefs APIs for VAD.
common/src/main/kotlin/io/homeassistant/companion/android/common/data/prefs/PrefsRepositoryImpl.kt Implements VAD settings persistence + parsing helpers.
common/src/main/kotlin/io/homeassistant/companion/android/common/assist/AssistViewModelBase.kt Passes VAD settings into voice pipeline websocket call via provider.
app/src/main/kotlin/io/homeassistant/companion/android/settings/assist/AssistConfigManager.kt Exposes VAD settings get/set via config manager.
app/src/main/kotlin/io/homeassistant/companion/android/settings/assist/AssistSettingsViewModel.kt Loads VAD settings into UI state and saves updates on change.
app/src/main/kotlin/io/homeassistant/companion/android/settings/assist/AssistSettingsScreen.kt Adds VAD input section with two numeric text fields.
common/src/main/res/values/strings.xml Adds user-facing strings for the VAD settings section.
common/src/test/.../WebSocketRepositoryImplTest.kt Adds assertions covering inclusion/omission of VAD in websocket input.
common/src/test/.../PrefsRepositoryImplTest.kt Adds tests for reading/writing VAD preferences.
common/src/test/.../AssistViewModelBaseTest.kt Verifies VAD settings forwarded to websocket pipeline call.
app/src/test/.../AssistSettingsViewModelTest.kt Adds tests for loading and saving VAD values via the settings VM.
app/src/test/.../AssistConfigManagerTest.kt Adds tests for config manager VAD pass-through to prefs.
app/src/test/.../AssistViewModelTest.kt Updates mocks and wiring to include VAD settings provider.
app/src/screenshotTest/.../AssistSettingsScreenScreenshotTest.kt Updates screenshot test calls with new callbacks.
app/src/main/kotlin/io/homeassistant/companion/android/assist/AssistViewModel.kt Wires vadSettingsProvider from AssistConfigManager.

@lextiz
Copy link
Copy Markdown
Author

lextiz commented May 24, 2026

Superseded by #6895 after CLA signing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants