diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/traffic/TrafficOverviewUseCase.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/traffic/TrafficOverviewUseCase.kt index 6dd519a3849e..0090d9db2ce5 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/traffic/TrafficOverviewUseCase.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/traffic/TrafficOverviewUseCase.kt @@ -24,6 +24,7 @@ import org.wordpress.android.ui.stats.refresh.utils.trackWithGranularity import org.wordpress.android.util.AppLog import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper import org.wordpress.android.viewmodel.ResourceProvider +import java.util.Calendar import java.util.Date import javax.inject.Inject import javax.inject.Named @@ -110,9 +111,19 @@ class TrafficOverviewUseCase( } private fun getLastDate(model: VisitsAndViewsModel?): Date? { - selectedDateProvider.getSelectedDate(statsGranularity)?.let { return it } + selectedDateProvider.getSelectedDate(statsGranularity)?.let { return dateWithoutHour(it) } + val lastDateString = model?.dates?.lastOrNull()?.period - return lastDateString?.let { statsDateFormatter.parseStatsDate(statsGranularity, it) } + return lastDateString?.let { dateWithoutHour(statsDateFormatter.parseStatsDate(statsGranularity, it)) } + } + + // Remove the hour and minute from the date to avoid fetching incorrect dates caused by timezone differences + private fun dateWithoutHour(date: Date): Date { + val calendar = Calendar.getInstance() + calendar.time = date + calendar.set(Calendar.HOUR_OF_DAY, 0) + calendar.set(Calendar.MINUTE, 0) + return calendar.time } override suspend fun fetchRemoteData(forced: Boolean): State {