fix(android): wire MP3 fallback call, prevent double-speaking

- Codex P1: streamAndPlayMp3 was computed but never called after PCM
  failure. Now properly invoked as fallback.
- Codex P2: MicCaptureManager.speakAssistantReply now skipped when
  TalkModeManager.ttsOnAllResponses is active, preventing both
  pipelines from speaking the same assistant reply.
This commit is contained in:
Greg Mousseau
2026-02-28 12:58:14 -05:00
committed by Ayaan Zaidi
parent 587790e84a
commit 930841cd7c

View File

@@ -361,7 +361,11 @@ class NodeRuntime(context: Context) {
parseChatSendRunId(response) ?: idempotencyKey
},
speakAssistantReply = { text ->
voiceReplySpeaker.speakAssistantReply(text)
// Skip if TalkModeManager is handling TTS (ttsOnAllResponses) to avoid
// double-speaking the same assistant reply from both pipelines.
if (!talkMode.ttsOnAllResponses) {
voiceReplySpeaker.speakAssistantReply(text)
}
},
)
}