Integrate voice assistant into flutter-ics-homescreen 26/30326/5
authorAnuj Solanki <anuj603362@gmail.com>
Sun, 29 Sep 2024 16:01:03 +0000 (21:31 +0530)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 7 Oct 2024 10:52:41 +0000 (10:52 +0000)
commitf870bbe3c49d421ff8ea561752b3b0a38ad04e96
treee6607974a3ea6591f622a3ebe8010561b0a6ad26
parent29ae7d2d9e04bd8e3a7d37dcfa87a02dd1ab385f
Integrate voice assistant into flutter-ics-homescreen

 - Implement voice-agent client to connect with agl-service-voiceagent
   for command execution, wake word detection.
 - ⁠Add a setting tile on the settings page for configuring voice
   assistant settings.
 - Add toggle buttons for wake word mode, online mode, overlay and
   speech-to-text model in the voice assistant settings.
 - Add a button on the homepage to start the voice assistant.
 - Update gRPC protos to retrieve online-mode status from the voice
   service.
 - Make online-mode tile conditional in voice-assistant settings,
   removing it from the UI if not enabled in the service.
 - Automatically hide the overlay 3 seconds after command execution.

Bug-AGL: SPEC-5200
Change-Id: I4efaaf16ebc570b28816dc7203364efe2b658c2e
Signed-off-by: Anuj Solanki <anuj603362@gmail.com>
27 files changed:
animations/LoadingAnimation.json [new file with mode: 0644]
assets/VoiceAssistantActive.svg [new file with mode: 0644]
assets/VoiceAssistantBottomSheet.svg [new file with mode: 0644]
assets/VoiceAssistantBottomSheetBg.png [new file with mode: 0644]
assets/VoiceAssistantEnabled.svg [new file with mode: 0644]
assets/VoiceAssistantPressed.svg [new file with mode: 0644]
assets/VoiceControlButton.svg [new file with mode: 0644]
lib/data/data_providers/app_config_provider.dart
lib/data/data_providers/app_provider.dart
lib/data/data_providers/voice_agent_client.dart [new file with mode: 0644]
lib/data/data_providers/voice_assistant_notifier.dart [new file with mode: 0644]
lib/data/models/voice_assistant_state.dart [new file with mode: 0644]
lib/presentation/common_widget/voice_assistant_button.dart [new file with mode: 0644]
lib/presentation/router/routes/routes.dart
lib/presentation/screens/home/home.dart
lib/presentation/screens/settings/settings_screens/voice_assistant/voice_assistant_screen.dart [new file with mode: 0644]
lib/presentation/screens/settings/settings_screens/voice_assistant/widgets/stt_model/stt_model_screen.dart [new file with mode: 0644]
lib/presentation/screens/settings/settings_screens/voice_assistant/widgets/voice_assistant_content.dart [new file with mode: 0644]
lib/presentation/screens/settings/settings_screens/voice_assistant/widgets/voice_assistant_settings_list_tile.dart [new file with mode: 0644]
lib/presentation/screens/settings/settings_screens/voice_assistant/widgets/voice_assistant_tile.dart [new file with mode: 0644]
lib/presentation/screens/settings/widgets/settings_content.dart
protos/lib/src/generated/voice_agent/voice_agent.pb.dart [new file with mode: 0644]
protos/lib/src/generated/voice_agent/voice_agent.pbenum.dart [new file with mode: 0644]
protos/lib/src/generated/voice_agent/voice_agent.pbgrpc.dart [new file with mode: 0644]
protos/lib/src/generated/voice_agent/voice_agent.pbjson.dart [new file with mode: 0644]
protos/lib/val_api.dart
protos/protos/voice_agent/voice_agent.proto [new file with mode: 0644]