Android-планировщик на Kotlin (Jetpack Compose + Room), работающий на модели данных «Рубежа». Данные хранятся на телефоне; наружу, в интернет, ничего не уходит. Обмен возможен только напрямую с вашим ПК, на котором запущен «Рубеж», в общей домашней Wi-Fi-сети.
Главный персонаж — Марс, шотландский вислоухий кот серебристо-тигрового окраса.
Версия приложения: 2.0.0 (versionCode 3). Схема базы — 3. Версия протокола обмена с ПК — 1.
Состояние версии 2.0.0: этап 8 принят (10.09.2026). Этап 9 принят и завершён по частям 9.1–9.7 (11–13.09.2026); результат слит в
main(fast-forward изphase/9-mobile-ui-refresh). Опубликованы аннотированный тегv2.0.0и стабильный GitHub Release Mars 2.0.0 (14.09.2026). Отчёты:docs/STAGE8_REPORT.md,docs/STAGE9_PART1_PROJECTS_TASKS.md,docs/STAGE9_PART2_LEGACY_CLEANUP.md,docs/STAGE9_PART3_THEMES.md,docs/STAGE9_PART4_THEMES.md,docs/STAGE9_PART5_SEVEN_THEMES_QA.md,docs/STAGE9_PART6_SYNC_UI.md,docs/STAGE9_PART7_RELEASE_READINESS.md.
| Release | Mars 2.0.0 |
| Подписанный APK | Mars-2.0.0-release-signed.apk |
| Размер | 52 493 095 байт |
| SHA-256 APK | AE8B0A3B49C199CBC1A516D7DD590ACB62E01F8B2780A0BCB91C262E7B97B88B |
| package | com.mars.planner |
| versionName / versionCode | 2.0.0 / 3 |
| minSdk / targetSdk | 26 / 35 |
| SHA-256 сертификата | 9F39001CDA5113FBC80F7BEF913E2E4FE4AFEBE20BC2B226FEA761F844E67E5A |
Приложение использует ту же модель, что и «Рубеж» на ПК:
Подзадач, вложенности и отдельной сущности «дополнение» в модели нет.
Данные версий 1.x переносятся автоматически: категории становятся проектами,
подзадачи и дополнения — отдельными задачами с пометкой в описании,
статусы сводятся к двум, дата без времени получает срок 23:59.
Полные правила — docs/STAGE8_MIGRATION.md.
Настройки → «Оформление». Доступны семь тем «Рубежа», адаптированных для телефона:
| Тема | Идентификатор |
|---|---|
| Орбита | orbit |
| Туманность | nebula |
| Белая станция | white-station |
| Пепел и янтарь | ash-amber |
| Полярная ночь | polar-night |
| Светлый бетон | light-concrete |
| Убежище | shelter-terminal |
Дополнительно настраиваются интенсивность декоративных эффектов («Без эффектов», «Мягкие», «Обычные») и режим уменьшения анимаций.
Обмен идёт напрямую между телефоном и ПК по домашней Wi-Fi-сети, по HTTPS, с закреплённым сертификатом ПК. Промежуточных серверов нет.
| Кнопка | Что делает |
|---|---|
| Отправить | передаёт на ПК изменения, сделанные на телефоне |
| Получить с ПК | забирает изменения, сделанные на компьютере |
| Проверить связь | проверяет, что ПК отвечает и версия протокола совпадает |
| Разобрать расхождения | появляется, если запись менялась и там, и там |
| Разорвать сопряжение | удаляет ключ доступа; задачи и проекты на телефоне остаются |
На экране видно: состояние сопряжения, адрес ПК, сколько изменений ждёт отправки, сколько расхождений не разобрано, время последней отправки и последнего приёма.
Полная инструкция есть в приложении: «Синхронизация с ПК» → «Инструкция».
Технические детали — docs/STAGE8_SYNC_IMPLEMENTATION.md и docs/STAGE8_SECURITY.md.
Основной вариант для обычного пользователя — подписанный release из GitHub Release:
com.mars.planner.Не устанавливайте unsigned APK из каталога сборки Gradle.
В корне проекта (Windows):
gradlew.bat assembleDebug
При необходимости укажите JAVA_HOME на JDK 17.
Unit-тесты:
gradlew.bat test
Готовый debug APK:
app\build\outputs\apk\debug\app-debug.apk
Debug-сборка — отдельное приложение
com.mars.planner.debug(суффикс-debugв versionName). Для повседневного использования берите подписанный APK из GitHub Release.
Каталог: app/src/main/assets/mars/
Для интерфейса используются прозрачные WebP (основной формат):
| Файл | Состояние |
|---|---|
mars_default.webp |
Спокоен |
mars_done.webp |
Доволен |
mars_working.webp |
Сосредоточен |
mars_postponed.webp |
Озадачен |
mars_overdue.webp |
Просрочено |
mars_supportive.webp |
Поддерживает |
mars_strict.webp |
Строгий |
Файлы mars_*.png — исходники для перегенерации cutout (скрипт tools/mars_remove_bg.py).
Подробности: app/src/main/assets/mars/REQUIRED_IMAGES.md.
В Настройках, при наличии внутреннего архива (подраздел «Восстановление»):
Ручной экспорт/импорт JSON и CSV из интерфейса удалён (этап 9, часть 2). Аварийное резервирование телефона перед полным снимком ПК сохранено на экране синхронизации.
Используется системный SpeechRecognizer. Работает только при наличии русского языкового пакета
распознавания на устройстве. При недоступности сервис показывает сообщение об ошибке.
Приложение полностью работает без интернета. Обмен возможен только в локальной сети между телефоном и вашим ПК; наружу данные не отправляются. Аккаунтов, облаков и рекламы нет.
app/ — Android-приложениеapp/src/main/java/com/mars/planner/sync/ — протокол обмена с «Рубежом» v1app/src/main/java/com/mars/planner/data/db/MarsMigrations.kt — перенос данных 1.xapp/src/test/ — unit-тесты доменной логики и протоколаdocs/ — требования, реализация, безопасность, чек-листы, отчётыtools/ — вспомогательные скриптыconnectedDebugAndroidTest не запускался без подключённого изолированного тестового устройства;Mars-2.0.0-release-signed.apk, package com.mars.planner); debug-сборка остаётся только для разработки;desktop-sync-server удалён из репозитория в stage8-corr1; для синхронизации используется только протокол «Рубеж» v1.| Документ | Содержание |
|---|---|
docs/STAGE8_REQUIREMENTS.md |
требования этапа |
docs/STAGE8_MIGRATION.md |
правила переноса данных 1.x |
docs/STAGE8_SYNC_IMPLEMENTATION.md |
реализация протокола обмена |
docs/STAGE8_SECURITY.md |
безопасность канала и секретов |
docs/STAGE8_MANUAL_CHECKLIST.md |
сценарий ручной приёмки |
docs/STAGE8_REPORT.md |
отчёт о выполнении и известные ограничения |
| Документ | Содержание |
|---|---|
docs/STAGE9_PART1_PROJECTS_TASKS.md |
часть 1: «Проекты» и «Задачи» (принята 11.09.2026) |
docs/STAGE9_PART2_LEGACY_CLEANUP.md |
часть 2: очистка устаревших функций (принята 11.09.2026) |
docs/STAGE9_PART3_THEMES.md |
часть 3: мобильная адаптация двух тем (принята 11.09.2026) |
docs/STAGE9_PART4_THEMES.md |
часть 4: семь утверждённых мобильных фонов (принята 12.09.2026) |
docs/STAGE9_PART5_SEVEN_THEMES_QA.md |
часть 5: ручная проверка семи тем (принята 12.09.2026) |
docs/STAGE9_PART6_SYNC_UI.md |
часть 6: интерфейс синхронизации и конфликтов (принята 13.09.2026) |
docs/STAGE9_PART7_RELEASE_READINESS.md |
часть 7: готовность к выпуску 2.0.0 (принята 13.09.2026) |
История версий — CHANGELOG.md. Чек-лист подписанной сборки версии 2.0.0 — docs/RELEASE_V2_CHECKLIST.md
(исторический чек-лист 1.x — docs/RELEASE_V1_CHECKLIST.md).