A shared Hydration singleton (ticked by the GPS ride service and the HR/VR service, deduped in one process) accrues the body's water need over an active session and subtracts what you logged via the "+вода" button. It stays silent while you keep up — can be quiet for hours — and only beeps LOUD on the alarm stream (cuts through media volume) once the running deficit passes a threshold, then re-beeps on a cooldown. Not a fixed timer. Rust set_hydration_config / hydration_drink bridge JS settings and the "+вода" button to hydration.json / water_drink.txt that the native service reads. |
||
|---|---|---|
| .. | ||
| libs | ||
| src/main | ||
| build.gradle.kts | ||