aboutsummaryrefslogtreecommitdiffstats
path: root/lib/presentation/screens/home
diff options
context:
space:
mode:
authorAnuj Solanki <anuj603362@gmail.com>2024-09-29 21:31:03 +0530
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-10-07 10:52:41 +0000
commitf870bbe3c49d421ff8ea561752b3b0a38ad04e96 (patch)
treee6607974a3ea6591f622a3ebe8010561b0a6ad26 /lib/presentation/screens/home
parent29ae7d2d9e04bd8e3a7d37dcfa87a02dd1ab385f (diff)
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>
Diffstat (limited to 'lib/presentation/screens/home')
-rw-r--r--lib/presentation/screens/home/home.dart11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/presentation/screens/home/home.dart b/lib/presentation/screens/home/home.dart
index 0ee52ac..6e3e119 100644
--- a/lib/presentation/screens/home/home.dart
+++ b/lib/presentation/screens/home/home.dart
@@ -1,4 +1,6 @@
import 'package:flutter_ics_homescreen/export.dart';
+
+import '../../common_widget/voice_assistant_button.dart';
// import 'package:media_kit_video/media_kit_video.dart';
final bkgImageProvider = Provider((ref) {
@@ -76,6 +78,15 @@ class HomeScreenState extends ConsumerState<HomeScreen> {
height: 500,
child: const VolumeFanControl()),
),
+ // Voice Assistant Button
+ if (appState != AppState.splash && ref.watch(voiceAssistantStateProvider.select((value)=>value.isVoiceAssistantEnable)))
+ Positioned(
+ top: MediaQuery.of(context).size.height * 0.82,
+ child: Container(
+ padding: const EdgeInsets.only(left: 8),
+ child: const VoiceAssistantButton()
+ ),
+ ),
],
),
bottomNavigationBar: