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;