Skip to content

онлайн обновление v2 - #31

Merged
Greem4 merged 9 commits into
mainfrom
онлайн-обновление
Aug 11, 2026

Hidden character warning

The head ref may contain hidden characters: "\u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435"
Merged

онлайн обновление v2#31
Greem4 merged 9 commits into
mainfrom
онлайн-обновление

Conversation

@Greem4

@Greem4 Greem4 commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Что меняет

Приложение научилось обновлять себя само, без кабеля и магазина: раз в сутки
спрашивает GitHub о новой версии, показывает уведомление, по согласию
пользователя скачивает APK, сверяет SHA-256 и подпись и ставит поверх через
PackageInstaller. Появился экран «О программе» с кнопкой «Проверить
обновления» — он же открывается нажатием на номер сборки в профиле. Заодно
release.yml берёт заметки релиза из CHANGELOG.md, а при отсутствии раздела
откатывается на git-лог и сборку не роняет.

Это блок В плана docs/updater/TASKS.md
(этапы 3–9) и этап О8. Продолжение PR #30, где были этапы 0–2 и оформление
репозитория.

Как проверил

CI (testDebugUnitTest) на коммите c64eb03 — зелёный за 1 мин 34 с: debug
компилируется, юнит-тесты проходят, включая новые Sha256SumsParserTest и
UpdateNotificationPolicyTest. Локально Gradle не запускался.

Извлечение раздела версии из CHANGELOG.md проверено локально: для 0.1.1
раздел находится, для несуществующей версии — пусто, то есть сработает откат
на git-лог.

Чего проверка не покрывает: assembleRelease (R8 и правила сжатия),
установку и весь путь обновления на живом телефоне. До слияния нужен
./gradlew :app:assembleRelease, дальше — проверка на устройстве по
этапу 11.
Проверять придётся сборкой старее релиза: приложение сравнивает versionCode,
и 0.1.1 не новее 0.1.1.

Чек-лист

  • Коммиты по правилам проекта:
    одна строка, до 72 символов, по-русски, глагол в прошедшем времени
  • ./gradlew :app:testDebugUnitTest зелёный — прогнал CI на c64eb03
  • Документация обновлена: CHANGELOG.md (0.1.1), статусы в
    docs/updater/TASKS.md, docs/updater/README.md
  • Push-контур, синхронизация YClients и расчёт денег не задеты — новый
    воркер update_check живёт своей уникальной работой

Связанные issue

Issue не было — работа идёт по плану docs/updater/TASKS.md.

@Greem4
Greem4 force-pushed the онлайн-обновление branch from f97fcb9 to c64eb03 Compare August 11, 2026 14:39
@Greem4 Greem4 changed the title онлайн-обновление онлайн обновление v2 Aug 11, 2026
@Greem4
Greem4 merged commit 4be8e97 into main Aug 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant