HR: auto-connect at recording start if a strap is paired; HR on/off toggle replaces the wind button

Earlier I over-corrected: 'don't scan when the strap is absent' became
'never auto-connect'. Restore conditional auto: at recording start (ride or
workout) connect the paired strap and poll; absent strap is safe now
(BleHrService scans briefly and stops - no drain). No paired strap -> HR off.

- gps.js: GPS.setHrOn(on) - connect+poll / disconnect+stop; start auto-ons it.
- Record screen: the inconvenient 'Ветер' button is gone; in its place an
  HR on/off toggle (square, heart+pulse icon; grey off, red on) -> setHrOn.

(Also corrected a stale assumption: the phone DOES have Google services.)
This commit is contained in:
4aiman 2026-10-17 01:45:02 +03:00
commit f7ba059628
4 changed files with 64 additions and 9 deletions

View file

@ -44,6 +44,22 @@ project-hr-sensor.
- Заметка: аудио в WebView может требовать user-gesture; старт записи - это жест, должно
играть. Проверить на устройстве.
## Правка после теста: авто-ЧСС на старте + тоггл ВКЛ/ВЫКЛ вместо "Ветер"
Я перестарался: по просьбе "не искать, если браслета нет" убрал автоконнект ВООБЩЕ. Нужно было
оставить авто с проверкой наличия. Исправлено:
- `GPS.setHrOn(on)` (gps.js): ON - проверяет BT (off -> запрос включения), коннектит привязанный
датчик, запускает поллинг; OFF - стоп поллинг + disconnect. Безопасно: BleHrService при
отсутствии браслета коротко сканит и `stopSelf` (драйна нет).
- Старт записи (и GPS, и зарядки): если датчик привязан - авто `setHrOn(true)`. Так "надел
датчик -> начал -> подключился сам", без ручного коннекта каждый раз. Нет привязанного - ЧСС off.
- Экран записи: кнопка **"Ветер" убрана** (неудобна), на её месте **тоггл ЧСС** (квадрат с
сердечком+линией пульса; серый = выкл, красный = вкл), дёргает `GPS.setHrOn`.
- Ручная кнопка "Подключить" в настройках остаётся.
Факт-чек (я ошибся ранее): на телефоне Google-сервисы ЕСТЬ (`com.google.android.gms`, Play
Store) - значит системный диалог включения гео через Play Services доступен. Авто-вкл BT/гео по
запросу (попап + 2 настройки "не спрашивать") - отдельная задача, теперь подтверждено выполнимо.
## Проверка
Синтаксис JS ок. На телефоне: выбрать "Зарядка", Старт (без браслета покажет "Подключите
пульсометр"), подключить датчик -> пульс крупно + ккал растут; Стоп -> деталь с графиком.