Skip to content
Snippets Groups Projects
Unverified Commit 12e4f8e1 authored by Rituraj Sambherao's avatar Rituraj Sambherao Committed by GitHub
Browse files

Stop notification when App is at End of life (#897)


* Stop notification when at End of life

* Stopping background worker when user is tested positive and they submit the keys.

* Stop background services when diagnosis keys are submitted

* check added before starting backgrouns schedular

To prevent Backgrond services from starting again, a check has been added that checks if diagnosis keys are submitted already.

* tests modified based on code changes

Co-authored-by: default avatarPhilipp Woessner <64482866+pwoessner@users.noreply.github.com>
parent b1f3754d
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,7 @@ import de.rki.coronawarnapp.service.submission.SubmissionConstants.TELE_TAN_KEY_ ...@@ -9,6 +9,7 @@ import de.rki.coronawarnapp.service.submission.SubmissionConstants.TELE_TAN_KEY_
import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.storage.LocalData
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction
import de.rki.coronawarnapp.util.formatter.TestResult import de.rki.coronawarnapp.util.formatter.TestResult
import de.rki.coronawarnapp.worker.BackgroundWorkScheduler
object SubmissionService { object SubmissionService {
suspend fun asyncRegisterDevice() { suspend fun asyncRegisterDevice() {
...@@ -89,6 +90,7 @@ object SubmissionService { ...@@ -89,6 +90,7 @@ object SubmissionService {
} }
fun submissionSuccessful() { fun submissionSuccessful() {
BackgroundWorkScheduler.stopWorkScheduler()
LocalData.numberOfSuccessfulSubmissions(1) LocalData.numberOfSuccessfulSubmissions(1)
} }
......
...@@ -68,6 +68,7 @@ object BackgroundWorkScheduler { ...@@ -68,6 +68,7 @@ object BackgroundWorkScheduler {
* @see isWorkActive * @see isWorkActive
*/ */
fun startWorkScheduler() { fun startWorkScheduler() {
if (LocalData.numberOfSuccessfulSubmissions() > 0) return
val isPeriodicWorkActive = isWorkActive(WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER.tag) val isPeriodicWorkActive = isWorkActive(WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER.tag)
logWorkActiveStatus( logWorkActiveStatus(
WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER.tag, WorkTag.DIAGNOSIS_KEY_RETRIEVAL_PERIODIC_WORKER.tag,
......
...@@ -6,6 +6,7 @@ import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient ...@@ -6,6 +6,7 @@ import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
import de.rki.coronawarnapp.service.diagnosiskey.DiagnosisKeyService import de.rki.coronawarnapp.service.diagnosiskey.DiagnosisKeyService
import de.rki.coronawarnapp.service.submission.SubmissionService import de.rki.coronawarnapp.service.submission.SubmissionService
import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.storage.LocalData
import de.rki.coronawarnapp.worker.BackgroundWorkScheduler
import io.mockk.Runs import io.mockk.Runs
import io.mockk.coEvery import io.mockk.coEvery
import io.mockk.coVerifyOrder import io.mockk.coVerifyOrder
...@@ -30,6 +31,8 @@ class SubmitDiagnosisKeysTransactionTest { ...@@ -30,6 +31,8 @@ class SubmitDiagnosisKeysTransactionTest {
mockkObject(SubmissionService) mockkObject(SubmissionService)
mockkObject(InternalExposureNotificationClient) mockkObject(InternalExposureNotificationClient)
mockkObject(DiagnosisKeyService) mockkObject(DiagnosisKeyService)
mockkObject(BackgroundWorkScheduler)
every { BackgroundWorkScheduler.stopWorkScheduler() } just Runs
every { LocalData.numberOfSuccessfulSubmissions(any()) } just Runs every { LocalData.numberOfSuccessfulSubmissions(any()) } just Runs
coEvery { SubmissionService.asyncRequestAuthCode(any()) } returns authString coEvery { SubmissionService.asyncRequestAuthCode(any()) } returns authString
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment