fix(android): stabilize realtime talk connection state · openclaw/openclaw@ffb02a5
obviyus
·
2026-05-25
·
via Recent Commits to openclaw:main
File tree
apps/android/app/src/main/java/ai/openclaw/app
| Original file line number | Diff line number | Diff line change |
|---|
@@ -515,7 +515,7 @@ class NodeRuntime(
|
515 | 515 | context = appContext, |
516 | 516 | scope = scope, |
517 | 517 | session = operatorSession, |
518 | | - isConnected = { operatorConnected }, |
| 518 | + isConnected = { _isConnected.value }, |
519 | 519 | onBeforeSpeak = { micCapture.pauseForTts() }, |
520 | 520 | onAfterSpeak = { micCapture.resumeAfterTts() }, |
521 | 521 | ).also { speaker -> |
@@ -622,7 +622,7 @@ class NodeRuntime(
|
622 | 622 | context = appContext, |
623 | 623 | scope = scope, |
624 | 624 | session = operatorSession, |
625 | | - isConnected = { operatorConnected }, |
| 625 | + isConnected = { _isConnected.value }, |
626 | 626 | onBeforeSpeak = { micCapture.pauseForTts() }, |
627 | 627 | onAfterSpeak = { micCapture.resumeAfterTts() }, |
628 | 628 | onStoppedByRelay = { finishTalkModeAfterRelayClose() }, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -578,7 +578,7 @@ class TalkModeManager internal constructor(
|
578 | 578 | while (true) { |
579 | 579 | realtimeSessionId?.let { return@withTimeout it } |
580 | 580 | val status = _statusText.value |
581 | | -if (!_isEnabled.value && status.startsWith("Talk failed")) { |
| 581 | +if (!_isEnabled.value && status != "Off") { |
582 | 582 | throw IllegalStateException(status) |
583 | 583 | } |
584 | 584 | delay(100L) |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。