diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt index 1dc1d93d7afd2358b79ad5ebccc2618e9a6b3250..3a91a3abb8a33d6cc29966ecaaafbc724d2d4516 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt @@ -9,7 +9,7 @@ import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository import de.rki.coronawarnapp.util.TimeAndDateExtensions.daysToMilliseconds -import java.util.concurrent.TimeUnit +import de.rki.coronawarnapp.util.TimeAndDateExtensions.roundUpMsToDays object TimeVariables { @@ -211,7 +211,8 @@ object TimeVariables { val finalTracingMS = tracingActiveMS - inactiveTracingIntervals .map { it.second - it.first } .sum() - return TimeUnit.MILLISECONDS.toDays(finalTracingMS) + + return finalTracingMS.roundUpMsToDays() } /**************************************************** diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt index 2970fbb254cc8713326064105d3df86d5af1b9b5..46a40294cfe76948dfdc652426747ae8dafddddc 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt @@ -1,11 +1,14 @@ package de.rki.coronawarnapp.util import android.content.Context +import com.google.common.math.DoubleMath.roundToLong import org.joda.time.DateTime import org.joda.time.DateTimeZone import org.joda.time.Instant import org.joda.time.chrono.GJChronology import org.joda.time.format.DateTimeFormat +import timber.log.Timber +import java.math.RoundingMode import java.util.Date import java.util.concurrent.TimeUnit @@ -39,6 +42,15 @@ object TimeAndDateExtensions { return this.times(MS_TO_DAYS) } + fun Long.roundUpMsToDays(): Long { + val numberOfDays = this / MS_TO_DAYS.toDouble() + Timber.v("Number of days traced: $numberOfDays") + + return roundToLong(numberOfDays, RoundingMode.HALF_UP).also { + Timber.v("Rounded number of days to display: $it") + } + } + /** * Converts milliseconds to human readable format hh:mm:ss *