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-метаданими; повноекранне відео використовує наявний шлях плеєра.

Протоколи й доступність екрана залежать від редакції; звіряйтеся зі згенерованою матрицею. Каталог не гарантує доступність віддаленого джерела чи сумісність кодека.

Файлові операції та лаунчер

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

У редакціях із лаунчером доступні робочий стіл, панель задач і гаджети. Домашній екран обирає користувач. Портретні й альбомні розкладки зберігаються незалежно.

Джерела реалізації

Практичні налаштування описано в документації користувача.