feat: кнопка «⏹ Закрыть» в пульте + автоматика обрыва связи (README «Автоматика»)
- GlassesScreen: кнопка ⏹ Закрыть → sendCommand(CLOSE) (обработчики были: телефон audio.stop, очки MovieController.close) - app-glasses: MovieController.pauseIfPlaying()/resume(); HostConnection — при обрыве WS пауза + флаг, при восстановлении — continue (лог «связь потеряна — пауза» / «связь восстановлена — продолжаю»); флаг сбрасывается на PlayVideo/CLOSE - app-phone: ConnectionAutomatics (connectionEvent, авто-resume по флагу «играл ли») + коллектор на hub.connected - Тесты: app-phone 67/0, app-glasses 15/0 - OFF7 3/3: A5 стоп + обрыв-пауза-продолжение подтверждены живым прогоном
This commit is contained in:
@@ -111,4 +111,17 @@ class MovieController(private val context: Context) {
|
||||
val player = _player ?: return 0L to false
|
||||
return player.currentPosition to player.isPlaying
|
||||
}
|
||||
|
||||
/** Пауза при потере связи, если плеер играл. Только с главного потока. Возвращает, играл ли. */
|
||||
fun pauseIfPlaying(): Boolean {
|
||||
val player = _player ?: return false
|
||||
val wasPlaying = player.isPlaying
|
||||
if (wasPlaying) player.pause()
|
||||
return wasPlaying
|
||||
}
|
||||
|
||||
/** Продолжить с того же места (связь восстановилась). Только с главного потока. */
|
||||
fun resume() {
|
||||
_player?.play()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user