Files
ds-galo/openspec/changes/android-album-restore-progress/specs/phone-album-sync/spec.md
T
iu fcc7ac05c1 feat(android): показывать ход восстановления оригиналов
Возврат из переноса в копии скачивает оригиналы с сервера, но ход нигде не
отражался: карточка умела показывать только загрузку, а восстановление шло в
области экрана и обрывалось при уходе с него.

Добавлен RestoreCoordinator: выполняет восстановление в области приложения
(уход с экрана больше не прерывает), ведёт ход «альбом -> восстановлено из
всего» и защищает от одновременного запуска по одному альбому. RestoreManager
сообщает ход по каждому элементу и вынесен за интерфейс AlbumRestorer; SyncCheck
ходит через координатора и, как и раньше, дожидается завершения.

Карточка альбома показывает «Копии — восстановление N%» (пульсирует), экран
альбома устройства — строку «Восстановление оригиналов: X из Y» с полосой.

Изменение OpenSpec: android-album-restore-progress.
2026-10-16 20:15:05 +03:00

1.4 KiB

Spec Delta

ADDED Requirements

Requirement: Ход и устойчивость восстановления оригиналов

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

Scenario: Уход с экрана

  • WHEN восстановление оригиналов запущено и пользователь покидает экран альбома устройства
  • THEN восстановление продолжается и завершается

Scenario: Ход операции

  • WHEN восстановление оригиналов идёт
  • THEN приложение знает и сообщает, сколько элементов уже восстановлено из намеченных

Scenario: Нечего восстанавливать

  • WHEN среди элементов альбома нет превью с серверной копией
  • THEN операция не запускается и ход не показывается