Album panel and photo sheet with attributes/actions for every album (server and device), local album rename/cover/delete, EXIF attribute settings, and a unified device-gallery sync check: - add repository "Атрибуты и действия" panel (swipe left) on server and device albums: cover, info, navigation, rename/delete; album settings screen; photo sheet (swipe up) with info, tags and actions; EXIF attribute settings backed by profile preferences - local albums use local metadata and actions: app-only display name and cover (new device_album_meta table), delete removes photos from the phone via the system delete consent - unified mode x state policy (GallerySyncPolicy/SyncCheck) runs on start and on album open: upload/offload in move, restore originals in copy/off - fix move->copy restore, offload of any linked-but-local original, provenance recovery that no longer overwrites the album mode, serialized reconcile and duplicate-upload suppression; prompt for "all files" access on start - album card caption: name (with linked server name when different) and storage icons (memory card / cloud) with item count Sync delta specs into android-client and archive the change add-mobile-album-photo-actions. Verified: unit/Robolectric suite green, :app:assembleDebug, :app:lint, and the DeviceSyncE2ETest instrumented suite on the emulator (7/7).
4.4 KiB
4.4 KiB
Proposal
Why
В web у альбомов и фото есть полноценное управление атрибутами и действиями (панель
обложки/информации/навигации, разделы «Действия», «Метки», «Информация» с настройками
EXIF-атрибутов). В Android-клиенте этого нет: экран альбома — только сетка, просмотр —
только изображение с навигацией, а GaloApi умеет лишь переименовать/удалить/переместить.
С телефона нельзя ни посмотреть свойства, ни выполнить действия «как в web».
What Changes
- Новый экранный жест: свайп справа налево в любом альбоме (серверном и локальном) открывает панель «Атрибуты и действия» (drawer справа).
- Панель альбома повторяет структуру web (
AlbumPanel+ экран настроек):- Атрибуты: «Обложка» (превью, выбрать/сбросить), «Информация» (название, описание, счётчики), «Навигация» (участники, настройки, ссылки для просмотра).
- Действия: «Переименовать», «Удалить».
- Источник данных: серверный альбом — данные сервера; локальный, связанный с серверным — реальные атрибуты связанного серверного альбома; локальный без связи — локальные значения (обложка/имя/счётчик), без раздела «Навигация».
- Новый жест просмотра: свайп вверх в полноэкранном просмотре (серверном и device)
открывает лист «Атрибуты и действия», повторяющий web
PhotoPanel:- Атрибуты: «Информация» (автор, файл, тип, разрешение, EXIF, снято, координаты, загружено) с настройками списка EXIF-атрибутов; «Метки».
- Действия: «Открыть (просмотр)» (из сетки), «Скачать», «Переместить», «Копировать», «Установить как обложку альбома», «Удалить»; переименование по тапу на имя.
- Для device-медиа: если элемент сопоставлен серверному фото — реальные серверные атрибуты и действия; иначе локальные атрибуты и локальные действия.
- Расширение клиентского слоя Android:
GaloApi+ DTO получают операции альбома (обновление/обложка/удаление/участники/share), копирование, метки, скачивание,exifиpreferences; новый экран «Настройки атрибутов» (видимость + подписи, в профиль). - Бэкенд не меняется: все нужные endpoints уже есть.
Capabilities
New Capabilities
Modified Capabilities
android-client: добавляются требования к панели «Атрибуты и действия» на экранах альбомов, к листу «Атрибуты и действия» в полноэкранном просмотре, к выбору источника атрибутов для локальных альбомов/медиа и к поддерживающим операциям API/настройкам атрибутов в профиле.
Impact
android/app/src/main/java/com/galo/android/:data/network/GaloApi.kt,.../dto/Dtos.kt,domain/model/,ui/album/,ui/viewer/,ui/devicealbum/, новые экраны настроек.- Тесты Android (
android/app/src/androidTest,test). - Бэкенд, web и схема spec-ов не затрагиваются (кроме новой delta для
android-client).