From 97ca29392c25a04d1461010e608a43fb39390e4e Mon Sep 17 00:00:00 2001
From: Matthias Urhahn <matthias.urhahn@sap.com>
Date: Mon, 12 Apr 2021 08:30:24 +0200
Subject: [PATCH] Clear TraceWarning MetaData on app reset. (#2785)

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: chris-cwa <69595386+chris-cwa@users.noreply.github.com>
---
 .../src/main/java/de/rki/coronawarnapp/util/DataReset.kt   | 5 ++++-
 .../test/java/de/rki/coronawarnapp/util/DataResetTest.kt   | 7 +++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt
index 28d72a5af..efbc89f6a 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt
@@ -16,6 +16,7 @@ import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository
 import de.rki.coronawarnapp.eventregistration.storage.repo.TraceLocationRepository
 import de.rki.coronawarnapp.main.CWASettings
 import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTracker
+import de.rki.coronawarnapp.presencetracing.warning.storage.TraceWarningRepository
 import de.rki.coronawarnapp.risk.storage.RiskLevelStorage
 import de.rki.coronawarnapp.statistics.source.StatisticsProvider
 import de.rki.coronawarnapp.storage.OnboardingSettings
@@ -57,7 +58,8 @@ class DataReset @Inject constructor(
     private val submissionSettings: SubmissionSettings,
     private val traceLocationRepository: TraceLocationRepository,
     private val checkInRepository: CheckInRepository,
-    private val traceLocationSettings: TraceLocationSettings
+    private val traceLocationSettings: TraceLocationSettings,
+    private val traceWarningRepository: TraceWarningRepository,
 ) {
 
     private val mutex = Mutex()
@@ -96,6 +98,7 @@ class DataReset @Inject constructor(
 
         bugReportingSettings.clear()
 
+        traceWarningRepository.clear()
         traceLocationRepository.deleteAllTraceLocations()
         checkInRepository.clear()
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataResetTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataResetTest.kt
index 71a57686e..742faf116 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataResetTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataResetTest.kt
@@ -15,6 +15,7 @@ import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository
 import de.rki.coronawarnapp.eventregistration.storage.repo.TraceLocationRepository
 import de.rki.coronawarnapp.main.CWASettings
 import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTracker
+import de.rki.coronawarnapp.presencetracing.warning.storage.TraceWarningRepository
 import de.rki.coronawarnapp.risk.storage.RiskLevelStorage
 import de.rki.coronawarnapp.statistics.source.StatisticsProvider
 import de.rki.coronawarnapp.storage.OnboardingSettings
@@ -52,6 +53,7 @@ internal class DataResetTest : BaseTest() {
     @MockK lateinit var onboardingSettings: OnboardingSettings
     @MockK lateinit var submissionSettings: SubmissionSettings
     @MockK lateinit var traceLocationRepository: TraceLocationRepository
+    @MockK lateinit var traceWarningRepository: TraceWarningRepository
     @MockK lateinit var checkInRepository: CheckInRepository
     @MockK lateinit var traceLocationSettings: TraceLocationSettings
 
@@ -82,7 +84,8 @@ internal class DataResetTest : BaseTest() {
         submissionSettings = submissionSettings,
         traceLocationRepository = traceLocationRepository,
         checkInRepository = checkInRepository,
-        traceLocationSettings = traceLocationSettings
+        traceLocationSettings = traceLocationSettings,
+        traceWarningRepository = traceWarningRepository
     )
 
     @Test
@@ -112,7 +115,7 @@ internal class DataResetTest : BaseTest() {
         coVerify(exactly = 1) { statisticsProvider.clear() }
 
         coVerify(exactly = 1) { bugReportingSettings.clear() }
-
+        coVerify(exactly = 1) { traceWarningRepository.clear() }
         coVerify(exactly = 1) { traceLocationRepository.deleteAllTraceLocations() }
         coVerify(exactly = 1) { checkInRepository.clear() }
     }
-- 
GitLab