From 95006652b385a0c8e8ee85f55309f5ebfc193b45 Mon Sep 17 00:00:00 2001 From: Tim Kluge Date: Sat, 14 Dec 2024 14:32:29 +0100 Subject: [PATCH] Fix timestamps when displaying last successful data retrieval timestamp vs last failed retrieval --- .../kotlin/de/timklge/karooheadwind/screens/MainScreen.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/screens/MainScreen.kt b/app/src/main/kotlin/de/timklge/karooheadwind/screens/MainScreen.kt index 2af2d3a..3c93e84 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/screens/MainScreen.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/screens/MainScreen.kt @@ -161,11 +161,13 @@ fun MainScreen() { val lastPositionDistanceStr = lastPosition?.let { dist -> " (${dist.roundToInt()} km away)" } ?: "" if (stats.failedWeatherRequest != null && (stats.lastSuccessfulWeatherRequest == null || stats.failedWeatherRequest!! > stats.lastSuccessfulWeatherRequest!!)){ - val localTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(stats.failedWeatherRequest!!), ZoneOffset.systemDefault()).toLocalTime().truncatedTo( + val successfulTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(stats.lastSuccessfulWeatherRequest!!), ZoneOffset.systemDefault()).toLocalTime().truncatedTo( + ChronoUnit.SECONDS) + val lastTryTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(stats.failedWeatherRequest!!), ZoneOffset.systemDefault()).toLocalTime().truncatedTo( ChronoUnit.SECONDS) - val successStr = if(lastPosition != null) " Last data received at ${localTime}${lastPositionDistanceStr}." else "" - Text(modifier = Modifier.padding(5.dp), text = "Failed to update weather data; last try at ${localTime}.${successStr}") + val successStr = if(lastPosition != null) " Last data received at ${successfulTime}${lastPositionDistanceStr}." else "" + Text(modifier = Modifier.padding(5.dp), text = "Failed to update weather data; last try at ${lastTryTime}.${successStr}") } else if(stats.lastSuccessfulWeatherRequest != null){ val localTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(stats.lastSuccessfulWeatherRequest!!), ZoneOffset.systemDefault()).toLocalTime().truncatedTo( ChronoUnit.SECONDS)