• v2.6.6 7d96793c27

    ua1zbe released this 2026-09-30 09:54:00 +00:00 | 0 commits to main since this release

    Карта маршрута, справка и «О приложении» переработаны.

    • кнопка «Карта маршрута» под полным расписанием и пункт «Карта маршрута» в меню;
    • под картой остался только список автобусов в пути, пояснения перенесены в «Справку»;
    • «Справка» и «О приложении» доступны из меню под кнопкой ⋮;
    • шторка карты подстраивается под число автобусов;
    • в «О приложении» убрана ссылка на исходный код, внизу подпись «Разработчик © UA1ZBE»;
    • исправлена кнопка «‹» в справке и системная кнопка «назад»: раньше они не работали.
    Downloads
  • v2.6.5 b5821a1fc7

    ua1zbe released this 2026-09-29 12:05:12 +00:00 | 4 commits to main since this release

    Расписание заменено на официальное, и починено время прибытия.

    Данные диспетчерской службы ООО «Гарант-Авто» на лето 2026 года
    (01.05–31.10.2026), источник — kandalaksha.org/static/auto.html.
    Опубликованы четыре списка отправлений, по 13/10/6 рейсов.
    Колонка 2 — это выезд из Зашейка, а не прибытие: прошлую версию
    приложение читало как время прибытия, из-за чего интервалы выглядели
    нелогичными и время уходило назад.

    Что исправлено в расписании:

    • убран рейс 08:00/08:50/09:20/09:50, которого нет в источнике;
    • добавлен рейс 11:30/12:20/12:50/13:20;
    • в рейсе на Кандалакшу 14:10 → 14:15;
    • суббота и воскресенье исправлены на 5 минут (09:05 → 09:10 и далее);
    • 14:20, 14:50, 15:10 и 15:50 подтверждены источником и оставлены.

    Время прибытия в карточках направлений теперь считается по ходу
    времени, а не берётся из таблицы: Зашеек — отправление плюс 20 минут,
    но не дольше интервала до выезда оттуда; Кандалакша — плюс 50 минут.
    Например, рейс 14:50 показывает прибытие в Зашеек в 15:10.

    Карта:

    • внизу карты шторка с ручкой: тянется пальцем, сворачивается тапом,
      текст прокручивается, карта сама перестраивается под новый размер;
    • заголовок «Автобус №127» теперь в одну строку на всех экранах;
      раньше на карте он переносился на две, а на остальных терял пробел;
    • появилась кнопка «‹» — возврат с карты на главный экран;
    • между прибытием в Зашеек и выездом автобус стоит на остановке;
    • убрана лишняя прокрутка страницы на вкладке карты.

    Отдельно: в исходный код в репозитории не попал метод openMap()
    моста JS→Java, хотя index.html его вызывает. APK 2.6.4 собирался из
    локальной копии, поэтому у пользователей это не проявлялось, но сборка
    из репозитория дала бы приложение с неработающим пунктом «Карта».
    Метод добавлен в этом релизе.

    Карта и тайлы — VK Карты (mmr-gl, BSD-3-Clause), геометрия дороги —
    OpenStreetMap. Требуется интернет.

    Downloads
  • v2.6.4 6d3f794bb7

    ua1zbe released this 2026-09-29 08:15:38 +00:00 | 7 commits to main since this release

    Карта с положением автобуса по расписанию.

    В меню появился пункт «Карта» — VK Карты с линией маршрута и метками автобусов,
    которые сейчас в пути. Положение считается по расписанию: приложение
    интерполирует положение между остановками и не использует GPS, поэтому это
    оценка с точностью до нескольких минут. Направление и время прибытия —
    в списке под картой, он обновляется каждые 20 секунд.

    Что ещё:

    • метки остановок с карты убраны, остались только автобусы;
    • меню сворачивается после выбора пункта и по кнопке «‹»;
    • ошибки страницы видны в logcat под тегом Bus127JS — это сильно упростило
      разбор Issue «не показывает автобус на карте».

    Исправлено по ходу:

    • метка автобуса падала при инициализации (SDK требовал координаты до addTo),
      из-за чего карта открывалась вовсе без автобусов;
    • при смене направления затирались классы mmrgl-marker, и метка теряла
      position:absolute — теперь используется classList;
    • координаты остановок в route.js разворачивались в обратном порядке.

    Карта и тайлы — VK Карты (mmr-gl, BSD-3-Clause), геометрия дороги —
    OpenStreetMap. Требуется интернет.

    Downloads
  • v2.6.3 ddc9cf2584

    ua1zbe released this 2026-09-29 05:13:25 +00:00 | 18 commits to main since this release

    2.6.3 — меню в шапке

    Нативная верхняя панель убрана: заголовок теперь рисует сама страница.

    Что изменилось

    1. Свой заголовок вместо ActionBar. Тема NoActionBar, шапку рисует
      assets/index.html. Кнопка ⋮ стоит справа от названия «Автобус №127»,
      на втором экране слева появляется стрелка назад. Название выровнено по
      центру: строка заголовка — сетка 38px | 1fr | 38px, на главном экране
      стрелка скрыта через visibility, место под неё остаётся, и центр не
      съезжает.

    2. Меню — выпадающее окошко поверх страницы. position:absolute с
      top:calc(100% + 8px), прижато к правому краю кнопки, с тенью. Содержимое
      под ним не сдвигается. Пункт — «О приложении».

    3. «О приложении» — отдельное окно на той же странице (AboutActivity),
      поэтому тема совпадает с остальными экранами. Версия берётся из приложения
      через JS-мост, а не вписана в текст: показывается «Версия 2.6.3 (сборка 12)».

    4. Полное расписание вернулось на главный экран — раскрывается кнопкой
      «Полное расписание ▾» под списком рейсов, с переключателем
      будни/суббота/воскресенье. Из меню пункт убран, отдельное окно
      расписания удалено из кода и манифеста.

    5. JS-мост и общий WebView вынесены из MainActivity: Webs создаёт
      WebView с одинаковыми настройками для всех экранов, BusBridge отвечает
      за меню, стрелку назад и версию. В браузерной версии объект Bus
      отсутствует, кнопки не показываются — web/index.html не менялся.

    Исправленный баг

    Экран «О приложении» открывался пустым белым листом. Класс режима страницы
    about совпадал с классом секции .about, поэтому правило display:none
    применялось к самому <body> и схлопывало его в 0×0 — рисовать было нечего.
    Секция переименована в .aboutcard.

    Проверено на устройстве (Samsung A34, Android 15): панели действий нет,
    заголовок по центру, меню раскрывается поверх страницы, «О приложении»
    показывает версию, стрелка возвращает на главный, полное расписание
    раскрывается (62 ячейки со временем). Пуш проверен после переустановки:
    рассылка в топик bus127 — HTTP 200, уведомление приходит.

    Важно про данные за субботу и воскресенье

    Как и в 2.6.1, по этим дням хранятся только отправления из Полярных Зорь и
    прибытия в Зашеек. Первая и четвёртая колонки восстановлены по правилам
    будних дней (кол0 = кол1 − 50 мин, кол3 = кол2 + 20 мин) и требуют сверки
    с официальным расписанием.

    Установка

    adb install -r BusSchedule127_v2.6.3.apk
    

    Подпись та же, что у предыдущих версий — обновление идёт поверх них без
    удаления.

    Downloads
  • v2.6.2 83fc10878b

    ua1zbe released this 2026-09-28 12:20:04 +00:00 | 30 commits to main since this release

    2.6.2 — пуш-уведомления RuStore

    Приложение интегрировано с RuStore Push SDK (ru.rustore.sdk:pushclient:7.4.0).

    • инициализация SDK в Bus127App, канал уведомлений bus127_push
    • приём уведомлений в PushMessagingService: секция notification — показывает SDK,
      только data (title/body/url) — приложение само
    • токен устройства пишется в SharedPreferences bus127_push
    • запрос разрешения POST_NOTIFICATIONS на Android 13+

    Подпись release-keystore не изменилась, поэтому проект в консоли RuStore
    (пакет ru.ua1zbe.bus127, SHA-256 C2:EC:68:1E:F0:AF:BA:4F:1A:C1:86:7F:93:E1:42:D1:31:C4:3E:FF:D9:60:11:39:E4:B9:CB:56:9B:72:D8:11)
    перерегистрировать не нужно.

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

    • топик bus127 не требует создания в консоли: публикация в него проходит и для несуществующего топика (проверено, HTTP 200)
    • APK требует установленного и авторизованного RuStore на устройстве
    • пуш на устройстве ещё не проверялся: сборка проверена на сборку, подпись и содержимое APK,
      рассылка в топик проходит (HTTP 200), но подписчиков пока нет — 2.6.2 ещё не установлен ни на одном устройстве
    Downloads
  • v2.6.1 3aab0b826b

    ua1zbe released this 2026-09-28 10:53:57 +00:00 | 40 commits to main since this release

    Переключатель дней в полном расписании, карточки на сегодня, экран не гаснет

    Что изменилось

    1. Кнопки «Будни / Суббота / Воскресенье» переключают только таблицу
      полного расписания. При запуске подсвечивается реальный день недели по МСК.

      День Рейсов
      Будни 13
      Суббота 10
      Воскресенье 6
    2. Карточки ближайших рейсов всегда на сегодня. Выбор дня в полном
      расписании их не трогает. День вычисляется при каждой отрисовке, поэтому
      после полуночи приложение само переходит на расписание нового дня, не
      сбрасывая выбор в таблице.

    3. Убрана надпись «Мурманская область» из шапки вместе с её стилем.

    4. Экран не гаснет, пока открыто приложение.

    Почему версия 2.6.1, а не 2.6

    Поведение здесь ровно то же, что выложено в 2.6. Разница в другом: тег
    v2.6 остался на более раннем коммите, где карточки ещё зависели от выбора
    дня, — исправление было закоммичено позже, и тег на него не указывал.
    Получилось расхождение: APK правильный, а исходники по тегу старые.
    Переставить тег через API не вышло (Gitea отвечает 405), поэтому выпущен
    v2.6.1 на актуальном коммите — теперь тег, исходники и APK
    соответствуют друг другу.

    Важно про данные за субботу и воскресенье

    По этим дням в репозитории хранились только отправления из Полярных Зорь и
    прибытия в Зашеек. Первая и четвёртая колонки таблицы восстановлены по
    правилам будних дней (кол0 = кол1 − 50 мин, кол3 = кол2 + 20 мин) и
    требуют сверки с официальным расписанием.

    Установка

    adb install -r BusSchedule127_v2.6.1.apk
    

    Подпись та же, что у предыдущих версий — обновление идёт поверх них
    без удаления.

    Downloads
  • v2.6 ed621b7ce2

    ua1zbe released this 2026-09-28 10:15:59 +00:00 | 43 commits to main since this release

    Переключатель дней в полном расписании, чистая шапка, экран не гаснет

    Что изменилось

    1. Кнопки «Будни / Суббота / Воскресенье» в полном расписании.
      Переключают только таблицу. При запуске подсвечивается реальный
      день недели по московскому времени.

      День Рейсов
      Будни 13
      Суббота 10
      Воскресенье 6
    2. Карточки ближайших рейсов всегда на сегодня. Выбор дня в полном
      расписании их не трогает — они показывают рейсы текущего дня недели
      по МСК. День вычисляется при каждой отрисовке, поэтому после полуночи
      приложение само переходит на расписание нового дня, не сбрасывая
      выбор в таблице.

    3. Убрана надпись «Мурманская область» из шапки приложения
      вместе с её стилем.

    4. Экран больше не гаснет, пока открыто приложение — не нужно
      касаться экрана, чтобы посмотреть время отправления.

    Важно про данные за субботу и воскресенье

    По этим дням в репозитории хранились только отправления из Полярных Зорь
    и прибытия в Зашеек. Первая и четвёртая колонки таблицы восстановлены
    по правилам будних дней (кол0 = кол1 − 50 мин, кол3 = кол2 + 20 мин)
    и требуют сверки с официальным расписанием. Также расписание будней
    в нативном приложении (app/…/MainActivity.kt) не совпадает с веб-версией
    — расхождение зафиксировано, веб-версия оставлена как есть.

    Установка

    adb install -r BusSchedule127_v2.6.apk
    

    Приложение подписано тем же ключом, что и предыдущие версии, —
    обновление поверх 2.4/2.5 пройдёт без удаления. Сборка в релизе —
    versionCode 9; более ранняя 2.6 (versionCode 8) ставится поверх неё.

    Downloads
  • v2.4 0a3d7baf82

    ua1zbe released this 2026-09-28 06:52:41 +00:00 | 52 commits to main since this release

    Релиз 2.4 — прибытие в Полярные Зори из Кандалакши.

    Что изменилось
    В карточке «Полярные Зори, Зашеек» теперь показываются оба прибытия:

    отпр 05:20 → Полярные Зори 06:20, Зашеек 06:30
    отпр 07:40 → Полярные Зори 08:30, Зашеек 09:00

    Раньше было видно только прибытие в Зашеек, хотя рейс идёт через
    Полярные Зори и время прибытия туда есть в таблице расписания.
    Время берётся из таблицы, ничего не рассчитывается.

    Карточки Зашейка и направлений из Полярных Зорь — без изменений
    (там уже были видны оба прибытия).

    Подпись — тот же ключ, versionCode 5 → 6, схема v2. Обновление
    ставится поверх прежнего.

    Установка
    Скачать APK ниже, разрешить установку из неизвестных источников.

    Downloads
  • v2.3 366d0dd454

    ua1zbe released this 2026-09-28 06:45:50 +00:00 | 55 commits to main since this release

    Релиз 2.3 — рассчитывается прибытие в Кандалакшу.

    Исправлено

    • Полярные Зори → Кандалакша — время прибытия в Кандалакшу теперь
      показывается. В таблице расписания его нет, оно рассчитывается:
      отправление из Полярных Зорь + 50 минут.

      06:50 → Кандалакша 07:40
      07:45 → Кандалакша 08:35
      09:20 → Кандалакша 10:10

    • Зашеек — в карточке теперь оба прибытия, а не одно:
      06:30 → Полярные Зори 06:50, Кандалакша 07:40.

    Откуда взялись 50 минут
    Время в пути Полярные Зори ↔ Кандалакша в таблице не приведено, но
    Кандалакша → Полярные Зори занимает ровно 50 минут в 12 строках из 13
    (в первой строке 60 минут — по всей видимости опечатка в исходных
    данных). Промежуточная остановка Полярные Зори ничего не добавляет,
    поэтому принято 50 минут в обе стороны.

    Исправлена ошибка из v2.2
    В прошлой версии в карточке Зашейка время «06:50» было подписано как
    «прибытие Кандалакша». Это неверно: 06:50 — это прибытие в Полярные
    Зори, на 20 минут позже прибытия в Зашеек (06:30), а не в Кандалакшу.
    Ошибка была в моём предыдущем изменении, сейчас исправлена.

    Подпись — тот же ключ, versionCode 4 → 5, схема v2. Обновление
    ставится поверх прежнего.

    Установка
    Скачать APK ниже, разрешить установку из неизвестных источников.

    Downloads
  • v2.2 6386a3420e

    ua1zbe released this 2026-09-28 06:36:48 +00:00 | 58 commits to main since this release

    Релиз 2.2 — карточки направлений для Кандалакши и Зашейка.

    Что изменилось

    • Кандалакша — одна карточка «Полярные Зори, Зашеек» вместо двух.
      Отправления идут в одно время, различалось только направление:
      05:20 → Полярные Зори 06:20, Зашеек 06:30.
    • Зашеек — одна карточка «Полярные Зори, Кандалакша» вместо двух:
      06:30 → Полярные Зори 06:50, Кандалакша 06:50.
    • Пять ближайших рейсов вместо трёх (во всех карточках).
    • Одна карточка растягивается на всю ширину экрана.
    • Время прибытия подписано остановкой («прибытие Зашеек 11:05»),
      иначе в объединённой карточке было бы непонятно, о какой остановке речь.

    Полярные Зори — без изменений: там действительно два разных
    отправления (в Зашеек и в Кандалакшу).

    Подпись — тот же ключ, что и в v2.0/v2.1, versionCode 3 → 4,
    схема подписи v2. Обновление устанавливается поверх прежнего.

    Установка
    Скачать APK ниже, разрешить установку из неизвестных источников.

    Downloads