diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt index 7679a4aad617ea733130cd7dc56980c2e6dd463e..e02ca5fad8d6d499fc9101c734776fda06b77f2b 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.tracing.ui.details.items.risk.TracingFailedBox import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsFailedCalculationBox import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsIncreasedRiskBox import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsLowRiskBox -import org.joda.time.Duration import org.joda.time.Instant object TracingData { @@ -95,10 +94,7 @@ object TracingData { PeriodLoggedBox.Item(activeTracingDaysInRetentionPeriod = 5), DetailsIncreasedRiskBox.Item( riskState = RiskState.INCREASED_RISK, - lastEncounterDaysAgo = Duration( - Instant.EPOCH, - Instant.now() - ).standardDays.toInt() + lastEncounteredAt = Instant.now() ) ) ) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt index c7ff372864c02bff6139240126441177936b2bf5..22b2b6df8467f9e02f043b10e51645901b05f425 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt @@ -14,13 +14,11 @@ import de.rki.coronawarnapp.tracing.ui.details.items.periodlogged.PeriodLoggedBo import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsFailedCalculationBox import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsIncreasedRiskBox import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsLowRiskBox -import de.rki.coronawarnapp.util.TimeStamper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart -import org.joda.time.Duration import org.joda.time.Instant import timber.log.Timber import javax.inject.Inject @@ -29,8 +27,7 @@ import javax.inject.Inject class TracingDetailsItemProvider @Inject constructor( tracingStatus: GeneralTracingStatus, tracingRepository: TracingRepository, - riskLevelStorage: RiskLevelStorage, - private val timeStamper: TimeStamper + riskLevelStorage: RiskLevelStorage ) { val state: Flow<List<DetailsItem>> = combine( @@ -69,10 +66,7 @@ class TracingDetailsItemProvider @Inject constructor( ) RiskState.INCREASED_RISK -> DetailsIncreasedRiskBox.Item( riskState = latestCalc.riskState, - lastEncounterDaysAgo = Duration( - latestCalc.lastRiskEncounterAt ?: Instant.EPOCH, - timeStamper.nowUTC - ).standardDays.toInt() + lastEncounteredAt = latestCalc.lastRiskEncounterAt ?: Instant.EPOCH ) RiskState.CALCULATION_FAILED -> DetailsFailedCalculationBox.Item }.also { add(it) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsIncreasedRiskBox.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsIncreasedRiskBox.kt index f0d262165ffc3a4c7942596729b9920d3f240c44..bd31824f2456e2d46b36eac085175698d9bb13a5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsIncreasedRiskBox.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsIncreasedRiskBox.kt @@ -8,6 +8,8 @@ import de.rki.coronawarnapp.databinding.TracingDetailsItemRiskdetailsIncreasedVi import de.rki.coronawarnapp.risk.RiskState import de.rki.coronawarnapp.tracing.ui.details.TracingDetailsAdapter import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsIncreasedRiskBox.Item +import de.rki.coronawarnapp.util.TimeAndDateExtensions.toLocalDate +import org.joda.time.Instant class DetailsIncreasedRiskBox( parent: ViewGroup, @@ -34,13 +36,12 @@ class DetailsIncreasedRiskBox( data class Item( val riskState: RiskState, - val lastEncounterDaysAgo: Int + val lastEncounteredAt: Instant ) : RiskDetailsStateItem { - fun getRiskDetailsRiskLevelBody(c: Context): String = c.resources.getQuantityString( - R.plurals.risk_details_information_body_increased_risk, - lastEncounterDaysAgo, - lastEncounterDaysAgo - ) + fun getRiskDetailsRiskLevelBody(context: Context): String { + val date = lastEncounteredAt.toLocalDate().toString("dd.MM.yyyy") + return context.resources.getString(R.string.risk_details_information_body_increased_risk_date, date) + } } } diff --git a/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml b/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml index 8cc2ca342e4f94da7bbdef339effe5e7b0da1774..97bca9ef8511b089daa8d9d055ea8a89f79bcafc 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml @@ -129,17 +129,6 @@ app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_increased_risk" app:subtitle="@{@string/main_overview_subtitle_low_risk}" /> - <include - android:id="@+id/main_overview_risk_unknown_risk" - layout="@layout/include_main_overview_row" - android:layout_width="0dp" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_main_overview_circle}" - app:iconTint="@{@color/colorSemanticNeutralRisk}" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_low_risk" - app:subtitle="@{@string/main_overview_subtitle_unknown_risk}" /> </androidx.constraintlayout.widget.ConstraintLayout> <include diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_increased_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_increased_view.xml index 0c23ce65530e8966032c7031f3bd5b3109f75d28..6d1bef911caad0df365cbc383ffe932456425c3a 100644 --- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_increased_view.xml +++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_increased_view.xml @@ -50,7 +50,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle" - tools:text="@plurals/risk_details_information_body_increased_risk" /> + tools:text="@string/risk_details_information_body_increased_risk_date" /> <TextView android:id="@+id/risk_details_information_body_notice" diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index 236e04f0d5a89f2d892adc48c7aea51ae099b0d3..a971fe0d5f4963201abccbc324309b066e09979b 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -329,6 +329,8 @@ <string name="risk_details_information_body_low_risk">"Sie haben ein niedriges Infektionsrisiko, da keine Begegnung mit nachweislich Corona-positiv getesteten Personen aufgezeichnet wurde oder sich Ihre Begegnung auf kurze Zeit und einen größeren Abstand beschränkt hat."</string> <!-- YTXT: risk details - low risk explanation text with encounter with low risk --> <string name="risk_details_information_body_low_risk_with_encounter">"Das Infektionsrisiko wird anhand der Daten der Risiko-Ermittlung unter Berücksichtigung des Abstands und der Dauer von Begegnungen mit nachweislich Corona-positiv getesteten Personen sowie deren vermutlicher Infektiosität lokal auf Ihrem Smartphone berechnet. Ihr Infektionsrisiko ist für niemanden einsehbar und wird nicht weitergegeben."</string> + <!-- YTXT: risk details - increased risk explanation text with variable date since last contact --> + <string name="risk_details_information_body_increased_risk_date">"Sie haben ein erhöhtes Infektionsrisiko, da Sie zuletzt am %1$s mindestens einer nachweislich Corona-positiv getesteten Person über einen längeren Zeitraum und mit einem geringen Abstand begegnet sind."</string> <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact --> <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"Sie haben ein erhöhtes Infektionsrisiko, da Sie zuletzt vor %1$s Tag mindestens einer nachweislich Corona-positiv getesteten Person über einen längeren Zeitraum und mit einem geringen Abstand begegnet sind."</item> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index e5f241e1362bb60fa455eb3758d205dc6ed5736c..e9fceccb256805749da532b587ce3ff5519d150b 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -333,6 +333,8 @@ <string name="risk_details_information_body_low_risk">"You have a low risk of infection because no exposure to people later diagnosed with COVID-19 was logged, or because your encounters were only for a short time and at a greater distance."</string> <!-- YTXT: risk details - low risk explanation text with encounter with low risk --> <string name="risk_details_information_body_low_risk_with_encounter">"The risk of infection is calculated locally on your smartphone, using exposure logging data. The calculation also takes into account distance and duration of any exposure to persons diagnosed with coronavirus, as well as their potential infectiousness. Your risk of infection cannot be seen by or passed on to anyone else."</string> + <!-- YTXT: risk details - increased risk explanation text with variable date since last contact --> + <string name="risk_details_information_body_increased_risk_date">"You have an increased risk of infection because you were last exposed on %1$s over a longer period of time and at close proximity to at least one person diagnosed with coronavirus."</string> <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact --> <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"You have an increased risk of infection because you were last exposed %1$s days ago over a longer period of time and at close proximity to at least one person diagnosed with coronavirus."</item>