feat: разделение контента — на телефон только аудио, на очки только видео
Телефон качает audio-N.ogg (audioKeys вместо fileKeys, стадия «звук»), очки получают DownloadFiles только с video.mkv (buildGlassesFileSpecs). Watch проверяет готовность обоих: телефон — audioReady(), очки — как было; отказ с подсказкой «Скачать на телефон/очки». Тесты: lib-core 19, phone 36.
This commit is contained in:
@@ -55,7 +55,7 @@ class DownloadManagerTest {
|
||||
|
||||
assertTrue(result.downloaded.isEmpty())
|
||||
assertEquals(
|
||||
DownloadProgress("i2", DownloadPhase.DOWNLOADING, 50, "видео"),
|
||||
DownloadProgress("i2", DownloadPhase.DOWNLOADING, 50, "звук"),
|
||||
result.progress["i2"],
|
||||
)
|
||||
}
|
||||
@@ -68,7 +68,7 @@ class DownloadManagerTest {
|
||||
|
||||
val result = scanDownloads(base, emptyMap())
|
||||
|
||||
assertEquals(DownloadProgress("i3", DownloadPhase.DOWNLOADING, 0, "видео"), result.progress["i3"])
|
||||
assertEquals(DownloadProgress("i3", DownloadPhase.DOWNLOADING, 0, "звук"), result.progress["i3"])
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -131,6 +131,27 @@ class DownloadManagerTest {
|
||||
assertEquals(listOf("video", "audio-0", "audio-1"), fileKeys(files))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun audioKeysFromMirrorCoversOnlyAudios() {
|
||||
val files = MirrorFiles(
|
||||
video = MirrorVideo(key = "v", url = "http://v"),
|
||||
audios = listOf(
|
||||
MirrorAudio(index = 0, key = "a0", url = "http://a0"),
|
||||
MirrorAudio(index = 1, key = "a1", url = "http://a1"),
|
||||
),
|
||||
)
|
||||
assertEquals(listOf("audio-0", "audio-1"), audioKeys(files))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun audioKeysEmptyWithoutAudios() {
|
||||
val files = MirrorFiles(
|
||||
video = MirrorVideo(key = "v", url = "http://v"),
|
||||
audios = emptyList(),
|
||||
)
|
||||
assertTrue(audioKeys(files).isEmpty())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isFullyOnDiskRequiresAllFilesNoParts() {
|
||||
val base = newBaseDir()
|
||||
|
||||
Reference in New Issue
Block a user