diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/TraceLocationSettings.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/TraceLocationSettings.kt new file mode 100644 index 0000000000000000000000000000000000000000..f9feb6dd532f77f1405721326748f63c033a8327 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/TraceLocationSettings.kt @@ -0,0 +1,40 @@ +package de.rki.coronawarnapp.eventregistration + +import android.content.Context +import de.rki.coronawarnapp.util.di.AppContext +import de.rki.coronawarnapp.util.preferences.clearAndNotify +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class TraceLocationSettings @Inject constructor( + @AppContext val context: Context +) { + + private val preferences by lazy { + context.getSharedPreferences(name, Context.MODE_PRIVATE) + } + + var onboardingStatus: OnboardingStatus + get() { + val order = preferences.getInt(key_status, OnboardingStatus.NOT_ONBOARDED.order) + return OnboardingStatus.values().find { it.order == order } ?: OnboardingStatus.NOT_ONBOARDED + } + set(value) = preferences.edit().putInt(key_status, value.order).apply() + + inline val isOnboardingDone get() = onboardingStatus == OnboardingStatus.ONBOARDED_2_0 + + fun clear() { + preferences.clearAndNotify() + } + + enum class OnboardingStatus(val order: Int) { + NOT_ONBOARDED(0), + ONBOARDED_2_0(1) + } + + companion object { + private const val key_status = "trace_location_onboardingstatus" + private const val name = "trace_location_localdata" + } +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/EventRegistrationUIModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/EventRegistrationUIModule.kt index aa58e0c9544ef0f81dc43f4df15ece862552de05..8840ff0adfeffac890939bad167637d87be50db1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/EventRegistrationUIModule.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/EventRegistrationUIModule.kt @@ -6,6 +6,8 @@ import de.rki.coronawarnapp.ui.eventregistration.attendee.checkins.CheckInsFragm import de.rki.coronawarnapp.ui.eventregistration.attendee.checkins.CheckInsModule import de.rki.coronawarnapp.ui.eventregistration.attendee.confirm.ConfirmCheckInFragment import de.rki.coronawarnapp.ui.eventregistration.attendee.confirm.ConfirmCheckInModule +import de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding.CheckInOnboardingFragment +import de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding.CheckInOnboardingModule import de.rki.coronawarnapp.ui.eventregistration.attendee.edit.EditCheckInFragment import de.rki.coronawarnapp.ui.eventregistration.attendee.edit.EditCheckInModule import de.rki.coronawarnapp.ui.eventregistration.attendee.scan.ScanCheckInQrCodeFragment @@ -34,6 +36,9 @@ internal abstract class EventRegistrationUIModule { @ContributesAndroidInjector(modules = [CheckInsModule::class]) abstract fun checkInsFragment(): CheckInsFragment + @ContributesAndroidInjector(modules = [CheckInOnboardingModule::class]) + abstract fun checkInOnboardingFragment(): CheckInOnboardingFragment + @ContributesAndroidInjector(modules = [TraceLocationCategoryFragmentModule::class]) abstract fun traceLocationCategoryFragment(): TraceLocationCategoryFragment diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsFragment.kt index 6bf054474f391288abd994c529f42874a76bef10..eaa1800739549ee6f5c44a1a7331dc3e6d91a371 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsFragment.kt @@ -109,11 +109,8 @@ class CheckInsFragment : Fragment(R.layout.trace_location_attendee_checkins_frag ) ) - is CheckInEvent.ShowInformation -> Toast.makeText( - requireContext(), - "TODO ¯\\_(ツ)_/¯", - Toast.LENGTH_SHORT - ).show() + is CheckInEvent.ShowInformation -> + doNavigate(CheckInsFragmentDirections.actionCheckInsFragmentToCheckInOnboardingFragment(false)) is CheckInEvent.OpenDeviceSettings -> openDeviceSettings() } @@ -214,7 +211,7 @@ class CheckInsFragment : Fragment(R.layout.trace_location_attendee_checkins_frag setOnMenuItemClickListener { when (it.itemId) { R.id.menu_information -> { - Toast.makeText(requireContext(), "Information // TODO", Toast.LENGTH_SHORT).show() + viewModel.onInformationClicked() true } R.id.menu_remove_all -> { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt index 4cffe352110e2ac18795c745c9b951ee181def75..dbfafa23aac8f2e6410cc218b13eceb6d12170c5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt @@ -87,6 +87,11 @@ class CheckInsViewModel @AssistedInject constructor( events.postValue(CheckInEvent.ConfirmRemoveAll) } + fun onInformationClicked() { + Timber.d("onInformationClicked()") + events.postValue(CheckInEvent.ShowInformation) + } + private fun cameraPermissionItem() = CameraPermissionVH.Item( onOpenSettings = { events.postValue(CheckInEvent.OpenDeviceSettings) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingFragment.kt new file mode 100644 index 0000000000000000000000000000000000000000..c66e18b87292ea60bd1ecf994c8588fe33770faf --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingFragment.kt @@ -0,0 +1,55 @@ +package de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.navArgs +import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.databinding.FragmentTraceLocationOnboardingBinding +import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat +import de.rki.coronawarnapp.util.di.AutoInject +import de.rki.coronawarnapp.util.ui.doNavigate +import de.rki.coronawarnapp.util.ui.observe2 +import de.rki.coronawarnapp.util.ui.viewBindingLazy +import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider +import de.rki.coronawarnapp.util.viewmodel.cwaViewModels +import javax.inject.Inject + +class CheckInOnboardingFragment : Fragment(R.layout.fragment_trace_location_onboarding), AutoInject { + + @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory + + private val viewModel: CheckInOnboardingViewModel by cwaViewModels { viewModelFactory } + private val binding: FragmentTraceLocationOnboardingBinding by viewBindingLazy() + private val args by navArgs<CheckInOnboardingFragmentArgs>() + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + with(binding) { + checkInOnboardingAcknowledge.setOnClickListener { viewModel.onAcknowledged() } + // TODO if consent is already given: should the text be changed? + if (viewModel.isOnboardingComplete) checkInOnboardingAcknowledge.visibility = View.GONE + checkInOnboardingPrivacy.setOnClickListener { viewModel.onPrivacy() } + + if (!args.showBottomNav) { + checkInOnboardingToolbar.apply { + navigationIcon = context.getDrawableCompat(R.drawable.ic_close) + navigationContentDescription = getString(R.string.accessibility_close) + setNavigationOnClickListener { viewModel.onBackButtonPress() } + } + } + } + + viewModel.events.observe2(this) { navEvent -> + doNavigate( + when (navEvent) { + CheckInOnboardingNavigation.AcknowledgedNavigation -> + CheckInOnboardingFragmentDirections.actionCheckInOnboardingFragmentToCheckInsFragment() + CheckInOnboardingNavigation.DataProtectionNavigation -> + CheckInOnboardingFragmentDirections.actionCheckInOnboardingFragmentToPrivacyFragment() + } + ) + } + } +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingModule.kt new file mode 100644 index 0000000000000000000000000000000000000000..d052ff794e039fd398e301e3e83856ddbea2cd4c --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingModule.kt @@ -0,0 +1,18 @@ +package de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding + +import dagger.Binds +import dagger.Module +import dagger.multibindings.IntoMap +import de.rki.coronawarnapp.util.viewmodel.CWAViewModel +import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory +import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey + +@Module +abstract class CheckInOnboardingModule { + @Binds + @IntoMap + @CWAViewModelKey(CheckInOnboardingViewModel::class) + abstract fun checkInOnboardingFragment( + factory: CheckInOnboardingViewModel.Factory + ): CWAViewModelFactory<out CWAViewModel> +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingNavigation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingNavigation.kt new file mode 100644 index 0000000000000000000000000000000000000000..80abbc78a846607e135fa48c5ae91afc63cdda29 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingNavigation.kt @@ -0,0 +1,6 @@ +package de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding + +sealed class CheckInOnboardingNavigation { + object AcknowledgedNavigation : CheckInOnboardingNavigation() + object DataProtectionNavigation : CheckInOnboardingNavigation() +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingViewModel.kt new file mode 100644 index 0000000000000000000000000000000000000000..c48273409646b2e96e4c4afb9dda38d2dd0f3862 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/onboarding/CheckInOnboardingViewModel.kt @@ -0,0 +1,32 @@ +package de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding + +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import de.rki.coronawarnapp.eventregistration.TraceLocationSettings +import de.rki.coronawarnapp.util.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.viewmodel.CWAViewModel +import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory + +class CheckInOnboardingViewModel @AssistedInject constructor( + private val settings: TraceLocationSettings +) : CWAViewModel() { + val events = SingleLiveEvent<CheckInOnboardingNavigation>() + + fun onAcknowledged() { + settings.onboardingStatus = TraceLocationSettings.OnboardingStatus.ONBOARDED_2_0 + events.value = CheckInOnboardingNavigation.AcknowledgedNavigation + } + + fun onPrivacy() { + events.value = CheckInOnboardingNavigation.DataProtectionNavigation + } + + fun onBackButtonPress() { + events.value = CheckInOnboardingNavigation.AcknowledgedNavigation + } + + val isOnboardingComplete = settings.onboardingStatus == TraceLocationSettings.OnboardingStatus.ONBOARDED_2_0 + + @AssistedFactory + interface Factory : SimpleCWAViewModelFactory<CheckInOnboardingViewModel> +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt index adaf9fb30b63aa91507a36c0a8899ebc0c45d5b1..8722443459668785f042e1fa85b15038a8aae2b2 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt @@ -104,8 +104,23 @@ class MainActivity : AppCompatActivity(), HasAndroidInjector { binding.mainBottomNavigation.setupWithNavController2(navController) { vm.onBottomNavSelected() } - vm.isOnboardingDone.observe(this) { isOnboardingDone -> - startNestedGraphDestination(navController, isOnboardingDone) + vm.isContactDiaryOnboardingDone.observe(this) { isOnboardingDone -> + startContactDiaryNestedGraphDestination(navController, isOnboardingDone) + } + vm.isTraceLocationOnboardingDone.observe(this) { isOnboardingDone -> + startTraceLocationNestedGraphDestination(navController, isOnboardingDone) + } + + vm.activeCheckIns.observe(this) { count -> + val targetId = R.id.trace_location_attendee_nav_graph + binding.mainBottomNavigation.apply { + if (count > 0) { + val badge = getOrCreateBadge(targetId) + badge.number = count + } else { + removeBadge(targetId) + } + } } if (savedInstanceState == null) { @@ -132,7 +147,7 @@ class MainActivity : AppCompatActivity(), HasAndroidInjector { R.id.contact_diary_nav_graph val nestedGraph = navController.graph.findNode(R.id.contact_diary_nav_graph) as NavGraph - if (vm.isOnboardingDone.value == true) { + if (vm.isContactDiaryOnboardingDone.value == true) { nestedGraph.startDestination = R.id.contactDiaryOverviewFragment navController.navigate( ContactDiaryOverviewFragmentDirections.actionContactDiaryOverviewFragmentToContactDiaryDayFragment( @@ -145,7 +160,7 @@ class MainActivity : AppCompatActivity(), HasAndroidInjector { } } - private fun startNestedGraphDestination(navController: NavController, isOnboardingDone: Boolean) { + private fun startContactDiaryNestedGraphDestination(navController: NavController, isOnboardingDone: Boolean) { val nestedGraph = navController.graph.findNode(R.id.contact_diary_nav_graph) as NavGraph nestedGraph.startDestination = if (isOnboardingDone) { R.id.contactDiaryOverviewFragment @@ -154,6 +169,15 @@ class MainActivity : AppCompatActivity(), HasAndroidInjector { } } + private fun startTraceLocationNestedGraphDestination(navController: NavController, isOnboardingDone: Boolean) { + val nestedGraph = navController.graph.findNode(R.id.trace_location_attendee_nav_graph) as NavGraph + nestedGraph.startDestination = if (isOnboardingDone) { + R.id.checkInsFragment + } else { + R.id.checkInOnboardingFragment + } + } + private fun navigateByIntentUri(intent: Intent?) { val uri = intent?.data ?: return Timber.i("Uri:$uri") diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityViewModel.kt index 028197ca86763fa9b9bcfe559620172fc7f959e6..4b534fb0eda9941b9cda93f24b1e6a24c7617f6f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityViewModel.kt @@ -2,10 +2,13 @@ package de.rki.coronawarnapp.ui.main import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.asLiveData import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import de.rki.coronawarnapp.contactdiary.ui.ContactDiarySettings import de.rki.coronawarnapp.environment.EnvironmentSetup +import de.rki.coronawarnapp.eventregistration.TraceLocationSettings +import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository import de.rki.coronawarnapp.playbook.BackgroundNoise import de.rki.coronawarnapp.storage.OnboardingSettings import de.rki.coronawarnapp.util.CWADebug @@ -15,6 +18,7 @@ import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map class MainActivityViewModel @AssistedInject constructor( dispatcherProvider: DispatcherProvider, @@ -22,7 +26,9 @@ class MainActivityViewModel @AssistedInject constructor( private val backgroundModeStatus: BackgroundModeStatus, private val contactDiarySettings: ContactDiarySettings, private val backgroundNoise: BackgroundNoise, - private val onboardingSettings: OnboardingSettings + private val onboardingSettings: OnboardingSettings, + private val traceLocationSettings: TraceLocationSettings, + private val checkInRepository: CheckInRepository, ) : CWAViewModel( dispatcherProvider = dispatcherProvider ) { @@ -31,8 +37,14 @@ class MainActivityViewModel @AssistedInject constructor( val showBackgroundJobDisabledNotification = SingleLiveEvent<Unit>() val showEnergyOptimizedEnabledForBackground = SingleLiveEvent<Unit>() - private val mutableIsOnboardingDone = MutableLiveData<Boolean>() - val isOnboardingDone: LiveData<Boolean> = mutableIsOnboardingDone + private val mutableIsContactDiaryOnboardingDone = MutableLiveData<Boolean>() + val isContactDiaryOnboardingDone: LiveData<Boolean> = mutableIsContactDiaryOnboardingDone + private val mutableIsTraceLocationOnboardingDone = MutableLiveData<Boolean>() + val isTraceLocationOnboardingDone: LiveData<Boolean> = mutableIsTraceLocationOnboardingDone + + val activeCheckIns = checkInRepository.allCheckIns + .map { checkins -> checkins.filter { !it.completed }.size } + .asLiveData(context = dispatcherProvider.Default) init { if (CWADebug.isDeviceForTestersBuild) { @@ -69,7 +81,8 @@ class MainActivityViewModel @AssistedInject constructor( } fun onBottomNavSelected() { - mutableIsOnboardingDone.value = contactDiarySettings.isOnboardingDone + mutableIsContactDiaryOnboardingDone.value = contactDiarySettings.isOnboardingDone + mutableIsTraceLocationOnboardingDone.value = traceLocationSettings.isOnboardingDone } private suspend fun checkForEnergyOptimizedEnabled() { 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 6550161fbd722b8a592d0421195011dd8dd5b939..28d72a5afa6bf54b0aa7bb9dacd06d60a0dc853f 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 @@ -11,6 +11,7 @@ import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings import de.rki.coronawarnapp.datadonation.survey.SurveySettings import de.rki.coronawarnapp.diagnosiskeys.download.DownloadDiagnosisKeysSettings import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository +import de.rki.coronawarnapp.eventregistration.TraceLocationSettings import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository import de.rki.coronawarnapp.eventregistration.storage.repo.TraceLocationRepository import de.rki.coronawarnapp.main.CWASettings @@ -55,7 +56,8 @@ class DataReset @Inject constructor( private val onboardingSettings: OnboardingSettings, private val submissionSettings: SubmissionSettings, private val traceLocationRepository: TraceLocationRepository, - private val checkInRepository: CheckInRepository + private val checkInRepository: CheckInRepository, + private val traceLocationSettings: TraceLocationSettings ) { private val mutex = Mutex() @@ -85,6 +87,7 @@ class DataReset @Inject constructor( tracingSettings.clear() onboardingSettings.clear() submissionSettings.clear() + traceLocationSettings.clear() // Clear contact diary database contactDiaryRepository.clear() diff --git a/Corona-Warn-App/src/main/res/drawable-night/trace_location_onboarding.xml b/Corona-Warn-App/src/main/res/drawable-night/trace_location_onboarding.xml new file mode 100644 index 0000000000000000000000000000000000000000..838f9b18bb29645f82cc5855efc3a744352c5b6a --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable-night/trace_location_onboarding.xml @@ -0,0 +1,106 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="273dp" + android:height="191dp" + android:viewportWidth="273" + android:viewportHeight="191"> + <path + android:pathData="M2.829,28.706C-9.367,63.544 21.202,74.925 31.33,114.706C41.297,153.872 65.128,157.199 65.128,157.199L236.175,158C236.175,158 280.207,104.914 271.974,65.922C265.503,32.727 232.825,12.195 210.889,23.403C153.98,52.47 123.158,15.147 94.803,7.079C39.91,-8.497 11.902,2.924 2.829,28.706Z" + android:fillColor="#2D2D2F" + android:fillType="evenOdd"/> + <path + android:pathData="M145.362,39.744C145.435,39.274 145.411,38.793 145.292,38.332C145.173,37.871 144.962,37.439 144.671,37.062C144.38,36.685 144.015,36.371 143.599,36.14C143.183,35.908 142.724,35.763 142.251,35.714C141.777,35.665 141.299,35.713 140.844,35.854C140.389,35.996 139.968,36.228 139.606,36.537C139.244,36.847 138.948,37.226 138.738,37.653C138.527,38.08 138.405,38.545 138.379,39.021C138.31,39.488 138.337,39.965 138.457,40.422C138.577,40.879 138.788,41.307 139.077,41.681C139.366,42.055 139.728,42.367 140.14,42.597C140.553,42.828 141.007,42.973 141.477,43.025C141.947,43.076 142.422,43.031 142.875,42.894C143.327,42.757 143.747,42.531 144.11,42.228C144.473,41.925 144.77,41.552 144.986,41.131C145.201,40.71 145.329,40.25 145.362,39.779" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M141.423,53.723L141.699,61.177H134.83L135.841,53.723H141.423Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M132.465,48.508C132.465,59.994 143.951,58.512 144.295,47.003C144.295,35.575 132.775,36.999 132.465,48.508Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M149.131,93.9C154.506,120.536 148.545,139.718 147.063,161.932L143.618,162.046L140.298,110.073L139.781,105.8C138.093,111.784 135.796,118.274 134.303,126.314L132.58,162.38L127.882,162.265C127.882,162.265 125.033,126.21 125.045,126.199C125.929,118.297 125.608,108.913 129.858,94.463L149.131,93.9Z" + android:fillColor="#DDA7A2"/> + <path + android:pathData="M124.309,94.773C126.48,104.639 112.202,106.604 122.494,92.729L124.309,94.773Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M154.505,72.939C153.15,68.058 149.796,59.604 141.652,59.156C141.296,59.156 139.355,61.005 135.105,59.041C126.181,61.269 124.481,72.043 123.057,78.567C122.207,82.484 121.908,88.204 121.403,91.937C121.322,92.431 120.886,94.418 122.069,94.843C123.447,95.314 124.159,95.75 124.86,94.578C126.456,91.879 128.306,81.163 129.581,75.454C129.845,74.214 130.431,72.009 130.431,72.617C130.431,73.226 128.926,92.81 129.856,94.441C131.005,96.485 146.43,95.75 149.13,93.878C149.509,93.614 149.313,89.996 148.82,85.619C153.207,89.686 156.102,91.259 158.192,87.917C159.283,86.205 155.929,78.073 154.505,72.939ZM148.176,80.727C148.027,79.716 147.878,78.716 147.705,77.752C147.239,74.94 146.955,72.101 146.855,69.252C146.855,69.252 147.866,74.386 148.555,76.615C149.704,80.301 150.255,81.714 150.255,81.714C149.545,81.422 148.851,81.092 148.176,80.727Z" + android:fillColor="#B1DAEF"/> + <path + android:pathData="M143.525,160.84L147.086,161.701C147.43,163.171 150.141,169.489 146.914,170.89C145.65,171.602 144.616,172.257 143.318,170.89C140.401,169.133 143.433,162.034 143.514,160.84" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M132.579,162.357C132.475,163.115 133.211,168.49 132.418,168.972C132.228,169.184 131.987,169.342 131.717,169.432H119.014C116.717,166.951 128.076,166.262 127.881,162.219L132.579,162.357Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M137.253,69.942H133.383C133.265,69.939 133.148,69.962 133.04,70.008C132.932,70.055 132.835,70.124 132.755,70.211C132.676,70.298 132.616,70.401 132.58,70.513C132.543,70.625 132.531,70.743 132.544,70.86L133.36,80.233C133.385,80.482 133.501,80.713 133.685,80.882C133.869,81.052 134.109,81.147 134.359,81.152H138.23C138.347,81.154 138.464,81.131 138.573,81.085C138.681,81.038 138.778,80.969 138.857,80.882C138.937,80.796 138.997,80.692 139.033,80.58C139.069,80.468 139.081,80.35 139.068,80.233L138.253,70.86C138.227,70.612 138.112,70.381 137.928,70.211C137.743,70.042 137.504,69.946 137.253,69.942Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M142.893,79.383L142.203,80.647C137.069,81.141 130.947,74.64 137.804,74.731C138.201,74.744 138.591,74.834 138.953,74.996C140.577,75.846 142.099,76.879 143.49,78.074" + android:fillColor="#F6B893"/> + <path + android:pathData="M143.996,41.812C140.55,36.149 132.693,38.653 132.693,45.74C136.656,45.166 138.976,44.591 141.193,42.903C141.319,42.811 141.285,42.685 141.48,42.903C143.283,44.936 144.03,48.853 144.03,48.853C145.179,47.704 144.903,43.19 144.03,41.812" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M133.636,100.021H130.328V184.627H133.636V100.021Z" + android:fillColor="#385460"/> + <path + android:pathData="M131.982,186.052C141.295,186.052 148.844,184.34 148.844,182.227C148.844,180.115 141.295,178.402 131.982,178.402C122.67,178.402 115.121,180.115 115.121,182.227C115.121,184.34 122.67,186.052 131.982,186.052Z" + android:fillColor="#385460"/> + <path + android:pathData="M194.558,175.771L191.112,176.621C190.767,178.092 188.217,184.937 191.56,186.155C192.092,186.491 192.723,186.637 193.349,186.568C193.975,186.499 194.559,186.22 195.006,185.776C197.797,183.812 194.638,176.966 194.569,175.771" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M177.627,177.059L176.754,181.654C176.72,181.889 176.605,182.104 176.429,182.264C176.253,182.423 176.027,182.516 175.79,182.527L164.522,182.676C164.273,182.658 164.037,182.561 163.849,182.397C163.661,182.233 163.531,182.013 163.479,181.769C163.427,181.526 163.456,181.271 163.561,181.045C163.667,180.82 163.842,180.634 164.062,180.517C164.949,180.14 165.868,179.844 166.808,179.632C166.921,179.603 167.03,179.557 167.129,179.494L171.413,176.52C171.619,176.381 171.87,176.327 172.114,176.37C173.355,176.588 177.248,177.197 177.857,176.232L177.65,176.853C177.63,176.92 177.622,176.99 177.627,177.059Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M199.496,106.34L179.97,106.661C179.97,106.661 175.077,127.336 174.227,140.74L170.942,176.852L177.673,177.174L189.377,120.893L189.86,177.484L196.108,177.323C196.108,177.323 206.537,115.62 199.496,106.34Z" + android:fillColor="#B1DAEF"/> + <path + android:pathData="M172.608,89.639L173.895,118.354C173.895,118.354 172.367,123.201 173.677,124.59C174.151,124.938 174.741,125.089 175.325,125.015C175.908,124.94 176.44,124.644 176.812,124.188C178.317,122.408 177.513,117.297 177.513,117.297L178.397,91.465L172.608,89.639Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M206.572,90.914L210.144,114.299C210.144,114.299 215.163,123.201 209.971,121.834C206.526,120.938 206.813,114.621 206.813,114.621L200.369,92.522L206.572,90.914Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M200.702,92.626C200.413,92.751 200.113,92.851 199.807,92.925L198.072,87.894C198.065,87.871 198.05,87.851 198.03,87.837C198.011,87.823 197.987,87.815 197.963,87.815C197.939,87.815 197.915,87.823 197.896,87.837C197.876,87.851 197.862,87.871 197.854,87.894L199.439,106.352C199.439,106.352 199.439,106.352 199.347,106.444C198.199,107.592 182.957,109.361 179.913,106.788C179.908,106.776 179.905,106.762 179.905,106.748C179.905,106.734 179.908,106.721 179.913,106.708L179.833,88.112C179.825,88.089 179.81,88.069 179.791,88.055C179.771,88.041 179.748,88.033 179.723,88.033C179.699,88.033 179.676,88.041 179.656,88.055C179.636,88.069 179.622,88.089 179.614,88.112L178.937,91.856C178.934,91.873 178.928,91.889 178.919,91.903C178.91,91.917 178.897,91.928 178.883,91.937C178.869,91.946 178.853,91.951 178.837,91.953C178.82,91.955 178.803,91.954 178.787,91.948L172.08,89.755C172.054,89.747 172.032,89.729 172.019,89.705C172.007,89.682 172.003,89.654 172.011,89.628C172.252,88.319 174.101,73.376 186.196,73.261C186.21,73.254 186.226,73.25 186.242,73.25C186.258,73.25 186.273,73.254 186.288,73.261C186.586,73.686 188.952,76.707 192.605,73.376C192.617,73.369 192.631,73.365 192.645,73.365C192.659,73.365 192.673,73.369 192.685,73.376C193.512,73.456 203.103,75.673 207.617,90.857" + android:fillColor="#C66A61"/> + <path + android:pathData="M192.421,73.559V70.309C192.421,70.309 201.897,58.754 190.02,52.77C190.02,52.77 176.421,52.942 186.575,69.998L186.264,73.881C186.264,73.881 189.239,77.901 192.421,73.559Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M190.997,66.587C190.434,67.655 191.513,71.836 193.937,71.79C194.055,71.791 194.173,71.815 194.281,71.863C194.39,71.91 194.488,71.979 194.569,72.066C194.859,72.37 195.241,72.57 195.657,72.634C196.072,72.699 196.497,72.624 196.866,72.422C196.997,72.375 197.137,72.361 197.274,72.379C197.412,72.397 197.544,72.447 197.658,72.525C198.37,73.019 199.956,73.811 200.909,72.123C200.992,71.976 201.117,71.856 201.269,71.781C201.42,71.705 201.591,71.676 201.759,71.698C202.816,71.813 204.837,71.801 204.309,69.734C204.283,69.544 204.306,69.35 204.375,69.17C204.444,68.991 204.556,68.832 204.702,68.707C204.849,68.582 205.024,68.497 205.212,68.457C205.4,68.418 205.595,68.426 205.779,68.482C207.146,68.631 208.409,67.931 208.168,66.656C208.134,66.483 208.153,66.303 208.223,66.141C208.292,65.979 208.409,65.842 208.559,65.748C209.535,65.14 211.154,63.761 209.018,62.084C209.018,62.084 207.777,61.452 209.477,59.58C209.541,59.515 209.595,59.442 209.638,59.362C209.837,58.961 209.884,58.501 209.77,58.068C209.656,57.635 209.389,57.258 209.018,57.007C207.617,55.916 208.938,53.78 207.674,53.424C207.267,53.364 206.887,53.182 206.584,52.904C206.281,52.625 206.069,52.262 205.974,51.862C205.756,50.507 206.388,47.267 202.161,48.186C197.934,49.105 202.54,44.132 195.901,45.028C195.759,45.046 195.615,45.029 195.481,44.979C195.347,44.929 195.227,44.847 195.131,44.741C194.71,44.17 194.094,43.773 193.4,43.625C192.706,43.476 191.982,43.587 191.364,43.937C191.176,44.054 190.95,44.095 190.732,44.051C189.802,43.868 187.206,43.557 186.138,45.522C186.08,45.64 185.995,45.742 185.889,45.82C185.783,45.898 185.659,45.95 185.529,45.97C184.897,46.073 183.783,46.417 184.059,47.635C184.415,49.231 183.485,48.703 183.485,48.703C183.485,48.703 181.44,47.715 180.28,49.266C180.206,49.365 180.113,49.448 180.007,49.511C179.9,49.575 179.782,49.616 179.66,49.633C179.207,49.649 178.763,49.765 178.361,49.975C177.959,50.184 177.609,50.481 177.336,50.844C177.064,51.206 176.877,51.625 176.788,52.07C176.699,52.514 176.711,52.973 176.823,53.412C176.845,53.586 176.815,53.763 176.737,53.92C176.66,54.077 176.538,54.208 176.386,54.297C175.936,54.507 175.565,54.859 175.331,55.298C175.097,55.737 175.012,56.24 175.088,56.732C175.114,56.907 175.083,57.086 175.001,57.243C174.918,57.4 174.788,57.527 174.629,57.605C173.687,58.087 172.056,59.167 172.516,60.717C172.57,60.886 172.573,61.067 172.524,61.236C172.475,61.406 172.376,61.558 172.24,61.671C171.631,62.188 170.885,63.267 172.24,65.117C172.316,65.208 172.37,65.315 172.4,65.431C172.43,65.546 172.434,65.666 172.412,65.783C172.285,66.424 172.411,67.091 172.764,67.641C173.118,68.192 173.671,68.584 174.307,68.735C174.45,68.784 174.578,68.869 174.678,68.981C174.779,69.094 174.849,69.23 174.882,69.378C174.939,69.69 175.061,69.988 175.239,70.251C175.417,70.514 175.647,70.738 175.916,70.907C176.185,71.076 176.486,71.188 176.8,71.235C177.114,71.283 177.435,71.264 177.742,71.181C177.912,71.167 178.082,71.2 178.234,71.277C178.387,71.354 178.514,71.472 178.603,71.618C178.853,72.132 179.286,72.535 179.817,72.747C180.348,72.96 180.939,72.967 181.475,72.766C181.599,72.718 181.732,72.699 181.865,72.709C183.014,72.812 188.401,73.007 187.608,67.644C187.592,67.528 187.554,67.417 187.494,67.316C187.435,67.216 187.357,67.128 187.264,67.058C185.843,65.921 184.747,64.429 184.088,62.733C183.428,61.036 183.228,59.196 183.508,57.398C183.508,57.168 183.508,56.537 183.818,56.399C185.667,55.388 185.931,53.929 186.54,54.033C187.401,54.182 187.401,54.343 189.159,56.33C191.077,58.501 192.088,57.306 193.317,58.03C194.971,59.006 193.822,62.303 193.5,63.015" + android:fillColor="#191818"/> + <path + android:pathData="M70.889,187.338C71.038,192.334 80.215,191.048 78.044,185.626C76.402,178.838 78.332,180.894 72.106,180.63C71.439,182.81 71.03,185.062 70.889,187.338Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M96.548,184.235C94.859,183.281 89.334,181.225 90.219,178.997L85.429,178.273C85.429,179.135 82.96,185.303 85.889,185.877C88.278,186.348 103.301,190.322 96.548,184.235Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M68.82,109.082C68.82,109.082 68.281,114.952 68.189,116.066C67.316,126.541 70.233,171.773 71.014,178.526C71.014,178.986 71.324,180.41 72.163,180.72C73.578,181.059 75.054,181.059 76.47,180.72C76.696,180.72 76.913,180.633 77.075,180.477C77.238,180.32 77.334,180.107 77.343,179.882C77.699,172.301 81.237,128.494 81.765,124.451C83.844,131.985 84.212,169.82 85.073,179.353C85.096,179.613 85.217,179.855 85.411,180.03C85.604,180.204 85.857,180.299 86.118,180.295C87.174,180.521 88.267,180.521 89.323,180.295C90.414,179.859 90.54,178.492 90.586,178.067C92.883,158.702 96.674,126.92 94.423,107.463L86.497,110.909L68.82,109.082Z" + android:fillColor="#8C8C98"/> + <path + android:pathData="M75.08,57.316C75.08,57.316 87.313,56.478 87.313,56.489L87.543,57.259C88.255,54.961 90.988,48.46 87.451,46.416C85.257,41.155 72.818,43.544 73.208,50.505C73.07,51.332 75.08,57.282 75.08,57.282" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M99.465,104.49L101.095,104.616C102.313,107.258 102.589,111.508 100.613,114.092C98.626,115.895 96.49,112.944 96.386,111.267C96.263,108.89 96.737,106.521 97.765,104.375L99.465,104.49Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M100.706,83.814C100.371,81.968 99.934,80.143 99.396,78.346C98.248,73.97 97.754,71.041 94.239,68.71C92.364,67.626 90.362,66.781 88.278,66.194C87.859,66.095 87.474,65.889 87.158,65.598C86.842,65.306 86.607,64.938 86.475,64.529C86.233,63.576 78.894,63.978 77.067,64.173C76.803,64.173 76.803,63.966 76.688,64.173C76.444,64.708 76.092,65.188 75.656,65.583C75.219,65.978 74.707,66.28 74.15,66.47C72.037,67.32 66.891,68.997 64.961,72.431C61.94,77.772 56.921,99.113 60.367,101.433C61.918,102.478 67.603,103.351 68.522,103.501C68.443,105.897 68.535,108.296 68.798,110.679C70.762,115.182 87.589,116.17 94.618,111.081C95.376,110.53 94.411,91.498 93.171,83.01C93.309,83.573 93.447,84.158 93.596,84.836C94.365,88.201 94.917,92.21 95.537,96.322C96.157,100.434 96.479,105.109 97.019,105.614C98.787,107.245 100.016,107.165 101.234,106.843C101.578,106.748 101.884,106.547 102.109,106.269C102.333,105.991 102.465,105.649 102.486,105.292C102.683,98.089 102.086,90.886 100.706,83.814ZM68.258,96.666C67.619,96.484 66.966,96.353 66.305,96.276C66.236,93.921 68.534,84.262 68.821,83.412C68.821,83.446 68.442,89.821 68.258,96.666Z" + android:fillColor="#C66A61"/> + <path + android:pathData="M81.96,91.463H77.641C77.37,91.463 77.11,91.571 76.919,91.762C76.727,91.954 76.619,92.214 76.619,92.485V102.995C76.619,103.266 76.727,103.526 76.919,103.718C77.11,103.909 77.37,104.017 77.641,104.017H81.88C82.019,104.025 82.158,104.004 82.289,103.956C82.419,103.908 82.539,103.834 82.64,103.739C82.741,103.643 82.822,103.528 82.877,103.4C82.931,103.272 82.96,103.134 82.959,102.995V92.497C82.961,92.362 82.936,92.229 82.886,92.104C82.836,91.98 82.762,91.866 82.668,91.77C82.574,91.674 82.462,91.598 82.339,91.545C82.215,91.492 82.083,91.464 81.949,91.463" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M81.501,67.124C83.383,66.753 85.1,65.797 86.405,64.391C86.1,63.414 85.851,62.421 85.659,61.416C85.176,61.944 77.756,61.956 77.274,61.416C77.08,62.421 76.831,63.414 76.527,64.391C77.842,65.803 79.572,66.76 81.466,67.124" + android:fillColor="#F6B893"/> + <path + android:pathData="M75.058,57.569V57.397C74.601,57.079 74.224,56.659 73.957,56.171C73.69,55.682 73.54,55.139 73.519,54.583C73.519,54.089 73.714,52.917 74.254,53.434C74.403,54.066 74.874,56.248 75.345,56.604C74.954,42.924 83.775,55.559 86.268,49.793C88.129,50.413 86.521,55.72 87.129,56.581C87.635,56.225 87.956,54.089 88.094,53.434C88.198,53.354 88.312,53.285 88.393,53.319C89.415,54.41 88.577,56.501 87.244,57.408C87.336,60.751 83.488,64.633 81.122,64.127C78.825,64.633 74.966,60.831 75.012,57.477" + android:fillColor="#F6B893"/> + <path + android:pathData="M72.232,100.561V99.056C74.656,97.678 78.688,97.057 81.295,98.723C83.178,100.469 80.537,102.743 78.998,102.973C76.736,103.298 74.43,103.049 72.29,102.249" + android:fillColor="#F6B893"/> + <path + android:pathData="M131.683,102.779C148.557,102.779 162.236,100.789 162.236,98.334C162.236,95.879 148.557,93.889 131.683,93.889C114.81,93.889 101.131,95.879 101.131,98.334C101.131,100.789 114.81,102.779 131.683,102.779Z" + android:fillColor="#385460"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/trace_location_onboarding.xml b/Corona-Warn-App/src/main/res/drawable/trace_location_onboarding.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a782c1b8e3eb87f998ed79db153174cdb0273f0 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/trace_location_onboarding.xml @@ -0,0 +1,106 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="273dp" + android:height="191dp" + android:viewportWidth="273" + android:viewportHeight="191"> + <path + android:pathData="M2.829,28.706C-9.367,63.544 21.202,74.925 31.33,114.706C41.297,153.872 65.128,157.199 65.128,157.199L236.175,158C236.175,158 280.207,104.914 271.974,65.922C265.503,32.727 232.825,12.195 210.889,23.403C153.98,52.47 123.158,15.147 94.803,7.079C39.91,-8.497 11.902,2.924 2.829,28.706Z" + android:fillColor="#E8F5FF" + android:fillType="evenOdd"/> + <path + android:pathData="M145.362,39.744C145.435,39.273 145.411,38.793 145.292,38.332C145.173,37.871 144.962,37.438 144.671,37.062C144.38,36.685 144.015,36.371 143.599,36.139C143.183,35.907 142.724,35.763 142.251,35.714C141.777,35.665 141.299,35.712 140.844,35.854C140.389,35.995 139.968,36.228 139.606,36.537C139.244,36.846 138.948,37.226 138.738,37.653C138.527,38.079 138.405,38.545 138.379,39.02C138.31,39.488 138.337,39.964 138.457,40.422C138.577,40.879 138.788,41.307 139.077,41.681C139.366,42.055 139.728,42.366 140.14,42.597C140.553,42.828 141.007,42.973 141.477,43.024C141.947,43.075 142.422,43.031 142.875,42.894C143.327,42.757 143.747,42.53 144.11,42.227C144.473,41.924 144.77,41.551 144.986,41.13C145.201,40.709 145.329,40.25 145.362,39.778" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M141.423,53.722L141.699,61.176H134.83L135.841,53.722H141.423Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M132.465,48.507C132.465,59.993 143.951,58.512 144.295,47.003C144.295,35.574 132.775,36.999 132.465,48.507Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M149.131,93.9C154.506,120.536 148.545,139.717 147.063,161.931L143.618,162.046L140.298,110.072L139.781,105.799C138.093,111.784 135.796,118.273 134.303,126.313L132.58,162.379L127.882,162.264C127.882,162.264 125.033,126.21 125.045,126.198C125.929,118.296 125.608,108.912 129.858,94.463L149.131,93.9Z" + android:fillColor="#DDA7A2"/> + <path + android:pathData="M124.309,94.773C126.48,104.639 112.202,106.604 122.494,92.729L124.309,94.773Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M154.505,72.938C153.15,68.057 149.796,59.603 141.652,59.155C141.296,59.155 139.355,61.004 135.105,59.04C126.181,61.268 124.481,72.042 123.057,78.566C122.207,82.483 121.908,88.203 121.403,91.936C121.322,92.43 120.886,94.417 122.069,94.842C123.447,95.313 124.159,95.749 124.86,94.577C126.456,91.878 128.306,81.162 129.581,75.453C129.845,74.213 130.431,72.008 130.431,72.616C130.431,73.225 128.926,92.809 129.856,94.44C131.005,96.484 146.43,95.749 149.13,93.877C149.509,93.613 149.313,89.995 148.82,85.618C153.207,89.685 156.102,91.258 158.192,87.916C159.283,86.204 155.929,78.072 154.505,72.938ZM148.176,80.726C148.027,79.715 147.878,78.715 147.705,77.751C147.239,74.939 146.955,72.1 146.855,69.251C146.855,69.251 147.866,74.385 148.555,76.614C149.704,80.3 150.255,81.713 150.255,81.713C149.545,81.421 148.851,81.091 148.176,80.726Z" + android:fillColor="#B1DAEF"/> + <path + android:pathData="M143.525,160.84L147.086,161.701C147.43,163.171 150.141,169.489 146.914,170.89C145.65,171.602 144.616,172.257 143.318,170.89C140.401,169.133 143.433,162.034 143.514,160.84" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M132.579,162.356C132.475,163.114 133.211,168.49 132.418,168.972C132.228,169.183 131.987,169.341 131.717,169.431H119.014C116.717,166.95 128.076,166.261 127.881,162.218L132.579,162.356Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M137.253,69.94H133.383C133.265,69.938 133.148,69.961 133.04,70.007C132.932,70.053 132.835,70.122 132.755,70.21C132.676,70.297 132.616,70.399 132.58,70.511C132.543,70.623 132.531,70.742 132.544,70.859L133.36,80.231C133.385,80.48 133.501,80.711 133.685,80.881C133.869,81.05 134.109,81.146 134.359,81.15H138.23C138.347,81.153 138.464,81.13 138.573,81.084C138.681,81.037 138.778,80.968 138.857,80.881C138.937,80.794 138.997,80.691 139.033,80.579C139.069,80.467 139.081,80.349 139.068,80.231L138.253,70.859C138.227,70.61 138.112,70.379 137.928,70.21C137.743,70.04 137.504,69.945 137.253,69.94Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M142.893,79.382L142.203,80.645C137.069,81.139 130.947,74.638 137.804,74.73C138.201,74.743 138.591,74.832 138.953,74.994C140.577,75.845 142.099,76.878 143.49,78.072" + android:fillColor="#F6B893"/> + <path + android:pathData="M143.996,41.811C140.55,36.148 132.693,38.653 132.693,45.739C136.656,45.165 138.976,44.591 141.193,42.902C141.319,42.81 141.285,42.684 141.48,42.902C143.283,44.935 144.03,48.852 144.03,48.852C145.179,47.703 144.903,43.189 144.03,41.811" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M133.636,100.022H130.328V184.627H133.636V100.022Z" + android:fillColor="#385460"/> + <path + android:pathData="M131.982,186.051C141.295,186.051 148.844,184.339 148.844,182.227C148.844,180.114 141.295,178.402 131.982,178.402C122.67,178.402 115.121,180.114 115.121,182.227C115.121,184.339 122.67,186.051 131.982,186.051Z" + android:fillColor="#385460"/> + <path + android:pathData="M194.558,175.771L191.112,176.621C190.767,178.092 188.217,184.937 191.56,186.155C192.092,186.491 192.723,186.637 193.349,186.568C193.975,186.499 194.559,186.22 195.006,185.776C197.797,183.812 194.638,176.966 194.569,175.771" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M177.627,177.058L176.754,181.652C176.72,181.887 176.605,182.103 176.429,182.262C176.253,182.421 176.027,182.514 175.79,182.525L164.522,182.675C164.273,182.657 164.037,182.559 163.849,182.396C163.661,182.232 163.531,182.012 163.479,181.768C163.427,181.524 163.456,181.27 163.561,181.044C163.667,180.818 163.842,180.632 164.062,180.515C164.949,180.139 165.868,179.843 166.808,179.631C166.921,179.602 167.03,179.555 167.129,179.493L171.413,176.518C171.619,176.379 171.87,176.326 172.114,176.369C173.355,176.587 177.248,177.196 177.857,176.231L177.65,176.851C177.63,176.918 177.622,176.988 177.627,177.058Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M199.496,106.339L179.97,106.66C179.97,106.66 175.077,127.335 174.227,140.739L170.942,176.851L177.673,177.173L189.377,120.892L189.86,177.483L196.108,177.322C196.108,177.322 206.537,115.62 199.496,106.339Z" + android:fillColor="#B1DAEF"/> + <path + android:pathData="M172.608,89.638L173.895,118.353C173.895,118.353 172.367,123.2 173.677,124.59C174.151,124.937 174.741,125.089 175.325,125.014C175.908,124.939 176.44,124.644 176.812,124.188C178.317,122.408 177.513,117.296 177.513,117.296L178.397,91.464L172.608,89.638Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M206.572,90.914L210.144,114.299C210.144,114.299 215.163,123.201 209.971,121.834C206.526,120.938 206.813,114.621 206.813,114.621L200.369,92.522L206.572,90.914Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M200.702,92.625C200.413,92.75 200.113,92.85 199.807,92.924L198.072,87.893C198.065,87.87 198.05,87.85 198.03,87.836C198.011,87.822 197.987,87.814 197.963,87.814C197.939,87.814 197.915,87.822 197.896,87.836C197.876,87.85 197.862,87.87 197.854,87.893L199.439,106.351C199.439,106.351 199.439,106.351 199.347,106.443C198.199,107.591 182.957,109.36 179.913,106.787C179.908,106.775 179.905,106.761 179.905,106.747C179.905,106.733 179.908,106.72 179.913,106.707L179.833,88.111C179.825,88.088 179.81,88.068 179.791,88.054C179.771,88.04 179.748,88.032 179.723,88.032C179.699,88.032 179.676,88.04 179.656,88.054C179.636,88.068 179.622,88.088 179.614,88.111L178.937,91.855C178.934,91.872 178.928,91.888 178.919,91.902C178.91,91.916 178.897,91.927 178.883,91.936C178.869,91.945 178.853,91.95 178.837,91.952C178.82,91.954 178.803,91.953 178.787,91.947L172.08,89.754C172.054,89.746 172.032,89.728 172.019,89.704C172.007,89.681 172.003,89.653 172.011,89.627C172.252,88.318 174.101,73.375 186.196,73.26C186.21,73.253 186.226,73.249 186.242,73.249C186.258,73.249 186.273,73.253 186.288,73.26C186.586,73.685 188.952,76.706 192.605,73.375C192.617,73.368 192.631,73.364 192.645,73.364C192.659,73.364 192.673,73.368 192.685,73.375C193.512,73.455 203.103,75.672 207.617,90.856" + android:fillColor="#C66A61"/> + <path + android:pathData="M192.421,73.558V70.308C192.421,70.308 201.897,58.753 190.02,52.769C190.02,52.769 176.421,52.941 186.575,69.997L186.264,73.88C186.264,73.88 189.239,77.9 192.421,73.558Z" + android:fillColor="#B6836A"/> + <path + android:pathData="M190.997,66.586C190.434,67.655 191.513,71.835 193.937,71.789C194.055,71.79 194.173,71.815 194.281,71.862C194.39,71.91 194.488,71.979 194.569,72.065C194.859,72.369 195.241,72.569 195.657,72.634C196.072,72.698 196.497,72.623 196.866,72.421C196.997,72.375 197.137,72.36 197.274,72.378C197.412,72.396 197.544,72.446 197.658,72.524C198.37,73.018 199.956,73.811 200.909,72.122C200.992,71.975 201.117,71.856 201.269,71.78C201.42,71.704 201.591,71.676 201.759,71.698C202.816,71.812 204.837,71.801 204.309,69.733C204.283,69.543 204.306,69.349 204.375,69.17C204.444,68.99 204.556,68.831 204.702,68.707C204.849,68.582 205.024,68.496 205.212,68.457C205.4,68.418 205.595,68.426 205.779,68.481C207.146,68.631 208.409,67.93 208.168,66.655C208.134,66.482 208.153,66.303 208.223,66.141C208.292,65.979 208.409,65.842 208.559,65.748C209.535,65.139 211.154,63.761 209.018,62.084C209.018,62.084 207.777,61.452 209.477,59.58C209.541,59.515 209.595,59.442 209.638,59.362C209.837,58.961 209.884,58.501 209.77,58.068C209.656,57.635 209.389,57.258 209.018,57.007C207.617,55.916 208.938,53.779 207.674,53.423C207.267,53.363 206.887,53.182 206.584,52.903C206.281,52.625 206.069,52.262 205.974,51.861C205.756,50.506 206.388,47.267 202.161,48.186C197.934,49.105 202.54,44.131 195.901,45.027C195.759,45.045 195.615,45.028 195.481,44.978C195.347,44.928 195.227,44.847 195.131,44.74C194.71,44.169 194.094,43.772 193.4,43.624C192.706,43.476 191.982,43.587 191.364,43.936C191.176,44.053 190.95,44.094 190.732,44.051C189.802,43.867 187.206,43.557 186.138,45.521C186.08,45.639 185.995,45.742 185.889,45.82C185.783,45.898 185.659,45.949 185.529,45.969C184.897,46.072 183.783,46.417 184.059,47.634C184.415,49.231 183.485,48.703 183.485,48.703C183.485,48.703 181.44,47.715 180.28,49.265C180.206,49.364 180.113,49.448 180.007,49.511C179.9,49.574 179.782,49.616 179.66,49.633C179.207,49.648 178.763,49.765 178.361,49.974C177.959,50.184 177.609,50.48 177.336,50.843C177.064,51.206 176.877,51.625 176.788,52.069C176.699,52.514 176.711,52.973 176.823,53.412C176.845,53.586 176.815,53.762 176.737,53.92C176.66,54.077 176.538,54.208 176.386,54.296C175.936,54.507 175.565,54.858 175.331,55.297C175.097,55.736 175.012,56.24 175.088,56.731C175.114,56.907 175.083,57.086 175.001,57.243C174.918,57.399 174.788,57.526 174.629,57.604C173.687,58.087 172.056,59.166 172.516,60.717C172.57,60.885 172.573,61.066 172.524,61.236C172.475,61.406 172.376,61.557 172.24,61.67C171.631,62.187 170.885,63.267 172.24,65.116C172.316,65.208 172.37,65.315 172.4,65.43C172.43,65.545 172.434,65.665 172.412,65.782C172.285,66.424 172.411,67.09 172.764,67.641C173.118,68.191 173.671,68.583 174.307,68.734C174.45,68.783 174.578,68.868 174.678,68.981C174.779,69.094 174.849,69.23 174.882,69.377C174.939,69.69 175.061,69.987 175.239,70.25C175.417,70.514 175.647,70.737 175.916,70.907C176.185,71.076 176.486,71.188 176.8,71.235C177.114,71.282 177.435,71.264 177.742,71.181C177.912,71.166 178.082,71.2 178.234,71.277C178.387,71.354 178.514,71.472 178.603,71.617C178.853,72.132 179.286,72.535 179.817,72.747C180.348,72.959 180.939,72.966 181.475,72.766C181.599,72.718 181.732,72.698 181.865,72.708C183.014,72.812 188.401,73.007 187.608,67.643C187.592,67.527 187.554,67.416 187.494,67.316C187.435,67.215 187.357,67.127 187.264,67.057C185.843,65.92 184.747,64.428 184.088,62.732C183.428,61.036 183.228,59.196 183.508,57.397C183.508,57.168 183.508,56.536 183.818,56.398C185.667,55.388 185.931,53.929 186.54,54.032C187.401,54.181 187.401,54.342 189.159,56.329C191.077,58.5 192.088,57.306 193.317,58.029C194.971,59.006 193.822,62.302 193.5,63.014" + android:fillColor="#191818"/> + <path + android:pathData="M70.889,187.337C71.038,192.334 80.215,191.047 78.044,185.626C76.402,178.838 78.332,180.894 72.106,180.629C71.439,182.81 71.03,185.061 70.889,187.337Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M96.548,184.236C94.859,183.283 89.334,181.227 90.219,178.999L85.429,178.275C85.429,179.136 82.96,185.304 85.889,185.879C88.278,186.35 103.301,190.324 96.548,184.236Z" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M68.82,109.084C68.82,109.084 68.281,114.953 68.189,116.067C67.316,126.543 70.233,171.774 71.014,178.528C71.014,178.987 71.324,180.412 72.163,180.722C73.578,181.061 75.054,181.061 76.47,180.722C76.696,180.722 76.913,180.635 77.075,180.478C77.238,180.322 77.334,180.109 77.343,179.883C77.699,172.302 81.237,128.495 81.765,124.452C83.844,131.987 84.212,169.822 85.073,179.355C85.096,179.615 85.217,179.856 85.411,180.031C85.604,180.206 85.857,180.301 86.118,180.297C87.174,180.522 88.267,180.522 89.323,180.297C90.414,179.86 90.54,178.493 90.586,178.068C92.883,158.703 96.674,126.922 94.423,107.464L86.497,110.91L68.82,109.084Z" + android:fillColor="#8C8C98"/> + <path + android:pathData="M75.08,57.317C75.08,57.317 87.313,56.478 87.313,56.49L87.543,57.259C88.255,54.962 90.988,48.461 87.451,46.417C85.257,41.156 72.818,43.545 73.208,50.506C73.07,51.333 75.08,57.282 75.08,57.282" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M99.465,104.489L101.095,104.616C102.313,107.257 102.589,111.507 100.613,114.092C98.626,115.895 96.49,112.943 96.386,111.266C96.263,108.89 96.737,106.521 97.765,104.375L99.465,104.489Z" + android:fillColor="#F6B893"/> + <path + android:pathData="M100.706,83.815C100.371,81.969 99.934,80.144 99.396,78.347C98.248,73.971 97.754,71.042 94.239,68.711C92.364,67.627 90.362,66.782 88.278,66.195C87.859,66.096 87.474,65.89 87.158,65.599C86.842,65.307 86.607,64.939 86.475,64.53C86.233,63.576 78.894,63.979 77.067,64.174C76.803,64.174 76.803,63.967 76.688,64.174C76.444,64.709 76.092,65.189 75.656,65.584C75.219,65.979 74.707,66.281 74.15,66.471C72.037,67.321 66.891,68.998 64.961,72.432C61.94,77.773 56.921,99.114 60.367,101.434C61.918,102.479 67.603,103.352 68.522,103.502C68.443,105.898 68.535,108.297 68.798,110.68C70.762,115.183 87.589,116.171 94.618,111.082C95.376,110.531 94.411,91.499 93.171,83.011C93.309,83.574 93.447,84.159 93.596,84.837C94.365,88.202 94.917,92.211 95.537,96.323C96.157,100.435 96.479,105.11 97.019,105.615C98.787,107.246 100.016,107.166 101.234,106.844C101.578,106.749 101.884,106.548 102.109,106.27C102.333,105.992 102.465,105.65 102.486,105.293C102.683,98.09 102.086,90.887 100.706,83.815ZM68.258,96.668C67.619,96.485 66.966,96.354 66.305,96.277C66.236,93.922 68.534,84.263 68.821,83.413C68.821,83.447 68.442,89.822 68.258,96.668Z" + android:fillColor="#C66A61"/> + <path + android:pathData="M81.96,91.464H77.641C77.37,91.464 77.11,91.572 76.919,91.763C76.727,91.955 76.619,92.215 76.619,92.486V102.996C76.619,103.267 76.727,103.527 76.919,103.719C77.11,103.91 77.37,104.018 77.641,104.018H81.88C82.019,104.026 82.158,104.005 82.289,103.957C82.419,103.909 82.539,103.835 82.64,103.74C82.741,103.644 82.822,103.529 82.877,103.401C82.931,103.273 82.96,103.135 82.959,102.996V92.498C82.961,92.363 82.936,92.23 82.886,92.105C82.836,91.981 82.762,91.867 82.668,91.771C82.574,91.675 82.462,91.599 82.339,91.546C82.215,91.493 82.083,91.465 81.949,91.464" + android:fillColor="#4A4A4A"/> + <path + android:pathData="M81.501,67.126C83.383,66.754 85.1,65.797 86.405,64.392C86.1,63.415 85.851,62.422 85.659,61.417C85.176,61.945 77.756,61.957 77.274,61.417C77.08,62.422 76.831,63.415 76.527,64.392C77.842,65.804 79.572,66.761 81.466,67.126" + android:fillColor="#F6B893"/> + <path + android:pathData="M75.058,57.569V57.397C74.601,57.079 74.224,56.66 73.957,56.171C73.69,55.683 73.54,55.139 73.519,54.583C73.519,54.089 73.714,52.918 74.254,53.435C74.403,54.066 74.874,56.249 75.345,56.605C74.954,42.925 83.775,55.559 86.268,49.793C88.129,50.414 86.521,55.72 87.129,56.582C87.635,56.226 87.956,54.089 88.094,53.435C88.198,53.354 88.312,53.285 88.393,53.32C89.415,54.411 88.577,56.501 87.244,57.409C87.336,60.751 83.488,64.633 81.122,64.128C78.825,64.633 74.966,60.831 75.012,57.478" + android:fillColor="#F6B893"/> + <path + android:pathData="M72.232,100.561V99.057C74.656,97.678 78.688,97.058 81.295,98.723C83.178,100.469 80.537,102.743 78.998,102.973C76.736,103.298 74.43,103.049 72.29,102.25" + android:fillColor="#F6B893"/> + <path + android:pathData="M131.683,102.778C148.557,102.778 162.236,100.788 162.236,98.333C162.236,95.878 148.557,93.888 131.683,93.888C114.81,93.888 101.131,95.878 101.131,98.333C101.131,100.788 114.81,102.778 131.683,102.778Z" + android:fillColor="#385460"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/trace_location_stay.xml b/Corona-Warn-App/src/main/res/drawable/trace_location_stay.xml new file mode 100644 index 0000000000000000000000000000000000000000..ddd2f57d763a62e290f50999165a7e5cfbb227fa --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/trace_location_stay.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="18dp" + android:height="21dp" + android:viewportWidth="18" + android:viewportHeight="21"> + <path + android:pathData="M13,11C10.24,11 8,13.24 8,16C8,18.76 10.24,21 13,21C15.76,21 18,18.76 18,16C18,13.24 15.76,11 13,11ZM14.65,18.35L12.5,16.2V13H13.5V15.79L15.35,17.64L14.65,18.35ZM14,2H10.82C10.4,0.84 9.3,0 8,0C6.7,0 5.6,0.84 5.18,2H2C0.9,2 0,2.9 0,4V19C0,20.1 0.9,21 2,21H8.11C7.52,20.43 7.04,19.75 6.69,19H2V4H4V7H12V4H14V9.08C14.71,9.18 15.38,9.39 16,9.68V4C16,2.9 15.1,2 14,2ZM8,4C7.45,4 7,3.55 7,3C7,2.45 7.45,2 8,2C8.55,2 9,2.45 9,3C9,3.55 8.55,4 8,4Z" + android:fillColor="#007FAD"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/trace_location_warning.xml b/Corona-Warn-App/src/main/res/drawable/trace_location_warning.xml new file mode 100644 index 0000000000000000000000000000000000000000..82e171873cd2a0887136c8c6043c7c823e0e155d --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/trace_location_warning.xml @@ -0,0 +1,28 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="32dp" + android:height="32dp" + android:viewportWidth="32" + android:viewportHeight="32"> + <path + android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" + android:fillColor="#F5F5F5"/> + <path + android:pathData="M22.4593,15.7042C22.4593,19.3782 19.4813,22.3562 15.8073,22.3562C12.1333,22.3562 9.1553,19.3782 9.1553,15.7042C9.1553,12.0302 12.1333,9.0522 15.8073,9.0522C19.4813,9.0522 22.4593,12.0302 22.4593,15.7042Z" + android:strokeWidth="1.5" + android:fillColor="#00000000" + android:fillType="evenOdd" + android:strokeColor="#007FAD"/> + <group> + <clip-path + android:pathData="M5,9.0332H8.9876V23.3061H5V9.0332Z" + android:fillType="evenOdd"/> + <path + android:pathData="M8.2726,23.3062C1.6166,16.4932 7.1646,9.1062 7.2216,9.0332L8.0146,9.6422C7.8046,9.9152 2.9456,16.4222 8.9876,22.6072L8.2726,23.3062Z" + android:fillColor="#007FAD" + android:fillType="evenOdd"/> + </group> + <path + android:pathData="M23.3117,23.273C29.9677,16.46 24.4197,9.073 24.3627,9L23.5697,9.609C23.7797,9.882 28.6387,16.389 22.5967,22.574L23.3117,23.273Z" + android:fillColor="#007FAD" + android:fillType="evenOdd"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_trace_location_onboarding.xml b/Corona-Warn-App/src/main/res/layout/fragment_trace_location_onboarding.xml new file mode 100644 index 0000000000000000000000000000000000000000..d34935e17da592457de742da36b484d4aa7fdfa7 --- /dev/null +++ b/Corona-Warn-App/src/main/res/layout/fragment_trace_location_onboarding.xml @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/check_in_onboarding_toolbar" + style="@style/CWAToolbar" + android:layout_width="0dp" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:title="@string/trace_location_onboarding_title" /> + + <Button + android:id="@+id/check_in_onboarding_acknowledge" + style="@style/buttonPrimary" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/trace_location_onboarding_body_confirm" + android:layout_marginHorizontal="24dp" + android:layout_marginBottom="24dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintBottom_toBottomOf="parent"/> + + <androidx.core.widget.NestedScrollView + android:id="@+id/check_in_onboarding_scroll_view" + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_marginBottom="20dp" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_toolbar" + app:layout_constraintBottom_toTopOf="@+id/check_in_onboarding_acknowledge" > + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" > + + <ImageView + android:id="@+id/check_in_onboarding_image" + android:layout_width="0dp" + android:layout_height="190dp" + android:src="@drawable/trace_location_onboarding" + android:layout_marginHorizontal="24dp" + android:layout_marginTop="4dp" + android:contentDescription="@string/trace_location_onboarding_content_description" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_title" + style="@style/headline6" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:layout_marginTop="24dp" + android:layout_marginHorizontal="24dp" + android:text="@string/trace_location_onboarding_title2" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_image" /> + + <TextView + android:id="@+id/check_in_onboarding_subtitle" + style="@style/subtitleMedium" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="22dp" + android:layout_marginHorizontal="24dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:text="@string/trace_location_onboarding_subheadline" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_title" /> + + <ImageView + android:id="@+id/check_in_warning_image" + android:layout_width="32dp" + android:layout_height="32dp" + android:layout_marginTop="24dp" + android:src="@drawable/trace_location_warning" + android:layout_marginStart="24dp" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_subtitle" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_warning" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginHorizontal="16dp" + android:text="@string/trace_location_onboarding_body_warning" + app:layout_constraintTop_toTopOf="@id/check_in_warning_image" + app:layout_constraintStart_toEndOf="@id/check_in_warning_image" + app:layout_constraintEnd_toEndOf="parent" /> + + <ImageView + android:id="@+id/check_in_stay_image" + android:layout_width="32dp" + android:layout_height="32dp" + android:layout_marginTop="24dp" + android:src="@drawable/trace_location_stay" + android:layout_marginStart="24dp" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_warning" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_stay" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginHorizontal="16dp" + android:text="@string/trace_location_onboarding_body_stay" + app:layout_constraintTop_toTopOf="@id/check_in_stay_image" + app:layout_constraintStart_toEndOf="@id/check_in_warning_image" + app:layout_constraintEnd_toEndOf="parent" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/check_in_onboarding_card_container" + style="@style/cardTracing" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:layout_marginHorizontal="24dp" + android:background="#F5F5F5" + android:orientation="vertical" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_stay"> + + <TextView + android:id="@+id/check_in_onboarding_card_title" + style="@style/headline6" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/trace_location_onboarding_card_title" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_card_subtitle" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:text="@string/trace_location_onboarding_body_intro" + android:layout_marginTop="4dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_card_title" /> + + <ImageView + android:id="@+id/check_in_onboarding_bulletpoint1" + android:layout_width="8dp" + android:layout_height="8dp" + android:src="@drawable/bullet_point" + android:layout_marginTop="24dp" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_card_subtitle" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_body2" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="15dp" + android:layout_marginTop="16dp" + android:focusable="true" + android:textStyle="bold" + android:text="@string/trace_location_onboarding_body_consent2" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/check_in_onboarding_bulletpoint1" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_card_subtitle" /> + + <TextView + android:id="@+id/check_in_onboarding_body3" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="15dp" + android:layout_marginTop="4dp" + android:focusable="true" + android:text="@string/trace_location_onboarding_body_consent3" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/check_in_onboarding_bulletpoint1" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_body2" /> + + <ImageView + android:id="@+id/check_in_onboarding_bulletpoint2" + android:layout_width="8dp" + android:layout_height="8dp" + android:src="@drawable/bullet_point" + android:layout_marginTop="22dp" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_body3" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_body4" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="15dp" + android:layout_marginTop="16dp" + android:focusable="true" + android:textStyle="bold" + android:text="@string/trace_location_onboarding_body_consent4" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/check_in_onboarding_bulletpoint2" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_body3" /> + + <ImageView + android:id="@+id/check_in_onboarding_bulletpoint3" + android:layout_width="8dp" + android:layout_height="8dp" + android:src="@drawable/bullet_point" + android:layout_marginTop="22dp" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_body4" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/check_in_onboarding_body5" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="15dp" + android:layout_marginTop="16dp" + android:focusable="true" + android:textStyle="bold" + android:text="@string/trace_location_onboarding_body_consent5" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/check_in_onboarding_bulletpoint3" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_body4" /> + + <TextView + android:id="@+id/check_in_onboarding_body6" + style="@style/subtitle" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:focusable="true" + android:text="@string/trace_location_onboarding_body_consent6" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/check_in_onboarding_body5" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + <de.rki.coronawarnapp.util.ui.views.MoreInformationView + android:id="@+id/check_in_onboarding_privacy" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="24dp" + android:layout_marginTop="30dp" + android:focusable="true" + app:titleText="@string/contact_diary_onboarding_legal_information" + app:layout_constraintTop_toBottomOf="@+id/check_in_onboarding_card_container"/> + </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.core.widget.NestedScrollView> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/navigation/trace_location_attendee_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/trace_location_attendee_nav_graph.xml index f3fdc8cf2d5cebd1f8549f541aa0ba1213352d72..cb34d67595e1f9efb9d3d33b0cce121e8e26c77b 100644 --- a/Corona-Warn-App/src/main/res/navigation/trace_location_attendee_nav_graph.xml +++ b/Corona-Warn-App/src/main/res/navigation/trace_location_attendee_nav_graph.xml @@ -3,7 +3,30 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/trace_location_attendee_nav_graph" - app:startDestination="@id/checkInsFragment"> + app:startDestination="@id/checkInOnboardingFragment"> + <fragment + android:id="@+id/checkInOnboardingFragment" + android:name="de.rki.coronawarnapp.ui.eventregistration.attendee.onboarding.CheckInOnboardingFragment" + android:label="CheckInOnboardingFragment" + tools:layout="@layout/fragment_trace_location_onboarding"> + <action + android:id="@+id/action_checkInOnboardingFragment_to_checkInsFragment" + app:destination="@id/checkInsFragment" + app:popUpTo="@id/trace_location_attendee_nav_graph" + app:popUpToInclusive="true" /> + <action + android:id="@+id/action_checkInOnboardingFragment_to_privacyFragment" + app:destination="@id/checkInPrivacyFragment" /> + <argument + android:name="showBottomNav" + android:defaultValue="true" + app:argType="boolean" /> + </fragment> + <fragment + android:id="@+id/checkInPrivacyFragment" + android:name="de.rki.coronawarnapp.ui.information.InformationPrivacyFragment" + android:label="InformationPrivacyFragment" + tools:layout="@layout/fragment_information_privacy" /> <fragment android:id="@+id/confirmCheckInFragment" android:name="de.rki.coronawarnapp.ui.eventregistration.attendee.confirm.ConfirmCheckInFragment" @@ -51,6 +74,9 @@ <action android:id="@+id/action_checkInsFragment_to_qrCodeDetailFragment" app:destination="@id/qrCodeDetailFragment" /> + <action + android:id="@+id/action_checkInsFragment_to_checkInOnboardingFragment" + app:destination="@id/checkInOnboardingFragment" /> </fragment> </navigation> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-bg/strings.xml b/Corona-Warn-App/src/main/res/values-bg/strings.xml index dde64f950a81e0891e91313138a5e6b2b38d7b8a..59084387a6fcf9573020c7feca7c97253c26b34d 100644 --- a/Corona-Warn-App/src/main/res/values-bg/strings.xml +++ b/Corona-Warn-App/src/main/res/values-bg/strings.xml @@ -1953,16 +1953,6 @@ <string name="trace_location_onboarding_body_warning">"Ð’ÑÑка региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñе взема предвид Ñъщо и при изчиÑлÑване на Ð’Ð°ÑˆÐ¸Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк. При диагноÑтициране на дадено лице Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑ Ð’Ð¸Ðµ ще получите уведомление, ако по Ñъщото време или в рамките на 30 минути Ñлед това Ñте Ñе намирали в едно и Ñъщо помещение Ñ Ð½ÐµÐ³Ð¾."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"МолÑ, отбележете продължителноÑтта на преÑÑ‚Ð¾Ñ Ñи възможно най-точно, за да може да получите адекватни предупреждениÑ."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"Приложението запазва данните за ÑъбитиÑта и меÑтата, в които Ñте региÑтрирали през поÑледните 16 дни."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"Когато Ñканирате QR код, за да Ñе региÑтрирате, във Ð’Ð°ÑˆÐ¸Ñ Ñмартфон Ñе Ñъздава Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° това Ñъбитие или мÑÑто."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"Ðко друг потребител, региÑтриран по Ñъщото време и от Ñъщото мÑÑто или Ñъбитие, изпрати предупреждение, Ñлед като бъде диагноÑтициран Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑ, Вие ще получите предупреждението въз оÑнова на Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ ÐºÐ¾Ð´ на Ñъбитието дори ако във Ð’Ð°ÑˆÐ¸Ñ Ñмартфон не е получен Ñлучаен идентификатор от заразеното лице."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"Ðко от ÑÐ²Ð¾Ñ Ñтрана Вие изпратите предупреждение, въз оÑнова на Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ ÐºÐ¾Ð´ на мÑÑто или Ñъбитие от раздела “Моите региÑтрации†ще бъдат предупредени вÑички оÑтанали потребители, които Ñа Ñе региÑтрирали от него по Ñъщото време."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"Може да изтриете региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ раздела „Моите региÑтрации“ по вÑÑко време. Ð’ този Ñлучай Ñамо Вие ще получите предупреждение, ако в Ñмартфона Ви има получени Ñлучайни ИД на лице, диагноÑтицирано Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑ, и е уÑтановено потенциално излагане на риÑк."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Приемам"</string> </resources> \ No newline at end of file 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 bb6d8b9c67fbd5542e50a418d1f699550d1dd3c7..1c1f0d484b10de9bb196b8474f3fad7e0a1e7a13 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 @@ -68,47 +68,47 @@ <string name="datadonation_survey_consent_details_text">"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 zu verhindern, dass Nutzer mehrfach an der Befragung teilnehmen und so die Ergebnisse der Befragung verfälschen. Die Kennung wird hier einmalig an Google ü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. Die weiteren Angaben über Ihre Teilnahme an der Befragung erhält Google nicht. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat.\n\nWenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, eine Teilnahme an dieser Befragung ist dann jedoch nicht möglich."</string> <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> - <string name="ppa_onboarding_consent_title" translatable="false">"Ihr Einverständnis"</string> + <string name="ppa_onboarding_consent_title">"Ihr Einverständnis"</string> <!-- XTXT: Body for Privacy-preserving Analytics onboarding --> - <string name="ppa_onboarding_privacy_information_body" translatable="false">"Indem Sie „Datenspende“ aktivieren, willigen Sie ein:\n\nDie App übermittelt täglich von ihr erfasste Angaben an das RKI. Die Daten betreffen angezeigte Risiko-Begegnungen und Warnungen, durch Sie abgerufene Testergebnisse, ob Sie andere Nutzer gewarnt haben sowie Angaben über das Betriebssystem Ihres Smartphones. Wenn Sie oben weitere Angaben gemacht haben (Region, Altersgruppe), werden auch diese an das RKI übermittelt.\n\nDas RKI wird diese Daten zu Statistiken zusammenfassen und auswerten, um die Wirksamkeit und Funktionsweise der App zu bewerten und Rückschlüsse auf das Pandemiegeschehen zu ziehen. Die dabei gefundenen Erkenntnisse helfen bei der Verbesserung der Funktionen und Nutzerfreundlichkeit der App sowie bei der Steuerung anderer Maßnahmen der Pandemiebekämpfung.\n\nBevor Ihre Daten ausgewertet werden, muss sichergestellt sein, dass jede an der Datenspende teilnehmende App nur einmal gezählt wird und die Statistiken nicht verfälscht werden. Hierfür muss die Echtheit Ihrer App geprüft werden. 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.\n\nSie können Ihr Einverständnis jederzeit zurücknehmen, indem Sie „Daten spenden" in den Einstellungen der App deaktivieren."</string> + <string name="ppa_onboarding_privacy_information_body">"Indem Sie „Datenspende“ aktivieren, willigen Sie ein:\n\nDie App übermittelt täglich von ihr erfasste Angaben an das RKI. Die Daten betreffen angezeigte Risiko-Begegnungen und Warnungen, durch Sie abgerufene Testergebnisse, ob Sie andere Nutzer gewarnt haben sowie Angaben über das Betriebssystem Ihres Smartphones. Wenn Sie oben weitere Angaben gemacht haben (Region, Altersgruppe), werden auch diese an das RKI übermittelt.\n\nDas RKI wird diese Daten zu Statistiken zusammenfassen und auswerten, um die Wirksamkeit und Funktionsweise der App zu bewerten und Rückschlüsse auf das Pandemiegeschehen zu ziehen. Die dabei gefundenen Erkenntnisse helfen bei der Verbesserung der Funktionen und Nutzerfreundlichkeit der App sowie bei der Steuerung anderer Maßnahmen der Pandemiebekämpfung.\n\nBevor Ihre Daten ausgewertet werden, muss sichergestellt sein, dass jede an der Datenspende teilnehmende App nur einmal gezählt wird und die Statistiken nicht verfälscht werden. Hierfür muss die Echtheit Ihrer App geprüft werden. 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.\n\nSie können Ihr Einverständnis jederzeit zurücknehmen, indem Sie „Daten spenden" in den Einstellungen der App deaktivieren."</string> <!-- XTXT: Body point consent for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_consent" translatable="false">"Ihr Einverständnis ist freiwillig. Sie können die App auch nutzen, wenn Sie Ihr Einverständnis nicht erteilt haben."</string> + <string name="ppa_onboarding_privacy_information_point_consent">"Ihr Einverständnis ist freiwillig. Sie können die App auch nutzen, wenn Sie Ihr Einverständnis nicht erteilt haben."</string> <!-- XTXT: Body point identity for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_identity" translatable="false">"Wenn Sie Daten über Ihre App-Nutzung spenden, bleibt Ihre Identität gegenüber dem RKI weiterhin geschützt. Das RKI erfährt also nicht, wer Sie sind oder wen Sie getroffen haben. Es werden auch keine Profile gebildet."</string> + <string name="ppa_onboarding_privacy_information_point_identity">"Wenn Sie Daten über Ihre App-Nutzung spenden, bleibt Ihre Identität gegenüber dem RKI weiterhin geschützt. Das RKI erfährt also nicht, wer Sie sind oder wen Sie getroffen haben. Es werden auch keine Profile gebildet."</string> <!-- XTXT: Body point sixteen for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"Sie können Ihr Einverständnis abgeben, wenn Sie mindestens 16 Jahre alt sind."</string> + <string name="ppa_onboarding_privacy_information_point_sixteen">"Sie können Ihr Einverständnis abgeben, wenn Sie mindestens 16 Jahre alt sind."</string> <!-- XHED: Title for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_title" translatable="false">"Prüfung der Echtheit und Drittlandsübermittlung"</string> + <string name="ppa_onboarding_more_info_title">"Prüfung der Echtheit und Drittlandsübermittlung"</string> <!-- XTXT: Body for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_body" translatable="false">"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 zu verhindern, dass Daten mehrfach oder missbräuchlich an das RKI übermittelt werden und so die Ergebnisse der Analyse verfälschen. Die Kennung wird an Google ü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 angemessenes 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. Die weiteren Angaben über Ihre Nutzung der Corona-Warn-App erhält Google nicht. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat.\nWenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, die Datenspende ist dann jedoch nicht möglich."</string> + <string name="ppa_onboarding_more_info_body">"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 zu verhindern, dass Daten mehrfach oder missbräuchlich an das RKI übermittelt werden und so die Ergebnisse der Analyse verfälschen. Die Kennung wird an Google ü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 angemessenes 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. Die weiteren Angaben über Ihre Nutzung der Corona-Warn-App erhält Google nicht. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat.\nWenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden“ an. Sie können die App weiterhin nutzen, die Datenspende ist dann jedoch nicht möglich."</string> <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> - <string name="ppa_onboarding_privacy_information_title" translatable="false">"Ihr Einverständnis"</string> + <string name="ppa_onboarding_privacy_information_title">"Ihr Einverständnis"</string> <!-- XTXT: Body for Privacy-preserving Analytics settings --> - <string name="ppa_settings_privacy_information_body" translatable="false">"Indem Sie oben „Datenspende“ aktivieren, willigen Sie ein:\n\nDie App übermittelt täglich von ihr erfasste Angaben an das RKI. Die Daten betreffen angezeigte Risiko-Begegnungen und Warnungen, durch Sie abgerufene Testergebnisse, ob Sie andere Nutzer gewarnt haben sowie Angaben über das Betriebssystem Ihres Smartphones. Wenn Sie oben weitere Angaben gemacht haben (Region, Altersgruppe), werden auch diese an das RKI übermittelt.\n\nDas RKI wird diese Daten zu Statistiken zusammenfassen und auswerten, um die Wirksamkeit und Funktionsweise der App zu bewerten und Rückschlüsse auf das Pandemiegeschehen zu ziehen. Die dabei gefundenen Erkenntnisse helfen bei der Verbesserung der Funktionen und Nutzerfreundlichkeit der App sowie bei der Steuerung anderer Maßnahmen der Pandemiebekämpfung.\n\nBevor Ihre Daten ausgewertet werden, muss sichergestellt sein, dass jede an der Datenspende teilnehmende App nur einmal gezählt wird und die Statistiken nicht verfälscht werden. Hierfür muss die Echtheit Ihrer App geprüft werden. 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.\nWeitere Angaben aus der App erhält Google hierbei nicht.\n\nSie können Ihr Einverständnis jederzeit zurücknehmen, indem Sie oben „Datenspende“ deaktivieren."</string> + <string name="ppa_settings_privacy_information_body">"Indem Sie oben „Datenspende“ aktivieren, willigen Sie ein:\n\nDie App übermittelt täglich von ihr erfasste Angaben an das RKI. Die Daten betreffen angezeigte Risiko-Begegnungen und Warnungen, durch Sie abgerufene Testergebnisse, ob Sie andere Nutzer gewarnt haben sowie Angaben über das Betriebssystem Ihres Smartphones. Wenn Sie oben weitere Angaben gemacht haben (Region, Altersgruppe), werden auch diese an das RKI übermittelt.\n\nDas RKI wird diese Daten zu Statistiken zusammenfassen und auswerten, um die Wirksamkeit und Funktionsweise der App zu bewerten und Rückschlüsse auf das Pandemiegeschehen zu ziehen. Die dabei gefundenen Erkenntnisse helfen bei der Verbesserung der Funktionen und Nutzerfreundlichkeit der App sowie bei der Steuerung anderer Maßnahmen der Pandemiebekämpfung.\n\nBevor Ihre Daten ausgewertet werden, muss sichergestellt sein, dass jede an der Datenspende teilnehmende App nur einmal gezählt wird und die Statistiken nicht verfälscht werden. Hierfür muss die Echtheit Ihrer App geprüft werden. 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.\nWeitere Angaben aus der App erhält Google hierbei nicht.\n\nSie können Ihr Einverständnis jederzeit zurücknehmen, indem Sie oben „Datenspende“ deaktivieren."</string> <!-- XHED: Title for debug upload screen privacy card --> - <string name="debugging_debuglog_privacy_card_title" translatable="false">"Datenschutz und Datensicherheit"</string> + <string name="debugging_debuglog_privacy_card_title">"Datenschutz und Datensicherheit"</string> <!-- YTXT: First bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_section_body_one" translatable="false">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string> + <string name="debug_log_privacy_card_section_body_one">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string> <!-- YTXT: Second bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_two" translatable="false">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string> + <string name="debug_log_privacy_card_container_section_two">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string> <!-- YTXT: Third bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_three" translatable="false">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasste haben oder Angaben zu Ihrer Identität."</string> + <string name="debug_log_privacy_card_container_section_three">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasste haben oder Angaben zu Ihrer Identität."</string> <!-- YTXT: Fourth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_four" translatable="false">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string> + <string name="debug_log_privacy_card_container_section_four">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string> <!-- YTXT: Fifth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_five" translatable="false">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string> + <string name="debug_log_privacy_card_container_section_five">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string> <!-- XHED: Title for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_title" translatable="false">"Ihr Einverständnis"</string> + <string name="debugging_debuglog_share_privacy_card_title">"Ihr Einverständnis"</string> <!-- YTXT: First body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_1" translatable="false">"Durch Antippen von „Einverstanden und senden“ willigen Sie in folgende Schritte ein:"</string> + <string name="debugging_debuglog_share_privacy_card_body_1">"Durch Antippen von „Einverstanden und senden“ willigen Sie in folgende Schritte ein:"</string> <!-- YTXT: First bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_1" translatable="false">"Der von Ihnen erstellte Fehlerbericht wird zu Zwecken der Fehleranalyse an das RKI übermittelt. Das RKI wird den Fehlerbericht auswerten, um mögliche Ursachen der in Ihrer App auftretenden Fehler erkennen und beheben zu können. Wenn Sie dem technischen Support die Fehlerbericht-ID mitteilen, kann das RKI den Fehlerbericht Ihrer Person zuordnen."</string> + <string name="debugging_debuglog_share_privacy_card_bullet_point_1">"Der von Ihnen erstellte Fehlerbericht wird zu Zwecken der Fehleranalyse an das RKI übermittelt. Das RKI wird den Fehlerbericht auswerten, um mögliche Ursachen der in Ihrer App auftretenden Fehler erkennen und beheben zu können. Wenn Sie dem technischen Support die Fehlerbericht-ID mitteilen, kann das RKI den Fehlerbericht Ihrer Person zuordnen."</string> <!-- YTXT: Second bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_2" translatable="false">"Bevor der Bericht an das RKI übersendet wird, wird die Echtheit Ihrer App einmalig geprüft. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Apple in die USA oder andere Drittländer übermittelt, damit Apple die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Apple 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 oder dem Fehlerbericht erhält Apple hierbei nicht."</string> + <string name="debugging_debuglog_share_privacy_card_bullet_point_2">"Bevor der Bericht an das RKI übersendet wird, wird die Echtheit Ihrer App einmalig geprüft. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Apple in die USA oder andere Drittländer übermittelt, damit Apple die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Apple 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 oder dem Fehlerbericht erhält Apple hierbei nicht."</string> <!-- YTXT: Second body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_2" translatable="false">"Sollten Sie dem technischen Support nach der Ãœbersendung Ihre Fehlerbericht-ID mitgeteilt haben, können Sie auch jederzeit die Löschung der weiteren mitgeteilten Informationen, der Fehlerbericht-ID und des Fehlerberichtes verlangen. Andernfalls wird der Fehlerbericht automatisch nach 14 Tagen gelöscht."</string> + <string name="debugging_debuglog_share_privacy_card_body_2">"Sollten Sie dem technischen Support nach der Ãœbersendung Ihre Fehlerbericht-ID mitgeteilt haben, können Sie auch jederzeit die Löschung der weiteren mitgeteilten Informationen, der Fehlerbericht-ID und des Fehlerberichtes verlangen. Andernfalls wird der Fehlerbericht automatisch nach 14 Tagen gelöscht."</string> <!-- Trace Location QR Info Privacy Strings --> <!-- XHED: Title for privacy card --> @@ -128,4 +128,19 @@ <!-- XTXT: Fourth bulletpoint text for privacy card --> <string name="trace_location_privacy_card_fourth_bulletpoint_text">"Wir empfehlen die QR-Codes für Orte in einmal täglich außerhalb der Öffnungszeiten neu zu erstellen, um dauerhaft zuverlässige Warnungen zu ermöglichen und Missbrauch der QR-Codes zu verhindern."</string> + <!-- Trace Location Onboarding Strings --> + <!-- XHED: Title for the trace location onboarding consent card --> + <string name="trace_location_onboarding_card_title">Ihr Einverständnis</string> + <!-- YMSG: Onboarding trace location bullet points introduction --> + <string name="trace_location_onboarding_body_intro">Durch Antippen von „Einverstanden“ willigen Sie in folgende Schritte ein:</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent2">Die App merkt sich für 16 Tage, bei welchen Events oder Orten Sie sich eingecheckt haben.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent3">Wenn Sie einen QR-Code einscannen, um sich einzuchecken, wird auf Ihrem Smartphone ein Eintrag für das Event oder den Ort angelegt.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent4">Wenn ein zeitgleich mit Ihnen eingecheckter Nutzer später positiv getestet wird und eine Warnung auslöst, werden Sie automatisch anhand der Event-ID gewarnt – auch wenn Ihr Smartphone keine Zufalls-IDs des positiv getesteten Nutzers empfangen hat.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent5">Falls Sie später selbst eine Warnung auslösen, werden automatisch alle anderen Nutzer, die zeitgleich mit Ihnen bei einem unter „Meine Check-ins“ eingetragenen Event oder Ort eingecheckt waren, anhand der Event-ID gewarnt.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent6">Unter „Meine Check-ins“ können Sie einen Check-in jederzeit löschen. In diesem Fall werden Sie nur gewarnt, wenn Ihr Smartphone die Zufalls-IDs des positiv getesteten Nutzers empfangen und eine Risiko-Begegnung ermittelt hat.</string> </resources> 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 ba4f232cec7c9ad2c1dfeef74c0f38e3d9d8b45c..676b78bd3a9fe4abafd7a39160a23b4f48c237cb 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -1957,17 +1957,7 @@ <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_warning">Jeder Check-in wird bei der Ermittlung des Risikostatus zusätzlich berücksichtigt. Wird eine eingecheckte Person später positiv getestet, können Sie gewarnt werden, wenn Sie sich zur gleichen Zeit oder bis zu 30 Minuten nach der positiv getesteten Person im gleichen Raum aufgehalten haben.</string> <!-- YMSG: Onboarding trace location warning --> - <string name="trace_location_onboarding_body_stay">Bitte geben Sie Ihre Aufenthaltszeit so genau wie möglich an, damit gezielt gewarnt werden kann.</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">Die App merkt sich für 16 Tage, bei welchen Events oder Orten Sie sich eingecheckt haben.</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">Wenn Sie einen QR-Code einscannen, um sich einzuchecken, wird auf Ihrem Smartphone ein Eintrag für das Event oder den Ort angelegt.</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">Wenn ein zeitgleich mit Ihnen eingecheckter Nutzer später positiv getestet wird und eine Warnung auslöst, werden Sie automatisch anhand der Event-ID gewarnt – auch wenn Ihr Smartphone keine Zufalls-IDs des positiv getesteten Nutzers empfangen hat.</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">Falls Sie später selbst eine Warnung auslösen, werden automatisch alle anderen Nutzer, die zeitgleich mit Ihnen bei einem unter „Meine Check-ins“ eingetragenen Event oder Ort eingecheckt waren, anhand der Event-ID gewarnt.</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">Unter „Meine Check-ins“ können Sie einen Check-in jederzeit löschen. In diesem Fall werden Sie nur gewarnt, wenn Ihr Smartphone die Zufalls-IDs des positiv getesteten Nutzers empfangen und eine Risiko-Begegnung ermittelt hat.</string> + <string name="trace_location_onboarding_body_stay">Bitte geben Sie Ihre Check-in- und Check-out-Zeit so genau wie möglich an, damit gezielt gewarnt werden kann.</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">Einverstanden</string> <!-- XHED: Trace location check-ins camera permission card title--> @@ -1976,4 +1966,6 @@ <string name="trace_location_attendee_camera_card_subtitle">Um die Kamera für das Scannen des QR-Codes zu nutzen, müssen Sie die Verwendung der Kamera in den Geräte-Einstellungen zur App zulassen.</string> <!-- XBUT: Trace location check-ins camera permission card button--> <string name="trace_location_attendee_camera_card_button">Einstellungen öffnen</string> + <!-- YMSG: Trace location onboarding image description--> + <string name="trace_location_onboarding_content_description">Drei Personen an einem Stehtisch, zwei von ihnen schauen auf ihr Smartphone.</string> </resources> diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml index a10a5df4012500fcfcf9678ebd065b0b3fd4b114..db8c8318742a4bde8a5bfaf3249e296224e83bd0 100644 --- a/Corona-Warn-App/src/main/res/values-en/strings.xml +++ b/Corona-Warn-App/src/main/res/values-en/strings.xml @@ -1953,16 +1953,6 @@ <string name="trace_location_onboarding_body_warning">"Every check-in is also taken into account when calculating your risk status. If someone who checked in to this event or place is diagnosed with coronavirus later, you can be notified if you were in the same room at the same time or up to 30 minutes after the diagnosed person."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"Please specify your length of stay as precisely as possible to enable targeted warnings."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"The app keeps the events and places you have checked in to for 16 days."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"When you scan a QR code to check in, an entry for the event or place is created on your smartphone."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"If another user who checked in at the same time is subsequently diagnosed with coronavirus and triggers a warning, you will be warned automatically based on the event ID – even if your smartphone did not receive any random Ids from the infected user."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"If you trigger a warning yourself later, all other users who were checked in to an event or place listed under “My Check-Ins†at the same time are warned based on the event ID."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"You can delete a check-in under “My Check-Ins†at any time. In this case, you will only be warned if your smartphone received the random IDs of a user diagnosed with coronavirus and identified a potential exposure."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Accept"</string> </resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-pl/strings.xml b/Corona-Warn-App/src/main/res/values-pl/strings.xml index b5237ad3ffe7e1fe802118781a48581360b5ed43..2b395e1915458f83f0ca29f89863697a767f377b 100644 --- a/Corona-Warn-App/src/main/res/values-pl/strings.xml +++ b/Corona-Warn-App/src/main/res/values-pl/strings.xml @@ -1953,16 +1953,6 @@ <string name="trace_location_onboarding_body_warning">"Każde zameldowanie jest również brane pod uwagÄ™ przy obliczaniu statusu ryzyka. JeÅ›li u osoby, która zameldowaÅ‚a siÄ™ na tym wydarzeniu lub w miejscu, zostanie później zdiagnozowany koronawirus, zostaniesz powiadomiony(-a), jeÅ›li przebywaÅ‚eÅ›(-aÅ›) w tym samym pomieszczeniu w tym samym czasie lub do 30 minut po opuszczeniu pomieszczenia przez zdiagnozowanÄ… osobÄ™."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"OkreÅ›l dÅ‚ugość pobytu jak najdokÅ‚adniej, aby ostrzeżenia mogÅ‚y zostać odpowiednio dopasowane."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"Aplikacja przechowuje wydarzenia i miejsca, w których siÄ™ zameldowaÅ‚eÅ›(-aÅ›), przez 16 dni."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"Gdy zeskanujesz kod QR, aby siÄ™ zameldować, na Twoim smartfonie zostanie utworzony wpis dotyczÄ…cy danego wydarzenia lub miejsca."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"JeÅ›li u innego użytkownika, który zameldowaÅ‚ siÄ™ w tym samym czasie, zostanie zdiagnozowany koronawirus i uruchomione zostanie ostrzeżenie, otrzymasz automatyczne ostrzeżenie na podstawie identyfikatora wydarzenia – nawet jeÅ›li zarażony użytkownik nie wyÅ›le na Twój smartfon losowego identyfikatora."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"JeÅ›li w późniejszym czasie uruchomisz ostrzeżenie, wszyscy inni użytkownicy, którzy w tym samym czasie zameldowali swojÄ… obecność w wydarzeniu lub w miejscu wymienionym w obszarze „Moje zameldowaniaâ€, otrzymajÄ… ostrzeżenie na podstawie identyfikatora wydarzenia."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"W każdej chwili możesz usunąć zameldowanie w obszarze „Moje zameldowaniaâ€. W takim przypadku otrzymasz ostrzeżenie tylko wtedy, gdy na Twój smartfon wysÅ‚any zostanie losowy identyfikator użytkownika, u którego zdiagnozowano koronawirusa, i zidentyfikowane zostanie potencjalne narażenie."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Akceptuj"</string> </resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-ro/strings.xml b/Corona-Warn-App/src/main/res/values-ro/strings.xml index e029cf0269bfb1e49588ffd344f5af5310337c01..42f54f41a08888f4e4bde2234ae3e0747b7b3710 100644 --- a/Corona-Warn-App/src/main/res/values-ro/strings.xml +++ b/Corona-Warn-App/src/main/res/values-ro/strings.xml @@ -1953,16 +1953,6 @@ <string name="trace_location_onboarding_body_warning">"La calcularea stării riscului dvs. este luat în calcul È™i fiecare check-in. Dacă o persoană care a făcut check-in la acest eveniment sau în acest loc este diagnosticată ulterior cu coronavirus, puteÈ›i fi notificat dacă aÈ›i fost în aceeaÈ™i cameră în acelaÈ™i timp sau în decurs de 30 de minute după persoana diagnosticată."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"SpecificaÈ›i durata È™ederii cât mai precis posibil pentru a permite avertizările exacte."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"AplicaÈ›ia păstrează evenimentele È™i locurile în care aÈ›i făcut check-in timp de 16 zile."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"Când scanaÈ›i un cod QR pentru a face check-in, este creată o intrare pentru eveniment sau loc pe smartphone-ul dvs."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"Dacă un alt utilizator care a făcut check-in în acelaÈ™i timp este diagnosticat ulterior cu coronavirus È™i declanÈ™ează un avertisment, veÈ›i fi avertizat automat pe baza ID-ului de eveniment, chiar dacă smartphone-ul dvs. nu a primit niciun ID aleatoriu de la utilizatorul infectat."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"Dacă ulterior declanÈ™aÈ›i dvs. un avertisment, toÈ›i ceilalÈ›i utilizatori care au făcut check-in la evenimentul sau în locul enumerat la „Check-inurile mele†în acelaÈ™i timp cu dvs. sunt avertizaÈ›i pe baza ID-ului de eveniment."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"PuteÈ›i oricând È™terge un check-in din „Check-inurile meleâ€. ÃŽn acest caz, veÈ›i fi avertizat doar dacă smartphone-ul dvs. a primit ID-urile aleatorii ale unui utilizator diagnosticat cu coronavirus È™i a identificat o posibilă expunere."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Accept"</string> </resources> \ No newline at end of file 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 359d5125fe1df7e708c8c0476557a2a90ab0fe84..98fcec804ca472ed8f82a3c3cf4d08bdcaa46b65 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 @@ -13,27 +13,27 @@ <!-- YTXT: onboarding(tracing) - body for consent information --> <string name="onboarding_tracing_body_consent">"DiÄŸer katılımcı ülkelerdeki uygulama kullanıcılarıyla bir riskli temasa maruz kalıp kalmadığınızı ve bu nedenle bir enfeksiyon riski olup olmadığını öğrenmek için, maruz kalma günlüğünü etkinleÅŸtirmeniz gerekmektedir.“Maruz kalma günlüğünü etkinleÅŸtir†tuÅŸuna tıkladığınızda, uygulamanızdaki maruz kalma günlüğünü ve ilgili veri iÅŸlemenin etkinleÅŸtirilmesini kabul etmiÅŸ olursunuz.\n\nMaruz kalma günlüğünü kullanabilmek için, ayrıca Android akıllı telefonunuzdaki Google tarafından saÄŸlanan “COVID-19 temas bildirimleri†iÅŸlevini de etkinleÅŸtirmeniz ve Corona-Warn-App’ı kullanıma açmanız gerekir.\n\nBunun ardından Android akıllı telefonunuz sürekli olarak rastgele kimlik numaraları oluÅŸturur ve bunları Bluetooth aracılığıyla göndererek çevrenizdeki akıllı telefonlar tarafından alınabilmelerini saÄŸlar. Öte yandan, kendi Android akıllı telefonunuz da diÄŸer akıllı telefonlardan rastgele kimlik numaraları alır. Kendi rastgele kimlik numaralarınız ve diÄŸer akıllı telefonlardan alınan kimlik numaraları, Android akıllı telefonunuz tarafından kaydedilir ve orada 14 gün boyunca saklanır.\n\nEnfeksiyon riskinin deÄŸerlendirmesinde uygulama, diÄŸer kiÅŸileri uyarmak için kendi test sonuçlarını (daha doÄŸrusu, kendi rastgele kimliklerini) resmi Korona uygulaması aracılığıyla paylaÅŸan tüm kullanıcıların rastgele kimlik no'larını içeren ve günlük olarak güncellenen listeler indirir. Daha sonra bu listeler, akıllı telefonunuz tarafından kaydedilen rastgele kimlik numaraları ile karşılaÅŸtırılır.\n\nBir riske maruz kalma tespit edilirse, Korona uygulaması sizi bu konuda bilgilendirir. Böyle bir durumda uygulama, Android akıllı telefonunuz tarafından kaydedilen maruz kalma verilerine (temasın tarihi, süresi ve Bluetooth sinyal gücü) eriÅŸir. DiÄŸer kullanıcıya olan mekânsal mesafe, Bluetooth sinyal gücü üzerinden elde edilir (sinyal ne kadar güçlüyse, mesafe o kadar kısadır).Bu veriler, enfeksiyon riskinizi hesaplamak ve nasıl davranmanız gerektiÄŸi konusunda size önerilerde bulunmak üzere uygulama tarafından deÄŸerlendirilir. Bu deÄŸerlendirme iÅŸlemi, sadece kendi Android akıllı telefonunuzda gerçekleÅŸtirilir.\n\nSizden baÅŸka hiç kimse (RKI (Robert Koch Enstitüsü) veya katılımcı ülkelerin saÄŸlık kurumu yetkilileri bile), enfeksiyon riskine maruz kalıp kalmadığınızı ve sizin için nasıl bir enfeksiyon riskinin saptandığını öğrenemez.\n\nMaruz kalma günlüğüne vermiÅŸ olduÄŸunuz rıza beyanını iptal etmek için, istediÄŸiniz zaman uygulamadaki kaydırıcıyı kullanarak, iÅŸlevi devre dışı bırakabilir veya uygulamayı silebilirsiniz. Maruz kalma günlüğünü tekrar kullanmak isterseniz, kaydırıcıyı yeniden etkinleÅŸtirebilir veya uygulamayı yeniden yükleyebilirsiniz. Maruz kalma günlüğünü devre dışı bırakırsanız, uygulama, artık riskle karşılaşıp karşılaÅŸmadığınızı denetleyemez. Rastgele kimlik numaralarının gönderilmesini ve tarafınızdan alınmasını durdurmak için, Android akıllı telefonunuzdaki “COVID-19 temas bildirimleri†iÅŸlevini devre dışı bırakmanız gerekir. Lütfen Android akıllı telefonunuzdaki bu iÅŸlev tarafından kaydedilen kendinize ait ve dışarıdan gelen rastgele kimlik numaralarının uygulama tarafından silinmediÄŸini unutmayın. Bunları, sadece Android akıllı telefonunuzun ayarlarından kalıcı olarak silebilirsiniz.\n\nUygulamanın veri gizliliÄŸi beyanını (sınır ötesi maruz kalma günlüğü için veri iÅŸlemeye iliÅŸkin bilgiler de dahil) „Uygulama bilgileri“ > „Veri gizliliÄŸi“ menü öğeleri altında bulabilirsiniz."</string> <!-- XHED: Page subheadline for consent sub section your consent --> - <string name="submission_consent_your_consent_subsection_headline" translatable="false">"Rıza Beyanı"</string> + <string name="submission_consent_your_consent_subsection_headline">"Rıza Beyanı"</string> <!-- YTXT: Body for consent sub section your consent subtext --> - <string name="submission_consent_your_consent_subsection_tapping_agree" translatable="false">"“Kabul ediyorumâ€a tıklayarak aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> + <string name="submission_consent_your_consent_subsection_tapping_agree">"“Kabul ediyorumâ€a tıklayarak aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> <!-- YTXT: Body for consent sub section your consent subtext first point --> - <string name="submission_consent_your_consent_subsection_first_point" translatable="false">"<b>Uygulama, test sonucunuzu çağırır.</b>Daha sonra fikrinizi deÄŸiÅŸtirirseniz, söz konusu testi Uygulamadan kaldırabilirsiniz."</string> + <string name="submission_consent_your_consent_subsection_first_point">"<b>Uygulama, test sonucunuzu çağırır.</b>Daha sonra fikrinizi deÄŸiÅŸtirirseniz, söz konusu testi Uygulamadan kaldırabilirsiniz."</string> <!-- YTXT: Body for consent sub section your consent subtext second point --> - <string name="submission_consent_your_consent_subsection_second_point" translatable="false">"<b>Korona testiniz pozitif çıkmışsa, Uygulama karşılaÅŸtığınız kullanıcıları uyarmak üzere test sonucunuzu paylaşır. Bu ise yukarıda adı geçen ülkelerdeki Korona uygulamalarının sizinle aynı olay veya konumda giriÅŸ denetimi yaptıran kullanıcılarını etkiler.\n\nAyrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>"</string> + <string name="submission_consent_your_consent_subsection_second_point">"<b>Korona testiniz pozitif çıkmışsa, Uygulama karşılaÅŸtığınız kullanıcıları uyarmak üzere test sonucunuzu paylaşır. Bu ise yukarıda adı geçen ülkelerdeki Korona uygulamalarının sizinle aynı olay veya konumda giriÅŸ denetimi yaptıran kullanıcılarını etkiler.\n\nAyrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>"</string> <!-- YTXT: Body for consent sub section your consent subtext third point --> - <string name="submission_consent_your_consent_subsection_third_point" translatable="false">"VerdiÄŸiniz rıza beyanını istediÄŸiniz zaman geri alabilirsiniz. Bunun ayarını, “Testi Göster†altında bulabilirsiniz. PaylaÅŸmadan önce, rıza beyanınıza iliÅŸkin yeniden bilgilendirileceksiniz."</string> + <string name="submission_consent_your_consent_subsection_third_point">"VerdiÄŸiniz rıza beyanını istediÄŸiniz zaman geri alabilirsiniz. Bunun ayarını, “Testi Göster†altında bulabilirsiniz. PaylaÅŸmadan önce, rıza beyanınıza iliÅŸkin yeniden bilgilendirileceksiniz."</string> <!-- YTXT: Body for your consent screen agreement share test results --> - <string name="submission_your_consent_agreement_share_test_results" translatable="false">"<b>Korona testiniz pozitif çıkmışsa, Uygulama karşılaÅŸtığınız kullanıcıları uyarmak üzere test sonucunuzu paylaşır.</b>\n\n<b>Bu uyarı, yukarıda belirtilen ülkelerdeki resmi Korona uygulamalarının kullanıcılarına ulaÅŸabilir:</b>"</string> + <string name="submission_your_consent_agreement_share_test_results">"<b>Korona testiniz pozitif çıkmışsa, Uygulama karşılaÅŸtığınız kullanıcıları uyarmak üzere test sonucunuzu paylaşır.</b>\n\n<b>Bu uyarı, yukarıda belirtilen ülkelerdeki resmi Korona uygulamalarının kullanıcılarına ulaÅŸabilir:</b>"</string> <!-- YTXT: Body for your consent screen agreement share symptoms --> - <string name="submission_your_consent_agreement_share_symptoms" translatable="false">"<b>Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>\n\nYukarıdaki “DiÄŸer Kullanıcıları Uyarın†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz."</string> + <string name="submission_your_consent_agreement_share_symptoms">"<b>Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>\n\nYukarıdaki “DiÄŸer Kullanıcıları Uyarın†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz."</string> <!-- YTXT: Body for your consent screen agreement share symptoms with additional hint for test result--> - <string name="submission_your_consent_agreement_share_symptoms_2" translatable="false">"<b>Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>\n\nYukarıdaki “DiÄŸer Kullanıcıları Uyarın†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz. Bunun ardından test sonucunuz size görüntülenir.</string> + <string name="submission_your_consent_agreement_share_symptoms_2">"<b>Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b>\n\nYukarıdaki “DiÄŸer Kullanıcıları Uyarın†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz. Bunun ardından test sonucunuz size görüntülenir.</string> <!-- YTXT: Body for keys submission no consent text first part--> - <string name="submission_no_consent_your_consent_subsection_body_first_part" translatable="false">"“Kabul ediyorumâ€a tıklayarak, aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> + <string name="submission_no_consent_your_consent_subsection_body_first_part">"“Kabul ediyorumâ€a tıklayarak, aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> <!-- YTXT: Body for keys submission no consent text second part--> - <string name="submission_no_consent_your_consent_subsection_body_second_part" translatable="false">"<b>Uygulama, karşılaÅŸtığınız resmi Korona uygulamaları kullanıcıları uyarmak üzere onlara test sonucunuzu paylaşır. Uyarı, yukarıda sözü geçen ülkelerde çalışır. Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b> Lütfen bir sonraki adımda “PaylaÅŸâ€a tıklayarak test sonucunuzu (daha doÄŸrusu: Son 14 güne ait rastgele kimlik no\'larınız) paylaşın."</string> + <string name="submission_no_consent_your_consent_subsection_body_second_part">"<b>Uygulama, karşılaÅŸtığınız resmi Korona uygulamaları kullanıcıları uyarmak üzere onlara test sonucunuzu paylaşır. Uyarı, yukarıda sözü geçen ülkelerde çalışır. Ayrıca semptomlarınızın baÅŸlangıcı hakkında bilgi verirseniz, bu veri de paylaşılacaktır.</b> Lütfen bir sonraki adımda “PaylaÅŸâ€a tıklayarak test sonucunuzu (daha doÄŸrusu: Son 14 güne ait rastgele kimlik no\'larınız) paylaşın."</string> <!-- YTXT: Body for keys submission no consent text third part--> - <string name="submission_no_consent_your_consent_subsection_body_third_part" translatable="false">"Uyarı gerçekleÅŸtikten sonra, Uygulamayı silerek verdiÄŸiniz rıza beyanını da geri alabilirsiniz."</string> + <string name="submission_no_consent_your_consent_subsection_body_third_part">"Uyarı gerçekleÅŸtikten sonra, Uygulamayı silerek verdiÄŸiniz rıza beyanını da geri alabilirsiniz."</string> <!-- XTXT: Title for legal information of the contact diary onboarding screen --> <string name="contact_diary_onboarding_privacy_information_title">"Veri Ä°ÅŸlemeye Ä°liÅŸkin Notlar"</string> @@ -68,63 +68,79 @@ <string name="datadonation_survey_consent_details_text">"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. Kullanıcıların ankete birden çok kez katılmasını ve böylece anket sonuçlarını tahrif etmesini önlemek için bu kodun oluÅŸturulması gerekmektedir. Bu kimlik kodları, sadece bir kez Google’e aktarılır. Bu süreçte verilerin ABD’ye veya üçüncü bir ülkeye aktarılması da söz konusu olabilir. Orada muhtemelen Avrupa hukuku standartlarına uygun kiÅŸisel verilerin koruma seviyesi bulunmayabilir ve Avrupa’daki veri koruma haklarınız uygulanmayabilir. Bu baÄŸlamda özellikle üçüncü ülke güvenlik makamlarının, somut bir şüphe olmasa bile, Google’e 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’e aktarılan kimlik kodları için söz konusudur. Google ankete katılımız ile ilgili daha fazla bilgi almaz. Ancak, Google kimlik kodunuz üzerinden kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir."</string> <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> - <string name="ppa_onboarding_consent_title" translatable="false">"Rıza beyanınız"</string> + <string name="ppa_onboarding_consent_title">"Rıza beyanınız"</string> <!-- XTXT: Body for Privacy-preserving Analytics onboarding --> - <string name="ppa_onboarding_privacy_information_body" translatable="false">"“Kabul ediyorum†seçeneÄŸine tıklayarak, ÅŸunlara onay vermiÅŸ olursunuz:\n\nUygulama, topladığı bilgileri her gün RKI’ye aktarır. Bunlar, görüntülenen riskli karşılaÅŸmalar ve uyarılar, size gönderilen test sonuçları, diÄŸer kullanıcıları uyarıp uyarmadığınız ve akıllı telefonunuzun iÅŸletim sistemine iliÅŸkin verilerdir. Ayrıca baÅŸka bilgiler de verdiyseniz (bölge, yaÅŸ grubu gibi), bunlar da RKI’ye aktarılır.\n\nRKI, Uygulamanın etki gücünü ve iÅŸlevselliÄŸini deÄŸerlendirmek ve pandemi hakkında yeni çıkarımlar elde etmek için, bu verileri birleÅŸtirecek ve istatistikler olarak deÄŸerlendirecektir. Bu süreçte edinilen bulgular, Uygulamanın iÅŸlevlerini ve kullanım kolaylığını iyileÅŸtirmenin yanı sıra pandemiye karşı mücadele için diÄŸer önlemlerin yönlendirilmesine yardımcı olmaktadır.\n\nVerilerinizin deÄŸerlendirilmesinden önce, veri bağışına katılan her Uygulamanın yalnızca bir kez sayıma alındığı ve istatistiklerin tahrif edilmediÄŸi kontrol edilir. Bu baÄŸlamda Uygulamanızın orijinal olduÄŸunun incelenmesi gerekmektedir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Google’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD’deki veya diÄŸer bir üçüncü ülkedeki Google’a aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Google böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Google, Uygulamadan daha fazla bilgi almaz.\n\nUygulamanın ayarlarından “Verileri bağışla†seçeneÄŸini devre dışı bırakarak istediÄŸiniz zaman vermiÅŸ olduÄŸunuz rızayı geri alabilirsiniz."</string> + <string name="ppa_onboarding_privacy_information_body">"“Kabul ediyorum†seçeneÄŸine tıklayarak, ÅŸunlara onay vermiÅŸ olursunuz:\n\nUygulama, topladığı bilgileri her gün RKI’ye aktarır. Bunlar, görüntülenen riskli karşılaÅŸmalar ve uyarılar, size gönderilen test sonuçları, diÄŸer kullanıcıları uyarıp uyarmadığınız ve akıllı telefonunuzun iÅŸletim sistemine iliÅŸkin verilerdir. Ayrıca baÅŸka bilgiler de verdiyseniz (bölge, yaÅŸ grubu gibi), bunlar da RKI’ye aktarılır.\n\nRKI, Uygulamanın etki gücünü ve iÅŸlevselliÄŸini deÄŸerlendirmek ve pandemi hakkında yeni çıkarımlar elde etmek için, bu verileri birleÅŸtirecek ve istatistikler olarak deÄŸerlendirecektir. Bu süreçte edinilen bulgular, Uygulamanın iÅŸlevlerini ve kullanım kolaylığını iyileÅŸtirmenin yanı sıra pandemiye karşı mücadele için diÄŸer önlemlerin yönlendirilmesine yardımcı olmaktadır.\n\nVerilerinizin deÄŸerlendirilmesinden önce, veri bağışına katılan her Uygulamanın yalnızca bir kez sayıma alındığı ve istatistiklerin tahrif edilmediÄŸi kontrol edilir. Bu baÄŸlamda Uygulamanızın orijinal olduÄŸunun incelenmesi gerekmektedir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Google’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD’deki veya diÄŸer bir üçüncü ülkedeki Google’a aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Google böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Google, Uygulamadan daha fazla bilgi almaz.\n\nUygulamanın ayarlarından “Verileri bağışla†seçeneÄŸini devre dışı bırakarak istediÄŸiniz zaman vermiÅŸ olduÄŸunuz rızayı geri alabilirsiniz."</string> <!-- XTXT: Body point consent for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_consent" translatable="false">"VerdiÄŸiniz rıza beyanı, isteÄŸe baÄŸlı gerçekleÅŸmektedir. Rızanızı vermezseniz de Uygulamayı kullanabilirsiniz."</string> + <string name="ppa_onboarding_privacy_information_point_consent">"VerdiÄŸiniz rıza beyanı, isteÄŸe baÄŸlı gerçekleÅŸmektedir. Rızanızı vermezseniz de Uygulamayı kullanabilirsiniz."</string> <!-- XTXT: Body point identity for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_identity" translatable="false">"Uygulama kullanımınızla ilgili veri bağışında bulunursanız, RKI nezdinde kimliÄŸinizin korunması sürdürülür. RKI, kim olduÄŸunuzu veya kiminle karşılaÅŸtığınızı öğrenmez. Profil oluÅŸturma da yapılmaz."</string> + <string name="ppa_onboarding_privacy_information_point_identity">"Uygulama kullanımınızla ilgili veri bağışında bulunursanız, RKI nezdinde kimliÄŸinizin korunması sürdürülür. RKI, kim olduÄŸunuzu veya kiminle karşılaÅŸtığınızı öğrenmez. Profil oluÅŸturma da yapılmaz."</string> <!-- XTXT: Body point sixteen for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"En azından 16 yaşında iseniz, rıza beyanında bulunabilirsiniz."</string> + <string name="ppa_onboarding_privacy_information_point_sixteen">"En azından 16 yaşında iseniz, rıza beyanında bulunabilirsiniz."</string> <!-- XHED: Title for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_title" translatable="false">"Orijinallik doÄŸrulanması ve üçüncü ülkelere aktarım"</string> + <string name="ppa_onboarding_more_info_title">"Orijinallik doÄŸrulanması ve üçüncü ülkelere aktarım"</string> <!-- XTXT: Body for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_body" translatable="false">"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. Verilerin birden fazla veya suistimal amaçlı RKI’ye aktarılmasını ve dolayısıyla analiz sonuçlarının tahrif edilmesini önlemek için bu kodun oluÅŸturulması gerekmektedir. Bu kimlik kodları, Google’e aktarılır. Bu süreçte verilerin ABD’ye aktarılması da söz konusu olabilir. Orada muhtemelen Avrupa hukuku standartlarına uygun kiÅŸisel verilerin koruma seviyesi bulunmayabilir ve Avrupa’daki veri koruma haklarınız uygulanmayabilir. Bu baÄŸlamda özellikle üçüncü ülkelerdeki güvenlik makamlarının, somut bir şüphe olmasa bile, Google’e 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’e aktarılan kimlik kodları için söz konusudur. Google Corona-Warn-App kullanımınız ile ilgili daha fazla bilgi almaz.xAncak, Google kimlik kodunuz üzerinden kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Üçüncü ülkelere aktarımı kabul etmiyorsanız, lütfen “Kabul ediyorum†seçeneÄŸine tıklamayın. Buna raÄŸmen Uygulamayı kullanmaya devam edebilirsiniz, ancak veri bağışında bulunamazsınız."</string> + <string name="ppa_onboarding_more_info_body">"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. Verilerin birden fazla veya suistimal amaçlı RKI’ye aktarılmasını ve dolayısıyla analiz sonuçlarının tahrif edilmesini önlemek için bu kodun oluÅŸturulması gerekmektedir. Bu kimlik kodları, Google’e aktarılır. Bu süreçte verilerin ABD’ye aktarılması da söz konusu olabilir. Orada muhtemelen Avrupa hukuku standartlarına uygun kiÅŸisel verilerin koruma seviyesi bulunmayabilir ve Avrupa’daki veri koruma haklarınız uygulanmayabilir. Bu baÄŸlamda özellikle üçüncü ülkelerdeki güvenlik makamlarının, somut bir şüphe olmasa bile, Google’e 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’e aktarılan kimlik kodları için söz konusudur. Google Corona-Warn-App kullanımınız ile ilgili daha fazla bilgi almaz.xAncak, Google kimlik kodunuz üzerinden kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Üçüncü ülkelere aktarımı kabul etmiyorsanız, lütfen “Kabul ediyorum†seçeneÄŸine tıklamayın. Buna raÄŸmen Uygulamayı kullanmaya devam edebilirsiniz, ancak veri bağışında bulunamazsınız."</string> <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> - <string name="ppa_onboarding_privacy_information_title" translatable="false">"Rıza beyanınız"</string> + <string name="ppa_onboarding_privacy_information_title">"Rıza beyanınız"</string> <!-- XTXT: Body for Privacy-preserving Analytics settings --> - <string name="ppa_settings_privacy_information_body" translatable="false">"Yukarıdaki “Veri bağışı" seçeneÄŸini etkinleÅŸtirerek, ÅŸunlara onay vermiÅŸ olursunuz:\n\nUygulama, topladığı bilgileri her gün RKI’ye aktarır. Bunlar, görüntülenen riskli karşılaÅŸmalar ve uyarılar, size gönderilen test sonuçları, diÄŸer kullanıcıları uyarıp uyarmadığınız ve akıllı telefonunuzun iÅŸletim sistemine iliÅŸkin verilerdir. Ayrıca baÅŸka bilgiler de verdiyseniz (bölge, yaÅŸ grubu gibi), bunlar da RKI’ye aktarılır.\n\nRKI, Uygulamanın etki gücünü ve iÅŸlevselliÄŸini deÄŸerlendirmek ve pandemi hakkında yeni çıkarımlar elde etmek için, bu verileri birleÅŸtirecek ve istatistikler olarak deÄŸerlendirecektir. Bu süreçte edinilen bulgular, Uygulamanın iÅŸlevlerini ve kullanım kolaylığını iyileÅŸtirmenin yanı sıra pandemiye karşı mücadele için diÄŸer önlemlerin yönlendirilmesine yardımcı olmaktadır.\n\nVerilerinizin deÄŸerlendirilmesinden önce, veri bağışına katılan her Uygulamanın yalnızca bir kez sayıma alındığı ve istatistiklerin tahrif edilmediÄŸi kontrol edilir. Bu baÄŸlamda Uygulamanızın orijinal olduÄŸunun incelenmesi gerekmektedir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Google’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD’deki veya diÄŸer bir üçüncü ülkeye Google’e aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Google, böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Google, Uygulamadan daha fazla bilgi almaz.\n\nYukarıdaki “Veri bağışı†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz."</string> + <string name="ppa_settings_privacy_information_body">"Yukarıdaki “Veri bağışı" seçeneÄŸini etkinleÅŸtirerek, ÅŸunlara onay vermiÅŸ olursunuz:\n\nUygulama, topladığı bilgileri her gün RKI’ye aktarır. Bunlar, görüntülenen riskli karşılaÅŸmalar ve uyarılar, size gönderilen test sonuçları, diÄŸer kullanıcıları uyarıp uyarmadığınız ve akıllı telefonunuzun iÅŸletim sistemine iliÅŸkin verilerdir. Ayrıca baÅŸka bilgiler de verdiyseniz (bölge, yaÅŸ grubu gibi), bunlar da RKI’ye aktarılır.\n\nRKI, Uygulamanın etki gücünü ve iÅŸlevselliÄŸini deÄŸerlendirmek ve pandemi hakkında yeni çıkarımlar elde etmek için, bu verileri birleÅŸtirecek ve istatistikler olarak deÄŸerlendirecektir. Bu süreçte edinilen bulgular, Uygulamanın iÅŸlevlerini ve kullanım kolaylığını iyileÅŸtirmenin yanı sıra pandemiye karşı mücadele için diÄŸer önlemlerin yönlendirilmesine yardımcı olmaktadır.\n\nVerilerinizin deÄŸerlendirilmesinden önce, veri bağışına katılan her Uygulamanın yalnızca bir kez sayıma alındığı ve istatistiklerin tahrif edilmediÄŸi kontrol edilir. Bu baÄŸlamda Uygulamanızın orijinal olduÄŸunun incelenmesi gerekmektedir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Google’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD’deki veya diÄŸer bir üçüncü ülkeye Google’e aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Google, böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Google, Uygulamadan daha fazla bilgi almaz.\n\nYukarıdaki “Veri bağışı†seçeneÄŸini devre dışı bırakarak, verdiÄŸiniz rıza beyanını geri alabilirsiniz."</string> <!-- XHED: Title for debug upload screen privacy card --> - <string name="debugging_debuglog_privacy_card_title" translatable="false">"Veri gizliliÄŸi ve veri güvenliÄŸi"</string> + <string name="debugging_debuglog_privacy_card_title">"Veri gizliliÄŸi ve veri güvenliÄŸi"</string> <!-- YTXT: First bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_section_body_one" translatable="false">"Hata raporunun kaydedilmesi isteÄŸe baÄŸlı gerçekleÅŸmektedir."</string> + <string name="debug_log_privacy_card_section_body_one">"Hata raporunun kaydedilmesi isteÄŸe baÄŸlı gerçekleÅŸmektedir."</string> <!-- YTXT: Second bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_two" translatable="false">"Hata raporuna öncelikle yalnızca siz eriÅŸebilirsiniz. Ancak daha sonra, hata raporunu teknik desteÄŸe gönderme, hata raporunu ilk önce akıllı telefonunuza kaydetme veya kaydı durdurup silme kararını vermek size kalmıştır. Hata raporunu ilk önce yerel olarak cihazınıza kaydederseniz, teknik desteÄŸe göndermeden önce hata raporunu kendiniz görüntüleme olanağınız da bulunmaktadır."</string> + <string name="debug_log_privacy_card_container_section_two">"Hata raporuna öncelikle yalnızca siz eriÅŸebilirsiniz. Ancak daha sonra, hata raporunu teknik desteÄŸe gönderme, hata raporunu ilk önce akıllı telefonunuza kaydetme veya kaydı durdurup silme kararını vermek size kalmıştır. Hata raporunu ilk önce yerel olarak cihazınıza kaydederseniz, teknik desteÄŸe göndermeden önce hata raporunu kendiniz görüntüleme olanağınız da bulunmaktadır."</string> <!-- YTXT: Third bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_three" translatable="false">"Hata raporu, örneÄŸin test sonucunuz veya sizin için belirlenen enfeksiyon riskine iliÅŸkin veriler gibi hassas bilgiler içerir. Ancak bu rapor, test kaydı sırasında kullandığınız kare kodları, temas günlüğüne girdiÄŸiniz veriler veya kimliÄŸiniz hakkında herhangi bir bilgi içermez."</string> + <string name="debug_log_privacy_card_container_section_three">"Hata raporu, örneÄŸin test sonucunuz veya sizin için belirlenen enfeksiyon riskine iliÅŸkin veriler gibi hassas bilgiler içerir. Ancak bu rapor, test kaydı sırasında kullandığınız kare kodları, temas günlüğüne girdiÄŸiniz veriler veya kimliÄŸiniz hakkında herhangi bir bilgi içermez."</string> <!-- YTXT: Fourth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_four" translatable="false">"Hata raporlarını yayınlamanızı ve e-posta ile göndermenizi tavsiye etmiyoruz."</string> + <string name="debug_log_privacy_card_container_section_four">"Hata raporlarını yayınlamanızı ve e-posta ile göndermenizi tavsiye etmiyoruz."</string> <!-- YTXT: Fifth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_five" translatable="false">"Özel kiÅŸiler veya ÅŸirketler, sizden topladığınız verileri baÅŸkalarına aktarmanızı talep etme hakkına sahip deÄŸillerdir."</string> + <string name="debug_log_privacy_card_container_section_five">"Özel kiÅŸiler veya ÅŸirketler, sizden topladığınız verileri baÅŸkalarına aktarmanızı talep etme hakkına sahip deÄŸillerdir."</string> <!-- XHED: Title for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_title" translatable="false">"Rıza beyanınız"</string> + <string name="debugging_debuglog_share_privacy_card_title">"Rıza beyanınız"</string> <!-- YTXT: First body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_1" translatable="false">"“Kabul ediyorumâ€a tıklayarak aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> + <string name="debugging_debuglog_share_privacy_card_body_1">"“Kabul ediyorumâ€a tıklayarak aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:"</string> <!-- YTXT: First bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_1" translatable="false">"Tarafınızdan oluÅŸturulan hata raporu, hata analizinin gerçekleÅŸtirilmesi için RKI’ye aktarılır. RKI, Uygulamanızda ortaya çıkan hataların olası nedenlerini belirlemek ve bunları gidermek için hata raporunu inceleyecektir. Hata raporu kimlik numarasını teknik destek birimine saÄŸladığınızda, RKI bu hata raporunu size kiÅŸisel olarak atayabilir."</string> + <string name="debugging_debuglog_share_privacy_card_bullet_point_1">"Tarafınızdan oluÅŸturulan hata raporu, hata analizinin gerçekleÅŸtirilmesi için RKI’ye aktarılır. RKI, Uygulamanızda ortaya çıkan hataların olası nedenlerini belirlemek ve bunları gidermek için hata raporunu inceleyecektir. Hata raporu kimlik numarasını teknik destek birimine saÄŸladığınızda, RKI bu hata raporunu size kiÅŸisel olarak atayabilir."</string> <!-- YTXT: Second bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_2" translatable="false">"Rapor RKI’ye gönderilmeden önce, Uygulamanızın orijinal olduÄŸu bir kez kontrol edilir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Apple’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD veya diÄŸer bir üçüncü ülkedeki Apple’a aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Apple, böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Apple, Uygulamadan daha fazla bilgi almaz."</string> + <string name="debugging_debuglog_share_privacy_card_bullet_point_2">"Rapor RKI’ye gönderilmeden önce, Uygulamanızın orijinal olduÄŸu bir kez kontrol edilir. Bunun için, akıllı telefonunuz tarafından benzersiz bir kimlik kodu oluÅŸturulur ve Apple’ın Uygulamanızın orijinal ürün olduÄŸunu RKI’ye doÄŸrulaması için ABD veya diÄŸer bir üçüncü ülkedeki Apple’a aktarılır. Bu kimlik kodu, akıllı telefonunuzun sürümü ve Uygulama hakkında veriler içerir. Apple, böylece kim olduÄŸunuzu ortaya çıkarabilir ve akıllı telefonunuzun orijinallik kontrolünün yapıldığını anlayabilir. Apple, Uygulamadan daha fazla bilgi almaz."</string> <!-- YTXT: Second body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_2" translatable="false">"Gönderimden sonra hata raporu kimlik numarasını teknik desteÄŸe bildirirseniz, saÄŸlanan diÄŸer bilgilerin, hata raporu kimliÄŸinin ve hata raporunun silinmesini istediÄŸiniz zaman talep edebilirsiniz. Aksi halde bu hata raporu 14 gün sonra otomatik olarak silinecektir."</string> + <string name="debugging_debuglog_share_privacy_card_body_2">"Gönderimden sonra hata raporu kimlik numarasını teknik desteÄŸe bildirirseniz, saÄŸlanan diÄŸer bilgilerin, hata raporu kimliÄŸinin ve hata raporunun silinmesini istediÄŸiniz zaman talep edebilirsiniz. Aksi halde bu hata raporu 14 gün sonra otomatik olarak silinecektir."</string> <!-- Trace Location QR Info Privacy Strings --> <!-- XHED: Title for privacy card --> - <string name="trace_location_privacy_card_title_text" translatable="false">"Veri gizliliÄŸi ve veri güvenliÄŸi"</string> + <string name="trace_location_privacy_card_title_text">"Veri gizliliÄŸi ve veri güvenliÄŸi"</string> <!-- XTXT: Subtitle for privacy card --> - <string name="trace_location_privacy_card_subtitle_text" translatable="false">"“Devamâ€a tıklarsanız, konuklarınız için bir QR kodu oluÅŸturabilirsiniz."</string> + <string name="trace_location_privacy_card_subtitle_text">"“Devamâ€a tıklarsanız, konuklarınız için bir QR kodu oluÅŸturabilirsiniz."</string> <!-- XTXT: First bulletpoint title for privacy card --> - <string name="trace_location_privacy_card_first_bulletpoint_title_text" translatable="false">"Olay veya konumla ilgili verileriniz, yazdırılabilir biçimde bir QR kodunda kaydedilecektir."</string> + <string name="trace_location_privacy_card_first_bulletpoint_title_text">"Olay veya konumla ilgili verileriniz, yazdırılabilir biçimde bir QR kodunda kaydedilecektir."</string> <!-- XTXT: First bulletpoint subtitle for privacy card --> - <string name="trace_location_privacy_card_fist_bulletpoint_subtitle_text" translatable="false">"Daha sonra konuklarınız, Uygulama ile QR kodu tarayabilir."</string> + <string name="trace_location_privacy_card_fist_bulletpoint_subtitle_text">"Daha sonra konuklarınız, Uygulama ile QR kodu tarayabilir."</string> <!-- XTXT: Second bulleptoint title for privacy card --> - <string name="trace_location_privacy_card_second_bulletpoint_title_text" translatable="false">"Lütfen olayınızın veya konumunuzun adı, kategorisi ve saati ve kalış süresi ile ilgili olarak mümkün olduÄŸunca kesin bilgi saÄŸlayın."</string> + <string name="trace_location_privacy_card_second_bulletpoint_title_text">"Lütfen olayınızın veya konumunuzun adı, kategorisi ve saati ve kalış süresi ile ilgili olarak mümkün olduÄŸunca kesin bilgi saÄŸlayın."</string> <!-- XTXT: Second vulletpoint subtitle for privacy card --> - <string name="trace_location_pricacy_card_second_bulletpoint_subtitle_text" translatable="false">"VerdiÄŸinizi bilgiler ne kadar kesin olursa, konuklarınız da o kadar güvenilir bir biçimde uyarılabilir."</string> + <string name="trace_location_pricacy_card_second_bulletpoint_subtitle_text">"VerdiÄŸinizi bilgiler ne kadar kesin olursa, konuklarınız da o kadar güvenilir bir biçimde uyarılabilir."</string> <!-- XTXT: Third bulletpoint text for privacy card --> - <string name="trace_location_privacy_card_third_bulletpoint_text" translatable="false">"Lütfen tüm konuklarınızın QR kodu, mesafe ve hijyen kuralları çerçevesinde (en az 1,5 metre) tarayabilmesi için gerekli ortamı saÄŸlayın."</string> + <string name="trace_location_privacy_card_third_bulletpoint_text">"Lütfen tüm konuklarınızın QR kodu, mesafe ve hijyen kuralları çerçevesinde (en az 1,5 metre) tarayabilmesi için gerekli ortamı saÄŸlayın."</string> <!-- XTXT: Fourth bulletpoint text for privacy card --> - <string name="trace_location_privacy_card_fourth_bulletpoint_text" translatable="false">"Kalıcı ve güvenilir uyarılar tetiklemek ve QR kodların suistimal edilmesinin önüne geçmek adına, konumlar için olan QR kodları düzenli aralıklarla yeniden oluÅŸturmanızı öneririz."</string> + <string name="trace_location_privacy_card_fourth_bulletpoint_text">"Kalıcı ve güvenilir uyarılar tetiklemek ve QR kodların suistimal edilmesinin önüne geçmek adına, konumlar için olan QR kodları düzenli aralıklarla yeniden oluÅŸturmanızı öneririz."</string> + + <!-- Trace Location Onboarding Strings --> + <!-- XHED: Title for the trace location onboarding consent card --> + <string name="trace_location_onboarding_card_title">Rıza beyanınız</string> + <!-- YMSG: Onboarding trace location bullet points introduction --> + <string name="trace_location_onboarding_body_intro">“Kabul ediyorumâ€a tıklayarak aÅŸağıdaki adımlara onay vermiÅŸ olursunuz:</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent2">Uygulama, 16 gün boyunca hangi olaylarda veya konumlarda giriÅŸ denetimi yaptırdığınızı hatırlar.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent3">Bir giriÅŸ denetimi sırasında QR kodu taradığınızda, akıllı telefonunuzda olay veya konum için bir veri giriÅŸi oluÅŸturulur.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent4">Sizinle birlikte giriÅŸ denetimi yapan bir kullanıcının daha sonraki testi pozitif çıkarsa ve kendisi bir uyarı tetiklerse, akıllı telefonunuz testi pozitif çıkan bu kullanıcıdan rastgele kimlik numaraları almamış olsa bile, olay kimliÄŸi üzerinden otomatik olarak uyarılırsınız.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent5">EÄŸer kendiniz daha sonra bir uyarıyı tetiklerseniz, “GiriÅŸ denetimlerim†altında girilen bir olay veya konumda sizinle eÅŸ zamanlı giriÅŸ yapmış olan diÄŸer tüm kullanıcılar, olay kimliÄŸi üzerinden otomatik olarak uyarılacaktır.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent6">“GiriÅŸ denetimlerim†altındaki bir giriÅŸ denetimini istediÄŸiniz zaman silebilirsiniz. Bu durumda akıllı telefonunuz yalnızca, bir riskli karşılaÅŸmada testi pozitif çıkan bir kullanıcının rastgele kimlik numaralarını alırsa uyarılırsınız.</string> </resources> diff --git a/Corona-Warn-App/src/main/res/values-tr/strings.xml b/Corona-Warn-App/src/main/res/values-tr/strings.xml index 6ea456d6053045c3b89dd566a86ff538da9ebbfd..899b582582ec3dbb5dbaaf1baab5099ccd680900 100644 --- a/Corona-Warn-App/src/main/res/values-tr/strings.xml +++ b/Corona-Warn-App/src/main/res/values-tr/strings.xml @@ -1953,16 +1953,6 @@ <string name="trace_location_onboarding_body_warning">"Risk durumunuz hesaplanırken her bir check-in de dikkate alınır. Bu etkinliÄŸe veya yere check in yapan biri daha sonra koronavirüs tanısı alırsa tanı alan kiÅŸi ile aynı anda ya da bu kiÅŸi odadan çıktıktan sonra en fazla 30 dakika içinde aynı odada bulunmuÅŸsanız size uyarı gönderilebilir."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"Hedeflenen uyarıları etkinleÅŸtirmek için lütfen kalış sürenizi mümkün olduÄŸunca net bir biçimde belirtin."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"Uygulama, check in yaptığınız etkinlikleri ve yerleri 16 gün süreyle saklar."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"Check in yapmak için bir QR kod taradığınızda akıllı telefonunuzda bir etkinllik veya yer giriÅŸi oluÅŸturulur."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"Aynı anda check in yapmış baÅŸka bir kullanıcı daha sonra koronavirüs tanısı alırsa ve bir uyarı tetiklerse etkinlik kimliÄŸine göre otomatik olarak uyarı alırsınız; bunun içi akıllı telefonunuzun enfekte olan kullanıcıdan rastgele kimlik almış olması ÅŸartı aranmaz."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"Siz daha sonra bir uyarı tetiklerseniz “Check-In’lerim†bölümünde listelenen bir etkinliÄŸe veya yere check in yapmış olan diÄŸer tüm kullanıcılara etkinlik kimliÄŸine göre uyarı gönderilir."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"Bir check-in’i dilediÄŸiniz zaman “Check-In’lerim†bölümünden silebilirsiniz. Silmeniz halinde yalnızca, koronavirüs tanısı almış ve potansiyel maruz kalma durumu belirlenmiÅŸ bir kullanıcıdan akıllı telefonunuza rastgele kimlikler gönderilmiÅŸse uyarı alırsınız."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Kabul Et"</string> </resources> \ No newline at end of file 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 c88e9d0cb5f056ef4a31c6c35bec134d91bade67..39847db49f32b5c3264721eb114a01d541a5c63f 100644 --- a/Corona-Warn-App/src/main/res/values/legal_strings.xml +++ b/Corona-Warn-App/src/main/res/values/legal_strings.xml @@ -14,7 +14,7 @@ <!-- YTXT: onboarding(tracing) - body for consent information --> <string name="onboarding_tracing_body_consent" translatable="false">"You need to enable exposure logging to find out whether you have had possible exposures involving app users in the participating countries and are therefore at risk of infection yourself. By tapping on the “Activate exposure logging†button, you agree to enabling the exposure logging feature and to the associated data processing by the app.\n\nIn order to use the exposure logging feature, you will also have to enable the “COVID-19 Exposure Notifications†functionality provided by Google on your Android smartphone and grant the Corona-Warn-App permission to use this.\n\nYour Android smartphone will then continuously generate random IDs and send them via Bluetooth so that they can be received by other smartphones near you. Your Android smartphone, in turn, receives the random IDs of other smartphones. Your own random IDs and those received from other smartphones are recorded by your Android smartphone and stored there for 14 days.\n\nFor exposure logging, the app downloads up-to-date lists every day of the random IDs of all users who have shared their test result (more precisely: their own random IDs) via their official coronavirus app in order to warn other users. These lists are then compared with the random IDs of other users which have been recorded by your Android smartphone.\n\nThe app will inform you if it detects a possible exposure. In this case, the app gains access to the data recorded by your Android smartphone about the possible exposure (date, duration and Bluetooth signal strength of the contact). The Bluetooth signal strength is used to derive the physical distance to the other user (the stronger the signal, the smaller the distance). The app analyses this information in order to calculate your risk of infection and to give you recommendations for what to do next. This analysis is only performed locally on your Android smartphone.\n\nApart from you, nobody (not even the RKI or the health authorities of participating countries) will know whether a possible exposure has been detected and what risk of infection has been identified for you.\n\nYou can withdraw your consent to the exposure logging feature at any time by either disabling the feature using the toggle switch in the app or deleting the app. If you would like to use the exposure logging feature again, you can toggle the feature back on or reinstall the app. If you disable the exposure logging feature, the app will no longer check for possible exposures. If you also wish to stop your device sending and receiving random IDs, you will need to disable the “COVID-19 Exposure Notifications†functionality in your Android smartphone’s settings. Please note that the app will not delete your random IDs or those received from other smartphones which have been recorded by this functionality on your Android smartphone. You can only permanently delete these in your Android smartphone settings.\n\nThe app’s privacy notice (including information about the data processing carried out for the transnational exposure logging feature) can be found in the menu under „App Information“ > „Data Privacy“."</string> <!-- XHED: Page subheadline for consent sub section your consent --> - <string name="submission_consent_your_consent_subsection_headline" translatable="false">"Your Consent"</string> + <string name="submission_consent_your_consent_subsection_headline" translatable="false">"Your Consent"</string> <!-- YTXT: Body for consent sub section your consent subtext --> <string name="submission_consent_your_consent_subsection_tapping_agree" translatable="false">"By tapping on “Acceptâ€, you consent to the following steps:"</string> <!-- YTXT: Body for consent sub section your consent subtext first point --> @@ -77,56 +77,71 @@ <!-- XTXT: Body point identity for Privacy-preserving Analytics --> <string name="ppa_onboarding_privacy_information_point_identity" translatable="false">"If you share data about your use of the app, your identity will still be kept secret from the RKI. This means the RKI will not find out who you are or who you have met. No profiles will be created either."</string> <!-- XTXT: Body point sixteen for Privacy-preserving Analytics --> - <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"You need to be at least 16 years old to give your consent."</string> - <!-- XHED: Title for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_title" translatable="false">"Verification of authenticity and transfer to a third country"</string> - <!-- XTXT: Body for Privacy-preserving Analytics additional info --> - <string name="ppa_onboarding_more_info_body" translatable="false">"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 data from being transmitted to the RKI more than once or in an unauthorised manner, as this could distort the results of the analysis. The identifier will be transmitted 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 how you use the Corona-Warn-App. It may however be possible for Google to infer your identity from the identifier and learn that your smartphone has been authenticated.\n\nIf you do not consent to this transfer of your data to a third country, please do not tap on “Acceptâ€. You will still be able to use the app, but not the data sharing feature."</string> - <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> - <string name="ppa_onboarding_privacy_information_title" translatable="false">"Your Consent"</string> - <!-- XTXT: Body for Privacy-preserving Analytics settings --> - <string name="ppa_settings_privacy_information_body" translatable="false">"By enabling “Share Data†above, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. 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.\n\n You can withdraw your consent at any time by disabling “Share Data†above."</string> + <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"You need to be at least 16 years old to give your consent."</string> + <!-- XHED: Title for Privacy-preserving Analytics additional info --> + <string name="ppa_onboarding_more_info_title" translatable="false">"Verification of authenticity and transfer to a third country"</string> + <!-- XTXT: Body for Privacy-preserving Analytics additional info --> + <string name="ppa_onboarding_more_info_body" translatable="false">"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 data from being transmitted to the RKI more than once or in an unauthorised manner, as this could distort the results of the analysis. The identifier will be transmitted 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 how you use the Corona-Warn-App. It may however be possible for Google to infer your identity from the identifier and learn that your smartphone has been authenticated.\n\nIf you do not consent to this transfer of your data to a third country, please do not tap on “Acceptâ€. You will still be able to use the app, but not the data sharing feature."</string> + <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title --> + <string name="ppa_onboarding_privacy_information_title" translatable="false">"Your Consent"</string> + <!-- XTXT: Body for Privacy-preserving Analytics settings --> + <string name="ppa_settings_privacy_information_body" translatable="false">"By enabling “Share Data†above, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. 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.\n\n You can withdraw your consent at any time by disabling “Share Data†above."</string> - <!-- XHED: Title for debug upload screen privacy card --> - <string name="debugging_debuglog_privacy_card_title" translatable="false">"Data protection and data security"</string> - <!-- YTXT: First bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_section_body_one" translatable="false">"Recording the error report is voluntary."</string> - <!-- YTXT: Second bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_two" translatable="false">"Initially, only you will have access to the error report. You can then decide whether to send the error report to the technical support team, whether to save the error report on your smartphone first, or whether to stop and erase the recorded information. If you first save the error report locally, this will give you the opportunity to view the error report yourself before submitting it to support."</string> - <!-- YTXT: Third bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_three" translatable="false">"The error report contains sensitive information, such as details of your test result or the infection risk determined for you. It does not contain any information about the QR codes you used when registering your test, any information you recorded in the contact journal, or any information about your identity."</string> - <!-- YTXT: Fourth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_four" translatable="false">"We do not recommend publishing the error reports or sending them by email."</string> - <!-- YTXT: Fifth bullet point for debug upload screen privacy card --> - <string name="debug_log_privacy_card_container_section_five" translatable="false">"Private individuals as well as companies are not allowed to make you share a recorded error report with them."</string> + <!-- XHED: Title for debug upload screen privacy card --> + <string name="debugging_debuglog_privacy_card_title" translatable="false">"Data protection and data security"</string> + <!-- YTXT: First bullet point for debug upload screen privacy card --> + <string name="debug_log_privacy_card_section_body_one" translatable="false">"Recording the error report is voluntary."</string> + <!-- YTXT: Second bullet point for debug upload screen privacy card --> + <string name="debug_log_privacy_card_container_section_two" translatable="false">"Initially, only you will have access to the error report. You can then decide whether to send the error report to the technical support team, whether to save the error report on your smartphone first, or whether to stop and erase the recorded information. If you first save the error report locally, this will give you the opportunity to view the error report yourself before submitting it to support."</string> + <!-- YTXT: Third bullet point for debug upload screen privacy card --> + <string name="debug_log_privacy_card_container_section_three" translatable="false">"The error report contains sensitive information, such as details of your test result or the infection risk determined for you. It does not contain any information about the QR codes you used when registering your test, any information you recorded in the contact journal, or any information about your identity."</string> + <!-- YTXT: Fourth bullet point for debug upload screen privacy card --> + <string name="debug_log_privacy_card_container_section_four" translatable="false">"We do not recommend publishing the error reports or sending them by email."</string> + <!-- YTXT: Fifth bullet point for debug upload screen privacy card --> + <string name="debug_log_privacy_card_container_section_five" translatable="false">"Private individuals as well as companies are not allowed to make you share a recorded error report with them."</string> - <!-- XHED: Title for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_title" translatable="false">"Your consent"</string> - <!-- YTXT: First body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_1" translatable="false">"By tapping on “Accept and Sendâ€, you consent to the following steps:"</string> - <!-- YTXT: First bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_1" translatable="false">"The error report you create will be sent to the RKI for error analysis purposes. The RKI will analyse the error report in order to be able to identify and fix possible causes of the errors that occur in your app. If you provide the error report ID to the technical support team, then the RKI will be able to associate the error report with you personally."</string> - <!-- YTXT: Second bullet point for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_bullet_point_2" translatable="false">"Before the report is sent to the RKI, the authenticity of your app is checked once. For this purpose, a unique identifier is generated by your smartphone and transmitted to Apple in the US or other third countries, so that Apple can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. Apple may thus be able to infer your identity and learn that your smartphone has been authenticated. Apple will not receive any further information from the app or the error report during this process."</string> - <!-- YTXT: Second body section for Bugreporting share log Privacy Card --> - <string name="debugging_debuglog_share_privacy_card_body_2" translatable="false">"If, after sending the report, you have provided your error report ID to the technical support team, then you may also request at any time that the other information you provided, the error report ID, and the error report itself be erased. Otherwise, the error report will be automatically erased after 14 days."</string> + <!-- XHED: Title for Bugreporting share log Privacy Card --> + <string name="debugging_debuglog_share_privacy_card_title" translatable="false">"Your consent"</string> + <!-- YTXT: First body section for Bugreporting share log Privacy Card --> + <string name="debugging_debuglog_share_privacy_card_body_1" translatable="false">"By tapping on “Accept and Sendâ€, you consent to the following steps:"</string> + <!-- YTXT: First bullet point for Bugreporting share log Privacy Card --> + <string name="debugging_debuglog_share_privacy_card_bullet_point_1" translatable="false">"The error report you create will be sent to the RKI for error analysis purposes. The RKI will analyse the error report in order to be able to identify and fix possible causes of the errors that occur in your app. If you provide the error report ID to the technical support team, then the RKI will be able to associate the error report with you personally."</string> + <!-- YTXT: Second bullet point for Bugreporting share log Privacy Card --> + <string name="debugging_debuglog_share_privacy_card_bullet_point_2" translatable="false">"Before the report is sent to the RKI, the authenticity of your app is checked once. For this purpose, a unique identifier is generated by your smartphone and transmitted to Apple in the US or other third countries, so that Apple can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. Apple may thus be able to infer your identity and learn that your smartphone has been authenticated. Apple will not receive any further information from the app or the error report during this process."</string> + <!-- YTXT: Second body section for Bugreporting share log Privacy Card --> + <string name="debugging_debuglog_share_privacy_card_body_2" translatable="false">"If, after sending the report, you have provided your error report ID to the technical support team, then you may also request at any time that the other information you provided, the error report ID, and the error report itself be erased. Otherwise, the error report will be automatically erased after 14 days."</string> - <!-- Trace Location QR Info Privacy Strings --> - <!-- XHED: Title for privacy card --> - <string name="trace_location_privacy_card_title_text" translatable="false">"Data protection and data security"</string> - <!-- XTXT: Subtitle for privacy card --> - <string name="trace_location_privacy_card_subtitle_text" translatable="false">"If you tap on “Nextâ€, you can create a QR code for your guests."</string> - <!-- XTXT: First bulletpoint title for privacy card --> - <string name="trace_location_privacy_card_first_bulletpoint_title_text" translatable="false">"Your event or place details will be stored in encoded form in a printable QR code."</string> - <!-- XTXT: First bulletpoint subtitle for privacy card --> - <string name="trace_location_privacy_card_fist_bulletpoint_subtitle_text" translatable="false">"Your guests can then scan the QR code with the app."</string> - <!-- XTXT: Second bulleptoint title for privacy card --> - <string name="trace_location_privacy_card_second_bulletpoint_title_text" translatable="false">"Please ensure that you are as specific as possible about the name, category and time of your event or place, and the typical length of stay."</string> - <!-- XTXT: Second vulletpoint subtitle for privacy card --> - <string name="trace_location_pricacy_card_second_bulletpoint_subtitle_text" translatable="false">"The more accurate your information, the more reliably your guests can be warned."</string> - <!-- XTXT: Third bulletpoint text for privacy card --> - <string name="trace_location_privacy_card_third_bulletpoint_text" translatable="false">"Please display the QR code in such a way that all your guests can scan it while observing the social distancing and hygiene rules (at least 1.5 meters)."</string> - <!-- XTXT: Fourth bulletpoint text for privacy card --> - <string name="trace_location_privacy_card_fourth_bulletpoint_text" translatable="false">"We recommend creating new QR codes for places at regular intervals, so that warnings are as reliable as possible over time and in order to prevent the QR codes from being misused."</string> + <!-- Trace Location QR Info Privacy Strings --> + <!-- XHED: Title for privacy card --> + <string name="trace_location_privacy_card_title_text" translatable="false">"Data protection and data security"</string> + <!-- XTXT: Subtitle for privacy card --> + <string name="trace_location_privacy_card_subtitle_text" translatable="false">"If you tap on “Nextâ€, you can create a QR code for your guests."</string> + <!-- XTXT: First bulletpoint title for privacy card --> + <string name="trace_location_privacy_card_first_bulletpoint_title_text" translatable="false">"Your event or place details will be stored in encoded form in a printable QR code."</string> + <!-- XTXT: First bulletpoint subtitle for privacy card --> + <string name="trace_location_privacy_card_fist_bulletpoint_subtitle_text" translatable="false">"Your guests can then scan the QR code with the app."</string> + <!-- XTXT: Second bulleptoint title for privacy card --> + <string name="trace_location_privacy_card_second_bulletpoint_title_text" translatable="false">"Please ensure that you are as specific as possible about the name, category and time of your event or place, and the typical length of stay."</string> + <!-- XTXT: Second vulletpoint subtitle for privacy card --> + <string name="trace_location_pricacy_card_second_bulletpoint_subtitle_text" translatable="false">"The more accurate your information, the more reliably your guests can be warned."</string> + <!-- XTXT: Third bulletpoint text for privacy card --> + <string name="trace_location_privacy_card_third_bulletpoint_text" translatable="false">"Please display the QR code in such a way that all your guests can scan it while observing the social distancing and hygiene rules (at least 1.5 meters)."</string> + <!-- XTXT: Fourth bulletpoint text for privacy card --> + <string name="trace_location_privacy_card_fourth_bulletpoint_text" translatable="false">"We recommend creating new QR codes for places at regular intervals, so that warnings are as reliable as possible over time and in order to prevent the QR codes from being misused."</string> + <!-- Trace Location Onboarding Strings --> + <!-- XHED: Title for the trace location onboarding consent card --> + <string name="trace_location_onboarding_card_title" translatable="false">Your consent</string> + <!-- YMSG: Onboarding trace location bullet points introduction --> + <string name="trace_location_onboarding_body_intro" translatable="false">By tapping on “Acceptâ€, you consent to the following steps:</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent2" translatable="false">The app will remember which events or places you’ve checked in at for 16 days.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent3" translatable="false">If you scan a QR code to check in somewhere, this will create a record for the event or place on your smartphone.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent4" translatable="false">If a user who was checked in at the same time as you later tests positive and uses the warning feature, you will automatically receive a warning based on the event ID – even if your smartphone didn’t receive any random IDs from the user who tested positive.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent5" translatable="false">If you later use the warning feature yourself, all of the other users who were checked in at the same time as you at an event or place listed under “My check-ins†will receive a warning based on the event ID.</string> + <!-- YMSG: Onboarding trace location bullet points --> + <string name="trace_location_onboarding_body_consent6" translatable="false">You can erase a check-in at any time under “My check-insâ€. In this case, you will only be warned if your smartphone identifies a possible exposure after receiving the random IDs of the user who tested positive.</string> </resources> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 3de190ee130217ff329b05caec2b2a33487d62a3..e369ddf69e91d8cb7be66023fd85174623dc6c3f 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -1967,16 +1967,6 @@ <string name="trace_location_onboarding_body_warning">"Every check-in is also taken into account when calculating your risk status. If someone who checked in to this event or place is diagnosed with coronavirus later, you can be notified if you were in the same room at the same time or up to 30 minutes after the diagnosed person."</string> <!-- YMSG: Onboarding trace location warning --> <string name="trace_location_onboarding_body_stay">"Please specify your length of stay as precisely as possible to enable targeted warnings."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent2">"The app keeps the events and places you have checked in to for 16 days."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent3">"When you scan a QR code to check in, an entry for the event or place is created on your smartphone."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent4">"If another user who checked in at the same time is subsequently diagnosed with coronavirus and triggers a warning, you will be warned automatically based on the event ID – even if your smartphone did not receive any random Ids from the infected user."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent5">"If you trigger a warning yourself later, all other users who were checked in to an event or place listed under “My Check-Ins†at the same time are warned based on the event ID."</string> - <!-- YMSG: Onboarding trace location bullet points --> - <string name="trace_location_onboarding_body_consent6">"You can delete a check-in under “My Check-Ins†at any time. In this case, you will only be warned if your smartphone received the random IDs of a user diagnosed with coronavirus and identified a potential exposure."</string> <!-- XACT: Button/Dialog label to consent--> <string name="trace_location_onboarding_body_confirm">"Accept"</string> <!-- XHED: Trace location check-ins camera permission card title--> @@ -1985,4 +1975,6 @@ <string name="trace_location_attendee_camera_card_subtitle">Um die Kamera für das Scannen des QR-Codes zu nutzen, müssen Sie die Verwendung der Kamera in den Geräte-Einstellungen zur App zulassen.</string> <!-- XBUT: Trace location check-ins camera permission card button--> <string name="trace_location_attendee_camera_card_button">Einstellungen öffnen</string> + <!-- YMSG: Trace location onboarding image description--> + <string name="trace_location_onboarding_content_description">Drei Personen an einem Stehtisch, zwei von ihnen schauen auf ihr Smartphone.</string> </resources> diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt index aa8bab6568f0480baf3d800c487bcc9eacae1beb..349174209a5e60b842f29743c31c5be66cbee914 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt @@ -2,6 +2,8 @@ package de.rki.coronawarnapp.main import de.rki.coronawarnapp.contactdiary.ui.ContactDiarySettings import de.rki.coronawarnapp.environment.EnvironmentSetup +import de.rki.coronawarnapp.eventregistration.TraceLocationSettings +import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository import de.rki.coronawarnapp.playbook.BackgroundNoise import de.rki.coronawarnapp.storage.OnboardingSettings import de.rki.coronawarnapp.ui.main.MainActivityViewModel @@ -12,6 +14,7 @@ import io.mockk.MockKAnnotations import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.mockkObject +import kotlinx.coroutines.flow.MutableStateFlow import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -28,6 +31,8 @@ class MainActivityViewModelTest : BaseTest() { @MockK lateinit var diarySettings: ContactDiarySettings @MockK lateinit var backgroundNoise: BackgroundNoise @MockK lateinit var onboardingSettings: OnboardingSettings + @MockK lateinit var traceLocationSettings: TraceLocationSettings + @MockK lateinit var checkInRepository: CheckInRepository @BeforeEach fun setup() { @@ -37,6 +42,9 @@ class MainActivityViewModelTest : BaseTest() { every { onboardingSettings.isOnboarded } returns true every { environmentSetup.currentEnvironment } returns EnvironmentSetup.Type.WRU + every { traceLocationSettings.onboardingStatus } returns TraceLocationSettings.OnboardingStatus.NOT_ONBOARDED + every { onboardingSettings.isBackgroundCheckDone } returns true + every { checkInRepository.allCheckIns } returns MutableStateFlow(listOf()) } private fun createInstance(): MainActivityViewModel = MainActivityViewModel( @@ -45,7 +53,9 @@ class MainActivityViewModelTest : BaseTest() { backgroundModeStatus = backgroundModeStatus, contactDiarySettings = diarySettings, backgroundNoise = backgroundNoise, - onboardingSettings = onboardingSettings + onboardingSettings = onboardingSettings, + checkInRepository = checkInRepository, + traceLocationSettings = traceLocationSettings ) @Test @@ -80,7 +90,7 @@ class MainActivityViewModelTest : BaseTest() { every { diarySettings.onboardingStatus } returns ContactDiarySettings.OnboardingStatus.NOT_ONBOARDED val vm = createInstance() vm.onBottomNavSelected() - vm.isOnboardingDone.value shouldBe false + vm.isContactDiaryOnboardingDone.value shouldBe false } @Test @@ -88,6 +98,6 @@ class MainActivityViewModelTest : BaseTest() { every { diarySettings.onboardingStatus } returns ContactDiarySettings.OnboardingStatus.RISK_STATUS_1_12 val vm = createInstance() vm.onBottomNavSelected() - vm.isOnboardingDone.value shouldBe true + vm.isContactDiaryOnboardingDone.value shouldBe true } } 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 9eec1401fb2c88bfa69979df7e97f39a3cb5e665..71a57686eb2e2999f67071e2bdb18e99af8e9b60 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 @@ -10,6 +10,7 @@ import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings import de.rki.coronawarnapp.datadonation.survey.SurveySettings import de.rki.coronawarnapp.diagnosiskeys.download.DownloadDiagnosisKeysSettings import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository +import de.rki.coronawarnapp.eventregistration.TraceLocationSettings import de.rki.coronawarnapp.eventregistration.checkins.CheckInRepository import de.rki.coronawarnapp.eventregistration.storage.repo.TraceLocationRepository import de.rki.coronawarnapp.main.CWASettings @@ -52,6 +53,7 @@ internal class DataResetTest : BaseTest() { @MockK lateinit var submissionSettings: SubmissionSettings @MockK lateinit var traceLocationRepository: TraceLocationRepository @MockK lateinit var checkInRepository: CheckInRepository + @MockK lateinit var traceLocationSettings: TraceLocationSettings @BeforeEach fun setUp() { @@ -79,7 +81,8 @@ internal class DataResetTest : BaseTest() { onboardingSettings = onboardingSettings, submissionSettings = submissionSettings, traceLocationRepository = traceLocationRepository, - checkInRepository = checkInRepository + checkInRepository = checkInRepository, + traceLocationSettings = traceLocationSettings ) @Test @@ -102,6 +105,7 @@ internal class DataResetTest : BaseTest() { coVerify(exactly = 1) { tracingSettings.clear() } coVerify(exactly = 1) { onboardingSettings.clear() } coVerify(exactly = 1) { submissionSettings.clear() } + coVerify(exactly = 1) { traceLocationSettings.clear() } coVerify(exactly = 1) { contactDiaryRepository.clear() }