toSummary method

TripSummary? toSummary(
  1. DateTime endedAt
)

Implementation

TripSummary? toSummary(DateTime endedAt) {
  if (startedAt == null) {
    return null;
  }
  final durationSeconds = endedAt.difference(startedAt!).inSeconds;
  final movingSeconds =
      (durationSeconds - idleSeconds).clamp(0, durationSeconds);
  final averageSpeedKph =
      movingSeconds > 0 ? (distanceMeters / movingSeconds) * 3.6 : 0.0;

  return TripSummary(
    tripId: tripId,
    startedAt: startedAt!,
    endedAt: endedAt,
    distanceMeters: distanceMeters,
    durationSeconds: durationSeconds,
    idleSeconds: idleSeconds,
    maxSpeedKph: maxSpeedKph,
    averageSpeedKph: averageSpeedKph,
  );
}