diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundConstants.kt index f15edf5567a084410d3accf8e9cd529b4f1a6d0a..75b991b690e2f25d6c7d474257765028129c0c80 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundConstants.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundConstants.kt @@ -64,18 +64,6 @@ object BackgroundConstants { */ const val MINUTES_IN_DAY = 1440 - /** - * Total tries count for diagnosis key retrieval per day - * Internal requirement - */ - const val DIAGNOSIS_KEY_RETRIEVAL_TRIES_PER_DAY = 12 - - /** - * Maximum tries count for diagnosis key retrieval per day - * Google API limit - */ - const val GOOGLE_API_MAX_CALLS_PER_DAY = 20 - /** * Total tries count for diagnosis key retrieval per day * Internal requirement diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilder.kt index 4578ebaac7e5e5a775478b737e6d785c48113b03..b109e8ba261979dc70e6760555a0a1c772bcf301 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilder.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilder.kt @@ -11,7 +11,7 @@ import java.util.concurrent.TimeUnit * Set "kind delay" for accessibility reason. * Backoff criteria set to Linear type. * - * @return PeriodicWorkRequest + * The launchInterval is 60 minutes as we want to check every hour, for new hour packages on the CDN. * * @see WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER * @see BackgroundConstants.KIND_DELAY @@ -19,9 +19,7 @@ import java.util.concurrent.TimeUnit * @see BackoffPolicy.LINEAR */ fun buildDiagnosisKeyRetrievalPeriodicWork() = - PeriodicWorkRequestBuilder<DiagnosisKeyRetrievalPeriodicWorker>( - BackgroundWorkHelper.getDiagnosisKeyRetrievalPeriodicWorkTimeInterval(), TimeUnit.MINUTES - ) + PeriodicWorkRequestBuilder<DiagnosisKeyRetrievalPeriodicWorker>(60, TimeUnit.MINUTES) .addTag(WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER.tag) .setInitialDelay( BackgroundConstants.KIND_DELAY, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkHelper.kt index f72c11a861fff95d9f50599bef3a67c4a95dc88f..2b8f2cebec6728c11a56ad81194fdb577c10720d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundWorkHelper.kt @@ -16,17 +16,6 @@ import kotlin.random.Random */ object BackgroundWorkHelper { - /** - * Calculate the time for diagnosis key retrieval periodic work - * - * @return Long - * - * @see BackgroundConstants.MINUTES_IN_DAY - * @see getDiagnosisKeyRetrievalMaximumCalls - */ - fun getDiagnosisKeyRetrievalPeriodicWorkTimeInterval(): Long = - (BackgroundConstants.MINUTES_IN_DAY / getDiagnosisKeyRetrievalMaximumCalls()).toLong() - /** * Calculate the time for diagnosis key retrieval periodic work * @@ -38,18 +27,6 @@ object BackgroundWorkHelper { (BackgroundConstants.MINUTES_IN_DAY / BackgroundConstants.DIAGNOSIS_TEST_RESULT_RETRIEVAL_TRIES_PER_DAY).toLong() - /** - * Get maximum calls count to Google API - * - * @return Long - * - * @see BackgroundConstants.DIAGNOSIS_KEY_RETRIEVAL_TRIES_PER_DAY - * @see BackgroundConstants.GOOGLE_API_MAX_CALLS_PER_DAY - */ - fun getDiagnosisKeyRetrievalMaximumCalls() = - BackgroundConstants.DIAGNOSIS_KEY_RETRIEVAL_TRIES_PER_DAY - .coerceAtMost(BackgroundConstants.GOOGLE_API_MAX_CALLS_PER_DAY) - /** * Get background noise one time work delay * The periodic job is already delayed by MIN_HOURS_TO_NEXT_BACKGROUND_NOISE_EXECUTION diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundConstantsTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundConstantsTest.kt index 161df1e1a35400cdd21eea306492d1dd04fa0e6d..a2247300dd4871e0a949b7bfaba310237c2862b3 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundConstantsTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundConstantsTest.kt @@ -8,8 +8,6 @@ class BackgroundConstantsTest { @Test fun allBackgroundConstants() { Assert.assertEquals(BackgroundConstants.MINUTES_IN_DAY, 1440) - Assert.assertEquals(BackgroundConstants.DIAGNOSIS_KEY_RETRIEVAL_TRIES_PER_DAY, 12) - Assert.assertEquals(BackgroundConstants.GOOGLE_API_MAX_CALLS_PER_DAY, 20) Assert.assertEquals(BackgroundConstants.DIAGNOSIS_TEST_RESULT_RETRIEVAL_TRIES_PER_DAY, 12) Assert.assertEquals(BackgroundConstants.KIND_DELAY, 1L) Assert.assertEquals(BackgroundConstants.DIAGNOSIS_TEST_RESULT_PERIODIC_INITIAL_DELAY, 10L) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilderTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..f77fd6a7e8ebd20758a1949af5652484ac69ac48 --- /dev/null +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkBuilderTest.kt @@ -0,0 +1,16 @@ +package de.rki.coronawarnapp.worker + +import io.kotest.matchers.shouldBe +import org.joda.time.Duration +import org.junit.jupiter.api.Test +import testhelpers.BaseTest + +class BackgroundWorkBuilderTest : BaseTest() { + + @Test + fun `worker interval for key retrieval is 60 minutes, once every hour`() { + buildDiagnosisKeyRetrievalPeriodicWork().apply { + workSpec.intervalDuration shouldBe Duration.standardMinutes(60).millis + } + } +} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt index eddc5f4c1ccdb514af1cd942950315ecdefd880f..0ab0f5e23f942087b5356443b7d56cec27075be3 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt @@ -5,13 +5,6 @@ import org.junit.Assert import org.junit.Test class BackgroundWorkHelperTest { - @Test - fun getDiagnosisKeyRetrievalPeriodicWorkTimeInterval() { - Assert.assertEquals( - BackgroundWorkHelper.getDiagnosisKeyRetrievalPeriodicWorkTimeInterval(), - 120 - ) - } @Test fun getDiagnosisTestResultRetrievalPeriodicWorkTimeInterval() { @@ -21,11 +14,6 @@ class BackgroundWorkHelperTest { ) } - @Test - fun getDiagnosisKeyRetrievalMaximumCalls() { - Assert.assertEquals(BackgroundWorkHelper.getDiagnosisKeyRetrievalMaximumCalls(), 12) - } - @Test fun getConstraintsForDiagnosisKeyOneTimeBackgroundWork() { val constraints = BackgroundWorkHelper.getConstraintsForDiagnosisKeyOneTimeBackgroundWork()