From 31cb7c970081a11dc88c89a753602b6ff789eca1 Mon Sep 17 00:00:00 2001 From: Nishant Mishra Date: Tue, 16 Sep 2025 10:03:32 +0530 Subject: [PATCH] fix: Filling empty data for days when app was not opened not working for more than 1 month --- .../ui/timerScreen/viewModel/TimerViewModel.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/timerScreen/viewModel/TimerViewModel.kt b/app/src/main/java/org/nsh07/pomodoro/ui/timerScreen/viewModel/TimerViewModel.kt index f4b3985..71cb79f 100644 --- a/app/src/main/java/org/nsh07/pomodoro/ui/timerScreen/viewModel/TimerViewModel.kt +++ b/app/src/main/java/org/nsh07/pomodoro/ui/timerScreen/viewModel/TimerViewModel.kt @@ -32,6 +32,7 @@ import org.nsh07.pomodoro.data.StatRepository import org.nsh07.pomodoro.data.TimerRepository import org.nsh07.pomodoro.utils.millisecondsToStr import java.time.LocalDate +import java.time.temporal.ChronoUnit @OptIn(FlowPreview::class) class TimerViewModel( @@ -101,10 +102,11 @@ class TimerViewModel( val today = LocalDate.now() // Fills dates between today and lastDate with 0s to ensure continuous history - while ((lastDate?.until(today)?.days ?: -1) > 0) { - lastDate = lastDate?.plusDays(1) - statRepository.insertStat(Stat(lastDate!!, 0, 0, 0, 0, 0)) - } + if (lastDate != null) + while (ChronoUnit.DAYS.between(lastDate, today) > 0) { + lastDate = lastDate?.plusDays(1) + statRepository.insertStat(Stat(lastDate!!, 0, 0, 0, 0, 0)) + } delay(1500)