Mars

Ежедневник Марса

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.

Стабильный выпуск 2.0.0

   
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, с закреплённым сертификатом ПК. Промежуточных серверов нет.

Как связать телефон и ПК

  1. Подключите телефон и ПК к одной домашней Wi-Fi-сети. Через мобильный интернет обмен не работает.
  2. На ПК: «Рубеж» → «Синхронизация» → «Показать QR-код».
  3. На телефоне: «Настройки» → «Синхронизация с ПК» → «Сканировать QR с ПК». Если камера недоступна, есть «Вставить код вручную».
  4. На ПК подтвердите заявку: в списке появится название телефона, нажмите «Разрешить». Телефон подхватит подтверждение сам.
  5. Готово: на экране появятся адрес ПК и состояние сопряжения.

Ежедневная работа

Кнопка Что делает
Отправить передаёт на ПК изменения, сделанные на телефоне
Получить с ПК забирает изменения, сделанные на компьютере
Проверить связь проверяет, что ПК отвечает и версия протокола совпадает
Разобрать расхождения появляется, если запись менялась и там, и там
Разорвать сопряжение удаляет ключ доступа; задачи и проекты на телефоне остаются

На экране видно: состояние сопряжения, адрес ПК, сколько изменений ждёт отправки, сколько расхождений не разобрано, время последней отправки и последнего приёма.

Полная инструкция есть в приложении: «Синхронизация с ПК» → «Инструкция».

Что важно знать

Технические детали — docs/STAGE8_SYNC_IMPLEMENTATION.md и docs/STAGE8_SECURITY.md.

Требования

Установка APK на телефон

Основной вариант для обычного пользователя — подписанный release из GitHub Release:

  1. Скачайте Mars-2.0.0-release-signed.apk со страницы Release v2.0.0.
  2. Разрешите установку из неизвестных источников для браузера или файлового менеджера.
  3. Откройте APK и установите. Для переноса данных 1.x устанавливайте поверх, не удаляя приложение com.mars.planner.
  4. При первом запуске разрешите уведомления (Android 13+), камеру — для разового сканирования QR сопряжения, и микрофон, если нужен голосовой ввод.

Не устанавливайте unsigned APK из каталога сборки Gradle.

Сборка debug APK (для разработки)

В корне проекта (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. Работает только при наличии русского языкового пакета распознавания на устройстве. При недоступности сервис показывает сообщение об ошибке.

Офлайн-режим и приватность

Приложение полностью работает без интернета. Обмен возможен только в локальной сети между телефоном и вашим ПК; наружу данные не отправляются. Аккаунтов, облаков и рекламы нет.

Структура проекта

Известные ограничения 2.0.0

Документы этапа 8

Документ Содержание
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 отчёт о выполнении и известные ограничения

Документы этапа 9

Документ Содержание
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).