From 3ad1166b68db39a56f2c3060ae70360be03c87a6 Mon Sep 17 00:00:00 2001
From: Ralf Gehrer <ralfgehrer@users.noreply.github.com>
Date: Tue, 9 Mar 2021 13:58:37 +0100
Subject: [PATCH] Show FAQ link on low risk detail WITH encounter
 (EXPOSUREAPP-5613) (#2553)

---
 .../details/items/riskdetails/DetailsLowRiskBox.kt | 12 ++++++++++++
 .../tracing_details_item_riskdetails_low_view.xml  | 14 ++++++++++++++
 Corona-Warn-App/src/main/res/values-de/strings.xml |  4 ++++
 Corona-Warn-App/src/main/res/values/strings.xml    |  4 ++++
 4 files changed, 34 insertions(+)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsLowRiskBox.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsLowRiskBox.kt
index 1d4f0d587..3628d6add 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsLowRiskBox.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/riskdetails/DetailsLowRiskBox.kt
@@ -1,6 +1,8 @@
 package de.rki.coronawarnapp.tracing.ui.details.items.riskdetails
 
 import android.content.Context
+import android.text.method.LinkMovementMethod
+import android.view.View
 import android.view.ViewGroup
 import androidx.annotation.LayoutRes
 import de.rki.coronawarnapp.R
@@ -8,6 +10,7 @@ import de.rki.coronawarnapp.databinding.TracingDetailsItemRiskdetailsLowViewBind
 import de.rki.coronawarnapp.risk.RiskState
 import de.rki.coronawarnapp.tracing.ui.details.TracingDetailsAdapter
 import de.rki.coronawarnapp.tracing.ui.details.items.riskdetails.DetailsLowRiskBox.Item
+import de.rki.coronawarnapp.util.convertToHyperlink
 
 class DetailsLowRiskBox(
     parent: ViewGroup,
@@ -30,6 +33,15 @@ class DetailsLowRiskBox(
         payloads: List<Any>
     ) -> Unit = { item, _ ->
         info = item
+        if (item.matchedKeyCount > 0) {
+            riskDetailsInformationLowriskBodyUrl.visibility = View.VISIBLE
+            riskDetailsInformationLowriskBodyUrl.convertToHyperlink(
+                context.getString(R.string.risk_details_explanation_faq_link)
+            )
+            riskDetailsInformationLowriskBodyUrl.movementMethod = LinkMovementMethod.getInstance()
+        } else {
+            riskDetailsInformationLowriskBodyUrl.visibility = View.GONE
+        }
     }
 
     data class Item(
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_low_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_low_view.xml
index 87a3ea114..c18fabd78 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_low_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_riskdetails_low_view.xml
@@ -52,5 +52,19 @@
             app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle"
             tools:text="@string/risk_details_information_body_low_risk_with_encounter" />
 
+        <TextView
+            android:id="@+id/risk_details_information_lowrisk_body_url"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:clickable="true"
+            android:focusable="true"
+            android:linksClickable="true"
+            android:visibility="gone"
+            android:text="@string/risk_details_explanation_dialog_faq_body"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/risk_details_information_body" />
+
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
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 5b95eb530..46e955e81 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -365,6 +365,10 @@
     <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: one time risk explanation dialog - pointing to the faq page for more information-->
+    <string name="risk_details_explanation_dialog_faq_body">"Weitere Informationen finden Sie in den FAQ."</string>
+    <!-- XLNK: FAQ URL pointing to the faq page in german. Need to use the URL for english for all other languages-->
+    <string name="risk_details_explanation_faq_link">"https://www.coronawarn.app/de/faq/#encounter_but_green"</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 mindestens einer nachweislich Corona-positiv getesteten Person über einen längeren Zeitraum und mit einem geringeren Abstand begegnet sind."</string>
     <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact -->
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 7ec59c027..bcf14758a 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -690,6 +690,10 @@
     <string name="settings_tracing_status_connection_headline">"Open Internet connection"</string>
     <!-- XTXT: settings(tracing) - explains user what to do on card if connection is disabled -->
     <string name="settings_tracing_status_connection_body">"Exposure logging requires an Internet connection to calculate your risk of infection. Please turn on Wi-Fi or mobile data in your device settings."</string>
+    <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information-->
+    <string name="risk_details_explanation_dialog_faq_body">"Weitere Informationen finden Sie in den FAQ."</string>
+    <!-- XLNK: FAQ URL pointing to the faq page in german. Need to use the URL for english for all other languages-->
+    <string name="risk_details_explanation_faq_link">"https://www.coronawarn.app/en/faq/#encounter_but_green"</string>
     <!-- XBUT: settings(tracing) - go to operating system settings button on card -->
     <string name="settings_tracing_status_connection_button">"Open Device Settings"</string>
     <!-- XTXT: settings(tracing) - explains the circle progress indicator to the right with the current value -->
-- 
GitLab