Foreground location service: permissions, notification, battery exemption #15
Labels
No labels
area:companion
area:docs
area:shared
area:tooling
area:watchapp
blocker
kind:chore
kind:feature
kind:spike
kind:test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/PedalPebble#15
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Position updates must survive a whole ride with the screen off. This is where most Android bike apps fail.
Acceptance criteria
FOREGROUND_SERVICE_LOCATIONand a persistent notification showing ride statusACCESS_FINE_LOCATIONrequested with a clear rationaleFiles
companion/.../ride/RideService.ktUpdate — 2026-08-31: battery target and minimum Android version
the screen off (NFR-B2). Measure it; if the budget is missed, reduce the GPS rate or the map frame
rate before giving up on the target.
BLUETOOTH_SCAN/BLUETOOTH_CONNECTpermission model is needed - no legacylocation-permission-for-BLE workaround. Foreground service types are declared but not yet enforced
at this API level; declare them correctly anyway.