Техническое задание: Android-приложение для шаблонов текста
Основная цель
Создать инструмент для быстрой вставки предустановленных текстовых шаблонов в поля ввода любых приложений на устройстве, с поддержкой генерации случайных вариантов текста.
Ключевые функции
1. Плавающая кнопка и интерфейс
- Плавающая кнопка меняет иконку в зависимости от состояния приложения:
- Иконка блокнота - когда приложение свёрнуто (открывает список шаблонов).
- Иконка крестика - когда список открыт (закрывает список без выбора).
- Иконка плюса - когда список открыт (добавляет новый шаблон).
- Список шаблонов отображается в полноэкранном режиме.
- Каждый элемент списка содержит:
- Название шаблона.
- Управление: возможность редактирования (иконка карандаша) и удаления (иконка корзины). Альтернатива - реализация свайпа по элементу для отображения действий.
2. Редактор шаблонов
- Открывается в полноэкранном режиме.
- Содержит поля:
- Название шаблона.
- Текст шаблона (с поддержкой спинтакс-конструкций, например, {вариант1|вариант2}).
- Кнопки управления: Сохранить, Отменить, Удалить.
3. Обработка текста (спинтакс)
- При выборе шаблона происходит обработка конструкций вида {вариант1|вариант2|вариант3}.
- Система случайным образом выбирает один из вариантов внутри конструкции.
- Поддерживаются вложенные спинтакс-конструкции.
- Готовый текст автоматически вставляется в активное поле ввода другого приложения (например, чата).
- Важно: приложение не выполняет автоматическую отправку текста - пользователь подтверждает действие самостоятельно.
4. Синхронизация
- Через веб-синхронизацию передаются и обновляются XPath или CSS-селекторы, которые определяют поле для вставки текста в целевых приложениях.
- Это позволяет гибко настраивать приложение для работы с разными программами.
Технические требования
- Платформа: Android.
- Доступ к системной функции «поверх поверх других окон» для плавающей кнопки.
- Реализация логики обработки спинтакса (имеется референсный код на JavaScript и Python).
- Механизм веб-синхронизации для обновления селекторов.