Очки: разграничение SttCancel (user/timeout) — выход из режима при тишине 30с, микрофон закрывается при потере фокуса

This commit is contained in:
2026-08-23 21:17:43 +03:00
parent eaca47c443
commit e24caaa684
7 changed files with 129 additions and 17 deletions
@@ -203,7 +203,7 @@ class GlassesHub(
is StopStt -> {
if (msg.cancel) {
log("stt", "распознавание отменено (очки)")
send(connId, SttCancel())
send(connId, SttCancel(reason = "user"))
stt?.reset()
} else {
val full = stt?.finish() ?: ""
@@ -217,7 +217,7 @@ class GlassesHub(
} else {
// Фразы не было — очки возвращаются в «слушаю» (SttCancel).
log("stt", "фразы не было — очки в «слушаю»")
broadcast(SttCancel())
broadcast(SttCancel(reason = "user"))
}
}
}
@@ -375,7 +375,7 @@ class PhoneApp : Application() {
},
onSilence30s = {
log("stt", "тишина 30 с — автo-отмена")
scope.launch { server.hub.broadcast(SttCancel()) }
scope.launch { server.hub.broadcast(SttCancel(reason = "timeout")) }
},
)
sttStreamer = s