4.4 KiB
Spec Delta
MODIFIED Requirements
Requirement: Список альбомов
Приложение SHALL показывать доступные пользователю альбомы одним смешанным списком: серверные альбомы, получаемые из API, а при отсутствии сети — из локального кэша, и альбомы устройства. Элементы SHALL различать источник. Связанная пара «альбом устройства → серверный альбом» SHALL отображаться одной карточкой альбома устройства с указателем связи и меткой режима; связанный серверный альбом SHALL NOT показываться в списке отдельной записью.
Scenario: Онлайн
- WHEN авторизованный пользователь открывает приложение
- THEN отображается список альбомов с обложками или плейсхолдером
Scenario: Офлайн из кэша
- WHEN сеть недоступна, но кэш существует
- THEN список альбомов отображается из кэша с признаком офлайн-режима
Scenario: Альбомы устройства
- WHEN у приложения есть доступ к медиа устройства
- THEN в списке появляются альбомы устройства наряду с серверными и помечены источником
Scenario: Связанная пара
- WHEN альбом устройства синхронизируется с серверным альбомом
- THEN в списке показывается одна карточка альбома устройства с указателем связи и меткой режима, а связанный серверный альбом отдельной записью не показывается
ADDED Requirements
Requirement: Экран альбома устройства и настройки синхронизации
Приложение SHALL открывать альбом устройства с сеткой медиа и SHALL предоставлять настройки синхронизации этого альбома по свайпу вправо. Настройки SHALL содержать только выбор режима синхронизации.
Scenario: Открытие альбома устройства
- WHEN пользователь выбирает альбом устройства в списке
- THEN открывается сетка медиа этого альбома
Scenario: Настройки по свайпу
- WHEN пользователь свайпает вправо в открытом альбоме устройства
- THEN открываются настройки синхронизации с выбором режима и только им
Scenario: Метка перенесённого элемента
- WHEN оригинал элемента разгружен на сервер в режиме переноса
- THEN в сетке на элементе показывается значок облака
Requirement: Доступ к альбомам устройства
Приложение SHALL запрашивать доступ к медиа устройства, нужный для перечисления альбомов и чтения файлов, и SHALL работать без него, не показывая альбомы устройства.
Scenario: Доступ предоставлен
- WHEN пользователь предоставляет доступ к медиа устройства
- THEN приложение перечисляет альбомы устройства и их содержимое
Scenario: Доступ не предоставлен
- WHEN доступ к медиа устройства не предоставлен
- THEN приложение продолжает работать с серверными альбомами и не показывает альбомы устройства