toSummary method
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,
);
}