diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/eventregistration/organizer/TraceLocationsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/eventregistration/organizer/TraceLocationsFragmentTest.kt
index a5d0eb09fe0..b9137c4ed7d 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/eventregistration/organizer/TraceLocationsFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/eventregistration/organizer/TraceLocationsFragmentTest.kt
@@ -10,6 +10,7 @@ import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import dagger.Module
import dagger.android.ContributesAndroidInjector
import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.presencetracing.TraceLocationSettings
import de.rki.coronawarnapp.presencetracing.checkins.CheckInRepository
import de.rki.coronawarnapp.presencetracing.storage.repo.TraceLocationRepository
import de.rki.coronawarnapp.ui.presencetracing.organizer.list.TraceLocationsFragment
@@ -35,6 +36,7 @@ class TraceLocationsFragmentTest : BaseUITest() {
@MockK private lateinit var checkInsRepository: CheckInRepository
@MockK private lateinit var traceLocationRepository: TraceLocationRepository
+ @MockK lateinit var traceLocationSettings: TraceLocationSettings
private val timeZone = TimeZone.getTimeZone("Europe/Berlin")
@@ -44,6 +46,8 @@ class TraceLocationsFragmentTest : BaseUITest() {
MockKAnnotations.init(this, relaxed = true)
every { checkInsRepository.allCheckIns } returns flowOf(listOf())
+ every { traceLocationSettings.onboardingStatus } returns
+ flowOf(TraceLocationSettings.OnboardingStatus.ONBOARDED_2_0)
setupMockViewModel(
object : TraceLocationsViewModel.Factory {
@@ -94,10 +98,11 @@ class TraceLocationsFragmentTest : BaseUITest() {
}
private fun createViewModel() = TraceLocationsViewModel(
+ appScope = TestScope(),
+ dispatcherProvider = TestDispatcherProvider(),
checkInsRepository = checkInsRepository,
traceLocationRepository = traceLocationRepository,
- dispatcherProvider = TestDispatcherProvider(),
- appScope = TestScope()
+ settings = traceLocationSettings
)
}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsConsentDetailFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsConsentDetailFragment.kt
new file mode 100644
index 00000000000..87f3f1eb851
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsConsentDetailFragment.kt
@@ -0,0 +1,19 @@
+package de.rki.coronawarnapp.srs.ui.consent
+
+import android.os.Bundle
+import android.view.View
+import androidx.fragment.app.Fragment
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.databinding.SrsConsentDetailFragmentBinding
+import de.rki.coronawarnapp.util.ui.popBackStack
+import de.rki.coronawarnapp.util.ui.viewBinding
+
+class SrsConsentDetailFragment : Fragment(R.layout.srs_consent_detail_fragment) {
+
+ private val binding: SrsConsentDetailFragmentBinding by viewBinding()
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.toolbar.setNavigationOnClickListener { popBackStack() }
+ }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt
index 65a51ec5d90..b0622c069e2 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt
@@ -76,7 +76,10 @@ class SrsSubmissionConsentFragment : Fragment(R.layout.fragment_srs_submission_c
viewModel.event.observe2(this) {
when (it) {
SrsSubmissionConsentNavigationEvents.NavigateToDataPrivacy ->
- findNavController().navigate(R.id.surveyConsentDetailFragment)
+ findNavController().navigate(
+ SrsSubmissionConsentFragmentDirections
+ .actionSrsSubmissionConsentFragmentToSrsConsentDetailFragment()
+ )
SrsSubmissionConsentNavigationEvents.NavigateToMainScreen ->
findNavController().navigate(
diff --git a/Corona-Warn-App/src/main/res/layout/srs_consent_detail_fragment.xml b/Corona-Warn-App/src/main/res/layout/srs_consent_detail_fragment.xml
new file mode 100644
index 00000000000..16035af2b43
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/srs_consent_detail_fragment.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/navigation/srs_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/srs_nav_graph.xml
index 07aa263f16e..cca1a3b6a54 100644
--- a/Corona-Warn-App/src/main/res/navigation/srs_nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/srs_nav_graph.xml
@@ -23,6 +23,9 @@
+
+
+
diff --git a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
index 5c708dfa353..482c06c7654 100644
--- a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
@@ -67,7 +67,7 @@
"Prüfung der Echtheit und Drittlandsübermittlung"
- "Um die Echtheit Ihrer App zu bestätigen, erzeugt Ihr Smartphone eine eindeutige Kennung, die Informationen über die Version Ihres Smartphones und der App enthält. Das ist erforderlich, um sicherzustellen, dass nur Nutzer eine Warnung nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, auslösen, die tatsächlich die Corona-Warn-App nutzen und nicht manipulierte Warnungen bereitstellen. Das Verfahren dient außerdem dazu, sicherzustellen, dass Warnungen nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, nur alle drei Monate möglich sind.\n\n\Die bei der Echtheitsprüfung erzeugte eindeutige Kennung wird beim Auslösen der Warnung einmalig an Apple übermittelt. Dabei kann es auch zu einer Datenübermittlung in die USA oder andere Drittländer kommen. Dort besteht möglicherweise kein dem europäischen Recht entsprechendes Datenschutzniveau und Ihre europäischen Datenschutzrechte können eventuell nicht durchgesetzt werden. Insbesondere besteht die Möglichkeit, dass Sicherheitsbehörden im Drittland, auch ohne einen konkreten Verdacht, auf die übermittelten Daten bei Apple zugreifen und diese auswerten, beispielsweise indem sie Daten mit anderen Informationen verknüpfen. Dies betrifft nur die an Apple übermittelte Kennung. Möglicherweise kann Apple jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones im Rahmen einer Warnung anderer stattgefunden hat.\n\n\Wenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, eine Warnung anderer nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, ist dann jedoch nicht möglich."
+ "Um die Echtheit Ihrer App zu bestätigen, erzeugt Ihr Smartphone eine eindeutige Kennung, die Informationen über die Version Ihres Smartphones und der App enthält. Das ist erforderlich, um sicherzustellen, dass nur Nutzer eine Warnung nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, auslösen, die tatsächlich die Corona-Warn-App nutzen und nicht manipulierte Warnungen bereitstellen. Das Verfahren dient außerdem dazu, sicherzustellen, dass Warnungen nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, nur alle drei Monate möglich sind.\n\n\Die bei der Echtheitsprüfung erzeugte eindeutige Kennung wird beim Auslösen der Warnung einmalig an Apple übermittelt. Dabei kann es auch zu einer Datenübermittlung in die USA oder andere Drittländer kommen. Dort besteht möglicherweise kein dem europäischen Recht entsprechendes Datenschutzniveau und Ihre europäischen Datenschutzrechte können eventuell nicht durchgesetzt werden. Insbesondere besteht die Möglichkeit, dass Sicherheitsbehörden im Drittland, auch ohne einen konkreten Verdacht, auf die übermittelten Daten bei Google zugreifen und diese auswerten, beispielsweise indem sie Daten mit anderen Informationen verknüpfen. Dies betrifft nur die an Google übermittelte Kennung. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones im Rahmen einer Warnung anderer stattgefunden hat.\n\n\Wenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, eine Warnung anderer nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, ist dann jedoch nicht möglich."
"Ihr Einverständnis"
@@ -249,4 +249,12 @@
Bevor das Testergebnis geteilt werden kann, wird die Echtheit Ihrer App einmalig geprüft. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Google in die USA oder andere Drittländer übermittelt, damit Google die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Google kann damit möglicherweise auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat. Weitere Angaben aus der App erhält Google hierbei nicht.
Wenn Sie zusätzlich Angaben zum Beginn Ihrer Symptome machen, werden auch diese geteilt.
+
+
+
+ "Ausführliche Informationen zur Echtheitsprüfung und den Datenschutzrisiken in den USA und anderen Drittländern"
+
+ "Prüfung der Echtheit und Drittlandsübermittlung"
+
+ "Um die Echtheit Ihrer App zu bestätigen, erzeugt Ihr Smartphone eine eindeutige Kennung, die Informationen über die Version Ihres Smartphones und der App enthält. Das ist erforderlich, um sicherzustellen, dass nur Nutzer eine Warnung nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, auslösen, die tatsächlich die Corona-Warn-App nutzen und nicht manipulierte Warnungen bereitstellen. Das Verfahren dient außerdem dazu, sicherzustellen, dass Warnungen nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, nur alle drei Monate möglich sind.\n\n\Die bei der Echtheitsprüfung erzeugte eindeutige Kennung wird beim Auslösen der Warnung einmalig an Apple übermittelt. Dabei kann es auch zu einer Datenübermittlung in die USA oder andere Drittländer kommen. Dort besteht möglicherweise kein dem europäischen Recht entsprechendes Datenschutzniveau und Ihre europäischen Datenschutzrechte können eventuell nicht durchgesetzt werden. Insbesondere besteht die Möglichkeit, dass Sicherheitsbehörden im Drittland, auch ohne einen konkreten Verdacht, auf die übermittelten Daten bei Google zugreifen und diese auswerten, beispielsweise indem sie Daten mit anderen Informationen verknüpfen. Dies betrifft nur die an Google übermittelte Kennung. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones im Rahmen einer Warnung anderer stattgefunden hat.\n\n\Wenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, eine Warnung anderer nach einem positiven Selbsttest oder mit einem Testergebnis, das nicht in der App vorliegt, ist dann jedoch nicht möglich."
diff --git a/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml b/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
index f4945a3d1cc..4154e1ec34b 100644
--- a/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
@@ -238,13 +238,21 @@
- Ihr Einverständnis
+ Rıza beyanınız
- Durch Antippen von „Einverstanden“ willigen Sie in folgende Schritte ein:
+ Kabul Ediyorum’a dokunarak aşağıdaki adımları kabul etmiş olursunuz:
- Die App teilt Ihr positives Testergebnis, um andere Nutzer der Corona-Warn-App zu warnen, denen Sie begegnet sind oder die zeitgleich am selben Event oder Ort wie Sie eingecheckt waren.
+ Uygulama, karşılaştığınız veya sizinle aynı anda aynı etkinlikte veya yerde check-in yapmış olan diğer Corona Warn uygulaması kullanıcılarını uyarmak için pozitif test sonucunuzu paylaşır.
- Bevor das Testergebnis geteilt werden kann, wird die Echtheit Ihrer App einmalig geprüft. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Google in die USA oder andere Drittländer übermittelt, damit Google die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Google kann damit möglicherweise auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat. Weitere Angaben aus der App erhält Google hierbei nicht.
+ Test sonucu paylaşılmadan önce uygulamanızın orijinalliği bir kez kontrol edilir. Bu amaçla, akıllı telefonunuz tarafından benzersiz bir tanımlayıcı oluşturulur ve ABD’deki Google veya diğer üçüncü taraf ülkelere iletilir, böylece Google uygulamanızın gerçekliğini RKI’ye doğrulayabilir. Tanımlayıcı, akıllı telefonunuzun ve uygulamanın sürümü hakkında bilgi içerir. Google bunu kimliğinizi çıkarmak ve akıllı telefonunuzun kimlik doğrulamasının gerçekleştiğini anlamak için kullanabilir. Google uygulama haricinde herhangi bir bilgi almaz.
- Wenn Sie zusätzlich Angaben zum Beginn Ihrer Symptome machen, werden auch diese geteilt.
+ Semptomlarınızın başlangıcı hakkında ek bilgi verirseniz, bu da paylaşılacaktır.
+
+
+
+ "ABD ve diğer üçüncü taraf ülkelerdeki kimlik doğrulama ve veri koruma riskleri hakkında ayrıntılı bilgi"
+
+ "Orijinallik doğrulanması ve üçüncü taraf ülkelere aktarım"
+
+ "Uygulamanızın orijinal olduğunu onaylamak adına akıllı telefonunuz, akıllı telefonunuzun sürümü ve Uygulamaya ilişkin veriler içeren benzersiz bir kimlik kodu oluşturur. Bu, yalnızca Corona Warn uygulamasını gerçekten kullanan ve manipüle edilmiş uyarılar vermeyen kullanıcıların pozitif bir kendi kendine testten sonra veya uygulamada olmayan bir test sonucuyla bir uyarıyı tetiklemesini sağlamak için gereklidir. Bu prosedür aynı zamanda uyarıların yalnızca pozitif bir kendi kendine yapılan testten sonra veya uygulamada mevcut olmayan bir test sonucu ile her üç ayda bir mümkün olmasını sağlamaya hizmet eder.\n\nOrijinallik kontrolü tarafından oluşturulan benzersiz tanımlayıcı, uyarı tetiklendiğinde Google bir kez iletilir. Bu, verilerin ABD’ye veya diğer üçüncü taraf ülkelere aktarılmasına da neden olabilir. Burada Avrupa yasalarına uygun bir veri koruma düzeyi olmayabilir ve Avrupa veri koruma haklarınız uygulanamayabilir. Bu bağlamda özellikle üçüncü taraf ülkelerdeki güvenlik makamlarının, somut bir şüphe olmasa bile, Google aktarılan bu verilere erişme ve örneğin verileri diğer bilgilerle ilişkilendirerek bunları değerlendirmeye alma olasılığı bulunmaktadır. Bu durum sadece Google aktarılan kimlik kodları için söz konusudur. Bununla birlikte, Google tanımlayıcıdan kimliğinizi çıkarabilir ve akıllı telefonunuzun kimlik doğrulamasının başkalarından gelen bir uyarının parçası olarak gerçekleştiğini anlayabilir.\n\nÜçüncü taraf ülkelere aktarımı kabul etmiyorsanız, lütfen “Kabul ediyorum” seçeneğine tıklamayın. Uygulamayı kullanmaya devam edebilirsiniz, ancak pozitif bir kendi kendine yapılan testten sonra veya uygulamada olmayan bir test sonucuyla başkalarını uyarmak mümkün değildir."
diff --git a/Corona-Warn-App/src/main/res/values/legal_strings.xml b/Corona-Warn-App/src/main/res/values/legal_strings.xml
index d46b68531f5..fe0c3dd7f9c 100644
--- a/Corona-Warn-App/src/main/res/values/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/legal_strings.xml
@@ -53,7 +53,7 @@
"Your Consent"
- "By tapping on “Accept”, you consent to the following:\n\nBefore your participation link can be shown to you, the authenticity of your app is checked once. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Apple [Google] may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process. This ensures that each user can only participate in the survey once, so as not to distort the statistics."
+ "By tapping on “Accept”, you consent to the following:\n\nBefore your participation link can be shown to you, the authenticity of your app is checked once. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Google may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process. This ensures that each user can only participate in the survey once, so as not to distort the statistics."
"Your consent is voluntary. If you do not give your consent for the purposes of the survey, you will still be able to use the whole app."
@@ -65,7 +65,7 @@
"Verification of Authenticity and Transfer to a Third Country"
- "To confirm the authenticity of your app, your smartphone will generate a unique identifier that contains information about the version of your smartphone and the app. This is necessary to prevent users from participating in the survey more than once, as this could distort the results of the survey. Once generated, the identifier will be transmitted once to Google. This may result in data being transferred to the U.S. or other third countries. There, the level of data protection may not be considered equivalent under European law and it may not be possible to enforce your European data protection rights. In particular, there is a possibility that once the transmitted data reaches Google, it may be accessed and analyzed by security authorities in the third country, even if they have no specific grounds for suspicion, for example by linking the data with other information. This only concerns the identifier sent to Google. Google will not receive the other information about your participation in the survey. It may however be possible for Apple [Google] to infer your identity from the identifier and learn that your smartphone has been authenticated. "
+ "To confirm the authenticity of your app, your smartphone will generate a unique identifier that contains information about the version of your smartphone and the app. This is necessary to prevent users from participating in the survey more than once, as this could distort the results of the survey. Once generated, the identifier will be transmitted once to Google. This may result in data being transferred to the U.S. or other third countries. There, the level of data protection may not be considered equivalent under European law and it may not be possible to enforce your European data protection rights. In particular, there is a possibility that once the transmitted data reaches Google, it may be accessed and analyzed by security authorities in the third country, even if they have no specific grounds for suspicion, for example by linking the data with other information. This only concerns the identifier sent to Google. Google will not receive the other information about your participation in the survey. It may however be possible for Google to infer your identity from the identifier and learn that your smartphone has been authenticated. "
"Your Consent"
@@ -238,13 +238,21 @@
- Ihr Einverständnis
+ Your consent
- Durch Antippen von „Einverstanden“ willigen Sie in folgende Schritte ein:
+ By tapping on “Accept”, you consent to the following steps:
- Die App teilt Ihr positives Testergebnis, um andere Nutzer der Corona-Warn-App zu warnen, denen Sie begegnet sind oder die zeitgleich am selben Event oder Ort wie Sie eingecheckt waren.
+ The app will share your positive test result in order to warn other Corona-Warn-App users whom you have encountered or who were simultaneously checked in at the same event or place as you.
- Bevor das Testergebnis geteilt werden kann, wird die Echtheit Ihrer App einmalig geprüft. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Google in die USA oder andere Drittländer übermittelt, damit Google die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Google kann damit möglicherweise auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat. Weitere Angaben aus der App erhält Google hierbei nicht.
+ Before the test result can be shared, the authenticity of your app is checked once. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the US or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. Google may thus be able to infer your identity and learn that your smartphone has been authenticated. Google will not receive any further information from the app during this process.
- Wenn Sie zusätzlich Angaben zum Beginn Ihrer Symptome machen, werden auch diese geteilt.
+ If you provide additional information about the onset of your symptoms, this will also be shared.
+
+
+
+ "Detailed information on authentication and data protection risks in the US and other third countries"
+
+ "Verification of authenticity and transfer to a third country"
+
+ "To confirm the authenticity of your app, your smartphone will generate a unique identifier that contains information about the version of your smartphone and the app. This is necessary to ensure that only users who actually use the Corona-Warn-App activate the warning feature after a positive self-test or with a test result that is not in the app, and to prevent manipulated warnings. The procedure also serves to ensure that users can only activate the warning feature after a positive self-test, or with a test result that is not available in the app, every three months.\n\nThe unique identifier generated during authentication will be transmitted once to Google when the warning feature is activated. This may result in data being transferred to the US or other third countries. There, the level of data protection may not be considered equivalent under European law and it may not be possible to enforce your European data protection rights. In particular, there is a possibility that once the transmitted data reaches Google, it may be accessed and analysed by security authorities in the third country, even if they have no specific grounds for suspicion, for example by linking the data with other information. This only concerns the identifier sent to Google. However, Google may be able to infer your identity from the identifier and learn that your smartphone has been authenticated for the purpose of warning others.\n\nIf you do not consent to this transfer of your data to a third country, please do not tap on “Accept”. You can still use the app, but it will not be possible to warn others after a positive self-test or with a test result that is not in the app."