@startuml fig_03_navigation_hub scale 2 title Wallenc — навигация от главного экрана и связь с фоновой синхронизацией (проект) end title skinparam defaultFontName "DejaVu Sans" skinparam activityBackgroundColor #F8F8F8 skinparam activityBorderColor #333333 skinparam noteBackgroundColor #FCE4EC skinparam noteBorderColor #C2185B start :(A) Главный экран: список локальных vault; repeat :Ожидание действия пользователя; backward:Назад с подэкрана; switch (Действие?) case (FAB / новый vault) :Создание локального vault; case (Выбор vault) :Карточка / детали vault; case (Удалённые vault) :Экран удалённых vault; if (Нужен OAuth Яндекс?) then (да) :Авторизация Яндекс; endif case (Настройки) :Экран настроек; endswitch repeat while (Пользователь в приложении?) is (да) -> нет; stop floating note right **Фон: SyncWorker (по таймеру Android) — проект** • Room: таблица очереди с **UUID storage** • Периодический запуск метода синхронизации • Для каждого Storage — история **коммитов** (как git) • Сравнение локальной и удалённой истории, приведение зашифрованного содержимого к одному состоянию (ключи на сервер не уходят) • Работает **независимо** от текущего экрана UI end note @enduml