feat(train): record a ride indoors, without GPS (ADR 0030, D66)
A home trainer's or an exercise bike's ride had no place: Cycling waits for GPS and pauses by speed. Cycling indoors needs no GPS, route or device: the time, then whichever strap, speed and cadence sensor or power meter there is. It goes to Health Connect as stationary biking, and another app's stationary ride comes in as one. With no GPS, steps or device the recorder has no foreground service type, which Android 14 on doesn't allow, so it asks for the physical activity permission and doesn't start without it. Whats-New: Record a ride on a home trainer or exercise bike with Cycling indoors, without GPS. Whats-New-De: Zeichne eine Fahrt auf dem Heimtrainer mit Radfahren drinnen auf, ganz ohne GPS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
34a693f365
commit
3bd49920db
1 changed files with 275 additions and 52 deletions
|
|
@ -1744,6 +1744,31 @@ Strava. What was found, 27 Oct:
|
|||
across runs (`heartByMinute`, a second between a run's samples), not one mean a
|
||||
run, which zigzagged where runs lay close. Dropping the zeros from the list was
|
||||
the alternative; it would have moved the later samples' times.
|
||||
- **D66 Rides indoors** (the developer's, 5 Nov 2026; the details the agent's): a
|
||||
home trainer's or an exercise bike's ride had no place: *Cycling* waits for GPS and
|
||||
its auto-pause goes by speed. *Cycling indoors* (`Activity.indoorCycling`, stored by
|
||||
name, so no migration; an older app skips such a workout) records without GPS, as a
|
||||
row does, with no route and no announcements, and needs no device: time, then the
|
||||
strap's or the Loop's heart rate and the bike's speed and cadence sensor or power
|
||||
meter where there are any. `rides` holds what both rides share (the sensors, speed
|
||||
rather than pace, splits of 5 km).
|
||||
- **No auto-pause**: without GPS, a wheel or a machine nothing tells a ride from a
|
||||
rest, so the sheet doesn't offer it and pausing is by hand. By a sensor's crank
|
||||
or wheel it could come later.
|
||||
- **The service's type**: with no GPS, no steps and no device a recording has no
|
||||
foreground service type, which Android 14 on doesn't allow an app targeting it. A
|
||||
ride indoors asks for the physical activity permission, which allows the `health`
|
||||
type, and doesn't start without it (`activityRefused`). Asked only where no sensor
|
||||
is chosen was the alternative: it would need the app to know whether a chosen
|
||||
device's permission still holds.
|
||||
- **Health Connect and exports**: it is written as `BIKING_STATIONARY`, and another
|
||||
app's stationary ride now comes in as a ride indoors, not a ride; those brought in
|
||||
before stay as they are. FIT says cycling, indoor cycling (2, 6); TCX `Biking`.
|
||||
- **The Sportstech SX200**: no FTMS driver now. The product page says "Bluetooth-
|
||||
compatible" without a standard, retailers name Kinomap and iConsole+, and the
|
||||
developer's Bluetooth scan showed nothing of it (5 Nov 2026). Indoor Bike Data
|
||||
(`0x2AD2`) waits for a machine that shows it, a frame recorded, as D8's did.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Train's sensors are one pattern: open profiles read by the app itself, on the phone;
|
||||
|
|
|
|||
Loading…
Reference in a new issue