exportTrack method

  1. @override
Future<TrackExportResult> exportTrack({
  1. required String trackId,
  2. required TrackExportFormat format,
  3. TrackExportOptions options = const TrackExportOptions(),
  4. String? fileName,
})
override

Implementation

@override
Future<TrackExportResult> exportTrack({
  required String trackId,
  required TrackExportFormat format,
  TrackExportOptions options = const TrackExportOptions(),
  String? fileName,
}) async {
  final track = await getTrack(trackId);
  if (track == null) throw StateError('Unknown fake route.');
  final extension = switch (format) {
    TrackExportFormat.geoJson => 'geojson',
    TrackExportFormat.kml => 'kml',
    TrackExportFormat.gpx => 'gpx',
  };
  final name = fileName ?? '${track.routeId ?? track.id}.$extension';
  calls.add(
      FakeTrackingCall('exportTrack', <String, Object?>{'trackId': trackId}));
  return TrackExportResult(
    trackId: trackId,
    format: format,
    fileName: name,
    mimeType: 'application/octet-stream',
    path: '/fake/$name',
    pointCount: _points[trackId]?.length ?? 0,
    segmentCount: track.segmentCount,
  );
}