From 11fa50561609d9c22f7a0ff34ff9a905a83f7d2e Mon Sep 17 00:00:00 2001 From: Kolya Opahle <k.opahle@sap.com> Date: Mon, 31 May 2021 14:38:19 +0200 Subject: [PATCH] For RAT the test date is not set correct (EXPOSUREAPP-7555) (#3328) Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> --- .../coronatest/type/rapidantigen/RACoronaTest.kt | 9 +++++---- .../rapidantigen/RapidAntigenCoronaTestExtensions.kt | 4 ++-- .../ui/testresults/negative/RATResultNegativeFragment.kt | 2 +- .../testresults/negative/RATResultNegativeViewModel.kt | 2 +- .../rki/coronawarnapp/ui/view/TestResultSectionView.kt | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RACoronaTest.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RACoronaTest.kt index 126787cc0..fd54e5b7c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RACoronaTest.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RACoronaTest.kt @@ -71,10 +71,8 @@ data class RACoronaTest( override val type: CoronaTest.Type get() = CoronaTest.Type.RAPID_ANTIGEN - private fun isOutdated(nowUTC: Instant, testConfig: CoronaTestConfig): Boolean { - val timeoutTime = sampleCollectedAt ?: testedAt - return timeoutTime.plus(testConfig.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated).isBefore(nowUTC) - } + private fun isOutdated(nowUTC: Instant, testConfig: CoronaTestConfig): Boolean = + testTakenAt.plus(testConfig.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated).isBefore(nowUTC) fun getState(nowUTC: Instant, testConfig: CoronaTestConfig) = if (testResult == RAT_NEGATIVE && isOutdated(nowUTC, testConfig)) { @@ -91,6 +89,9 @@ data class RACoronaTest( } } + val testTakenAt: Instant + get() = sampleCollectedAt ?: testedAt + override val isFinal: Boolean get() = testResult == RAT_REDEEMED diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensions.kt index 2b25be3b5..82089caae 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensions.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensions.kt @@ -28,10 +28,10 @@ fun RACoronaTest?.toSubmissionState(nowUTC: Instant = Instant.now(), coronaTestC else -> when (getState(nowUTC, coronaTestConfig)) { INVALID -> TestError POSITIVE -> { - if (isViewed) TestPositive(testRegisteredAt = testedAt) + if (isViewed) TestPositive(testRegisteredAt = testTakenAt) else TestResultReady } - NEGATIVE -> TestNegative(testRegisteredAt = testedAt) + NEGATIVE -> TestNegative(testRegisteredAt = testTakenAt) REDEEMED -> TestInvalid PENDING -> TestPending OUTDATED -> TestOutdated diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt index 0906f2e79..19fee1b59 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt @@ -65,7 +65,7 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ } } - val localTime = testAge.test.testedAt.toUserTimeZone() + val localTime = testAge.test.testTakenAt.toUserTimeZone() resultReceivedTimeAndDate.text = getString( R.string.coronatest_negative_antigen_result_time_date_placeholder, localTime?.toString(DATE_FORMAT), diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt index 607dde740..9e80a0bff 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt @@ -47,7 +47,7 @@ class RATResultNegativeViewModel @AssistedInject constructor( } val nowUTC = timeStamper.nowUTC - val age = nowUTC.millis - testedAt.millis + val age = nowUTC.millis - testTakenAt.millis val ageText = formatter.print(Duration(age).toPeriod()) return TestAge(test = this, ageText) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt index 2dd7bb977..86a23f07d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt @@ -81,7 +81,7 @@ constructor( return if (coronaTest is RACoronaTest) { context.getString( R.string.ag_homescreen_card_rapid_body_result_date, - coronaTest.testedAt.toDate()?.toUIFormat(context) + coronaTest.testTakenAt.toDate()?.toUIFormat(context) ) } else { context.getString( -- GitLab