3.2. Функциональные требования

3.2.1. Синхронизация буфера обмена
Назначение
Перенос содержимого буфера обмена между Android и macOS, чтобы пользователь мог копировать на одном устройстве и вставлять на другом.
Входные данные
- Событие изменения буфера обмена на одном из устройств;
- Явное действие пользователя «Вставить с другого устройства».
Логика обработки
- FR-CLIP-001: система должна обнаруживать изменения буфера обмена на каждом из связанных устройств;
- FR-CLIP-002: система должна передавать содержимое буфера обмена на парное устройство;
- FR-CLIP-003: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-CLIP-004: система не должна требовать облачной учетной записи для выполнения синхронизации буфера обмена;
- FR-CLIP-005: система должна обеспечивать минимум перенос текстового содержимого; расширение типов контента допускается, но не является обязательным в первой версии.
Выходные данные
- Согласованное содержимое буфера обмена на втором устройстве.
Обработка ошибок
- При обрыве соединения — сообщать о невозможности синхронизации и предлагать повтор при восстановлении связи;
- При конфликте параллельных изменений — использовать стратегию последнего обновления.
3.2.2. Обмен файлами
Назначение
Передача файлов напрямую между Android и macOS без обязательного посредничества публичной сети.
Входные данные
- Выбор файлов пользователем на исходном устройстве;
- Выбор целевого парного устройства.
Логика обработки
- FR-FILE-001: система должна обеспечивать передачу файлов между связанными устройствами;
- FR-FILE-002: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-FILE-003: система не должна требовать облачной учетной записи для выполнения обмена файлами;
- FR-FILE-004: система должна поддерживать передачу одного и нескольких файлов за одну операцию.
Выходные данные
- Подтверждение успешной передачи файлов на целевом устройстве.
Обработка ошибок
- При обрыве соединения — корректно завершать сессию и предлагать дозагрузку или повтор;
- При отказе доступа — выводить понятное уведомление и ссылку на настройку разрешений.
3.2.3. Управление уведомлениями
Назначение
Отображение на macOS уведомлений, поступающих на Android, с возможностью прочтения, отклонения или ответа.
Входные данные
- События новых уведомлений на Android;
- Действия пользователя на macOS.
Логика обработки
- FR-NOTIF-001: система должна получать и отображать уведомления Android на macOS;
- FR-NOTIF-002: система должна поддерживать действия «Просмотреть», «Отклонить» и «Ответить» (при наличии поддержки от ОС и приложения);
- FR-NOTIF-003: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-NOTIF-004: система не должна требовать облачной учетной записи для выполнения управления уведомлениями.
Выходные данные
- Отображение уведомления на macOS и синхронизация статуса на Android.
Обработка ошибок
- При обрыве соединения — выводить понятное уведомление;
- При невозможности ответа — скрыть действие в UI.
3.2.4. Дублирование экрана
Назначение
Вывод изображения и звука Android на macOS и предоставление базового удаленного контроля.
Входные данные
- Команда пользователя «Начать дублирование» на macOS.
Логика обработки
- FR-MIRR-001: система должна транслировать изображение Android на macOS с поддержкой многооконности;
- FR-MIRR-002: система должна транслировать звук вместе с изображением;
- FR-MIRR-003: система должна предоставлять базовый удаленный контроль (эмуляция касаний, ввода с клавиатуры, прокрутки);
- FR-MIRR-004: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-MIRR-005: система не должна требовать облачной учетной записи для выполнения дублирования экрана.
Выходные данные
- Окно или полноэкранный режим отображения на macOS с активной аудио- или видеотрансляцией и управлением.
Обработка ошибок
- При недоступности необходимых разрешений — запросить их и объяснить причину;
- При деградации канала связи — сообщить о снижении качества или остановить сеанс.
3.2.5. Управление плеером
Назначение
Управление воспроизведением мультимедиа на Android с macOS.
Входные данные
- Команды пользователя на macOS.
Логика обработки
- FR-MEDIA-001: система должна передавать команды «Воспроизвести», «Остановить» и «Изменить громкость» с macOS на Android;
- FR-MEDIA-002: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-MEDIA-003: система не должна требовать облачной учетной записи для выполнения управления плеером.
Выходные данные
- Измененное состояние воспроизведения на Android и обратная индикация состояния на macOS.
Обработка ошибок
- При недоступности необходимых разрешений — запросить их и объяснить причину;
- При отсутствии поддержки конкретной команды — скрыть недоступные действия в UI.
3.2.6. Отображение датчиков
Назначение
Отображение базовой информации о состоянии Android на macOS.
Входные данные
- Запрос состояния с macOS или периодические обновления со стороны Android.
Логика обработки
- FR-SENSOR-001: система должна предоставлять ключевые показатели датчиков Android-устройства на macOS (например, заряд аккумулятора);
- FR-SENSOR-002: передача по умолчанию должна использовать локальные каналы связи, исключая обязательное использование публичных сетей;
- FR-SENSOR-003: система не должна требовать облачной учетной записи для выполнения отображения датчиков.
Выходные данные
- Отображение значений показателей в интерфейсе macOS.
Обработка ошибок
- При недоступности конкретного показателя — скрыть его в UI, не блокируя остальные.