Skip to the content.

26.10.13 14:51

Обзор архитектуры

Техническая спецификация Стек, EN Требования

Приложение использует MVVM, Hilt, репозитории и use case. Поток выполнения близок к Clean Architecture, но зависимости при компиляции намеренно прагматичны.

Поток слоёв

UI → ViewModel → UseCase → Repository → DataSource

ViewModel предоставляет наблюдаемое состояние и события. Use case координирует операции. Интерфейсы репозиториев образуют границу для тестирования, реализации отвечают за сохранение данных и локальные, сетевые или облачные источники. Domain также использует отдельные типы слоя data: это не заявление о строгой инверсии всех зависимостей.

Модули

Ключевые принципы реализации

Подсистема Трансляций

StreamsActivity и StreamsViewModel отображают список. Импорт каталога использует ImportStreamCatalogUseCase и StreamSourceRepository с сущностями и DAO Room. StreamInlineAudioManager управляет аудио в списке и ICY-метаданными; полноэкранное видео использует существующий путь плеера.

Протоколы и доступность экрана зависят от редакции; сверяйтесь со сгенерированной матрицей. Каталог не гарантирует доступность удалённого источника или совместимость кодека.

Файловые операции и лаунчер

Операции передаются стратегиям соответствующего протокола. Перенос папки между протоколами выполняется поэлементно: после отмены уже записанные элементы могут остаться, а источник удаляется лишь после подтверждения копии. Транзакционного отката всей папки нет.

В редакциях с лаунчером доступны рабочий стол, панель задач и гаджеты. Домашний экран выбирает сам пользователь. Раскладки портретного и альбомного рабочего стола хранятся независимо.

Источники реализации

Практические настройки описаны в документации пользователя.