Сохраняем прогресс просмотра и возобновляем с позиции

This commit is contained in:
2026-09-02 20:55:00 +03:00
parent 1b28760c6e
commit f656f43e10
9 changed files with 91 additions and 19 deletions
@@ -74,6 +74,8 @@ data class PlaybackPosition(
val audioIndex: Int = 0,
/** Время отправки на часах очков (epoch ms). Телефон мерит латентность линка = now − sentTs. 0 = не замерено. */
val sentTs: Long = 0L,
/** Длительность видео на очках, мс; -1 = неизвестно (стара прошивка / ещё не prepared). */
val durationMs: Long = -1L,
) : GlassesToHost
/** Очки выключились / экран погас. */
@@ -125,6 +125,7 @@ class GlassesToHostTest {
playing = true,
itemId = "movie-1",
audioIndex = 2,
durationMs = 7_200_000,
)
val text = json.encodeToString(GlassesToHost.serializer(), msg)
assertTrue("\"itemId\":\"movie-1\"" in text)
@@ -135,6 +136,7 @@ class GlassesToHostTest {
assertTrue(decoded.playing)
assertEquals("movie-1", decoded.itemId)
assertEquals(2, decoded.audioIndex)
assertEquals(7_200_000, decoded.durationMs)
}
@Test
@@ -147,6 +149,7 @@ class GlassesToHostTest {
assertTrue(!decoded.playing)
assertNull(decoded.itemId)
assertEquals(0, decoded.audioIndex)
assertEquals(-1L, decoded.durationMs)
}
@Test