From 36915fba091c3492dc94e71f063d5c0b49efa3f5 Mon Sep 17 00:00:00 2001 From: cogwheel0 <172976095+cogwheel0@users.noreply.github.com> Date: Fri, 21 Nov 2025 12:20:01 +0530 Subject: [PATCH] feat(tts): ensure Android default TTS engine is set before speaking --- android/app/src/main/AndroidManifest.xml | 3 +++ .../chat/services/text_to_speech_service.dart | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 38a833e..7008f09 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -20,6 +20,9 @@ + + + _ensureAndroidDefaultEngine() async { + if (kIsWeb || !Platform.isAndroid) { + return; + } + try { + final engine = await _tts.getDefaultEngine; + if (engine is String && engine.isNotEmpty) { + await _tts.setEngine(engine); + } + } catch (e) { + _onError?.call(e.toString()); + } + } + bool _computeAvailability() { final serverAvailable = _api != null; switch (_engine) { @@ -808,6 +823,7 @@ class TextToSpeechService { var configured = false; try { + await _ensureAndroidDefaultEngine(); Map? defaultVoice; bool voiceSet = false;