GpxDrivenProvider

Replays a recorded GPX through the app as though the fixes were arriving from the receiver.

The point of the exercise is that a user can send in a recording of something going wrong and we can watch the app do the same thing, so this feeds the geoengine what the recording holds rather than a tidied-up version of it: the recorded accuracy, speed, bearing and timing, at the intervals they actually arrived at, published onto both location flows by GpxReplayLocationProvider. Anything this synthesizes instead of replaying is a way for the replay to disagree with the journey.

Enabled by developers only - put the file in assets/ and name it in REPLAY_ASSET_PATH.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
var directionProvider: DirectionProvider
Link copied to clipboard
var locationProvider: LocationProvider

Replaced in start once the recording says which stream it holds.

Link copied to clipboard

Multiplies the recorded pace: 1.0 replays an hour's journey over an hour, 10.0 does it in six minutes. Fast-forwarding changes what the app does - the geoengine's callout windows and the stationary detector both work in wall-clock time - so a replay being chased for a discrepancy wants this left alone.

Functions

Link copied to clipboard
Link copied to clipboard
fun start(context: Context, assetPath: String = REPLAY_ASSET_PATH)