From 4580c7acd30149afdb06ff0c9bc3df8755cf2eaf Mon Sep 17 00:00:00 2001
From: Philipp Woessner <64482866+pwoessner@users.noreply.github.com>
Date: Fri, 5 Jun 2020 13:08:05 +0200
Subject: [PATCH] changed timevariables constants to new values and deleted
 unused DateAndTime helper functions (#180)

---
 .../java/de/rki/coronawarnapp/risk/TimeVariables.kt   |  7 ++++---
 .../coronawarnapp/transaction/RiskLevelTransaction.kt |  3 +--
 .../rki/coronawarnapp/util/TimeAndDateExtensions.kt   | 11 -----------
 .../transaction/RiskLevelTransactionTest.kt           |  5 +++--
 4 files changed, 8 insertions(+), 18 deletions(-)

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 2e90edd67..5a6537cc9 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
@@ -76,14 +76,14 @@ object TimeVariables {
 
     /**
      * The timeRange until the calculated exposure figures are rated as stale.
-     * In days.
+     * In hours.
      */
-    private const val MAX_STALE_EXPOSURE_RISK_RANGE = 1
+    private const val MAX_STALE_EXPOSURE_RISK_RANGE = 48
 
     /**
      * Getter function for [MAX_STALE_EXPOSURE_RISK_RANGE]
      *
-     * @return stale threshold in days
+     * @return stale threshold in hours
      */
     fun getMaxStaleExposureRiskRange(): Int = MAX_STALE_EXPOSURE_RISK_RANGE
 
@@ -106,6 +106,7 @@ object TimeVariables {
      * Internal requirements: 2 hours = 7200000 milliseconds
      * Test value: 1 minute
      */
+    // todo exchange with real value (currently 120 min)
     private const val MANUAL_KEY_RETRIEVAL_DELAY = 60000L
 
     /**
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt
index 32e157f37..df32874cc 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt
@@ -33,7 +33,6 @@ import de.rki.coronawarnapp.transaction.RiskLevelTransaction.RiskLevelTransactio
 import de.rki.coronawarnapp.transaction.RiskLevelTransaction.RiskLevelTransactionState.RETRIEVE_APPLICATION_CONFIG
 import de.rki.coronawarnapp.transaction.RiskLevelTransaction.RiskLevelTransactionState.RETRIEVE_EXPOSURE_SUMMARY
 import de.rki.coronawarnapp.transaction.RiskLevelTransaction.RiskLevelTransactionState.UPDATE_RISK_LEVEL
-import de.rki.coronawarnapp.util.TimeAndDateExtensions.millisecondsToDays
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.millisecondsToHours
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
@@ -284,7 +283,7 @@ object RiskLevelTransaction : Transaction() {
 
             /** we only return outdated risk level if the threshold is reached AND the active tracing time is above the
             defined threshold because [UNKNOWN_RISK_INITIAL] overrules [UNKNOWN_RISK_OUTDATED_RESULTS] */
-            if (timeSinceLastDiagnosisKeyFetchFromServer.millisecondsToDays() >
+            if (timeSinceLastDiagnosisKeyFetchFromServer.millisecondsToHours() >
                 TimeVariables.getMaxStaleExposureRiskRange() && isActiveTracingTimeAboveThreshold()
             ) {
                 return@executeState UNKNOWN_RISK_OUTDATED_RESULTS.also {
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 7f07904ca..5169ec2f5 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
@@ -2,7 +2,6 @@ package de.rki.coronawarnapp.util
 
 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 java.util.Date
@@ -14,12 +13,6 @@ object TimeAndDateExtensions {
     private const val MS_TO_HOURS = (1000 * 60 * 60)
     private const val MS_TO_SECONDS = 1000
 
-    fun getCurrentHourUTC(): Int = DateTime(Instant.now(), DateTimeZone.UTC).hourOfDay().get()
-
-    fun Date.getHourFromUTCDate(): Int = DateTime(this, DateTimeZone.UTC).hourOfDay().get()
-
-    fun String.toMillis(): Long? = DateTime.parse(this).millis
-
     fun Date.toServerFormat(): String =
         DateTimeFormat.forPattern("yyyy-MM-dd").withChronology(GJChronology.getInstance())
             .withZoneUTC()
@@ -31,10 +24,6 @@ object TimeAndDateExtensions {
         return this.div(MS_TO_SECONDS)
     }
 
-    fun Long.millisecondsToDays(): Long {
-        return this.div(MS_TO_DAYS)
-    }
-
     fun Long.millisecondsToHours(): Long {
         return this.div(MS_TO_HOURS)
     }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt
index 83ec19259..db67511c3 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt
@@ -118,14 +118,15 @@ class RiskLevelTransactionTest {
 
         val testRiskLevel = UNKNOWN_RISK_OUTDATED_RESULTS
 
-        val twoDaysAboveMaxStale = TimeUnit.DAYS.toMillis(TimeVariables.getMaxStaleExposureRiskRange().plus(2).toLong())
+        val twoHoursAboveMaxStale =
+            TimeUnit.HOURS.toMillis(TimeVariables.getMaxStaleExposureRiskRange().plus(2).toLong())
 
         // tracing is activated
         coEvery { InternalExposureNotificationClient.asyncIsEnabled() } returns true
 
         // the last time we fetched keys from the server is above the threshold
         every { TimeVariables.getLastTimeDiagnosisKeysFromServerFetch() } returns System.currentTimeMillis()
-            .minus(twoDaysAboveMaxStale)
+            .minus(twoHoursAboveMaxStale)
 
         // active tracing time is 1h above the threshold
         every { TimeVariables.getTimeActiveTracingDuration() } returns TimeUnit.HOURS.toMillis(
-- 
GitLab