diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt index 9fedd5053d5..60a80caa230 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt @@ -5,6 +5,7 @@ import android.os.Build import android.os.Bundle import android.provider.Settings import android.view.View +import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R @@ -27,13 +28,11 @@ class InteroperabilityConfigurationFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe(viewLifecycleOwner) { - binding.interoperabilityConfigurationCountryList.setCountryList(it) - if (it.isEmpty()) { - binding.noCountriesRiskdetailsInfoview.isVisible = false - binding.interoperabilityConfigurationCountryList.isVisible = false - binding.noCountriesRiskdetailsInfoview.isVisible = true - } + vm.countryList.observe(viewLifecycleOwner) { countries -> + binding.countriesList.setCountryList(countries) + binding.countriesList.isGone = countries.isEmpty() + binding.countriesHeader.isGone = countries.isEmpty() + binding.noCountriesRiskdetailsInfoview.isVisible = countries.isEmpty() } vm.saveInteroperabilityUsed() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt index 53c83567e2e..30efa93f318 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt @@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.onboarding import android.os.Bundle import android.text.method.LinkMovementMethod import android.view.View +import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController @@ -26,20 +27,18 @@ class OnboardingDeltaInteroperabilityFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe(viewLifecycleOwner) { - binding.deltaInteroperabilityCountryList.setCountryList(it) - if (it.isEmpty()) { - binding.countryListGroup.isVisible = false - binding.noCountriesGroup.isVisible = true - } + vm.countryList.observe(viewLifecycleOwner) { countries -> + binding.countryListHeader.isGone = countries.isEmpty() + binding.countryList.isGone = countries.isEmpty() + binding.countryList.setCountryList(countries) + + binding.noCountriesHeader.isVisible = countries.isEmpty() + binding.noCountriesBody.isVisible = countries.isEmpty() } vm.saveInteroperabilityUsed() - binding.onboardingDeltaExpandedTermsTextLink - .convertToHyperlink(getString(R.string.information_terms_html_path)) - binding.onboardingDeltaExpandedTermsTextLink - .movementMethod = LinkMovementMethod.getInstance() - + binding.onboardingDeltaExpandedTermsTextLink.convertToHyperlink(getString(R.string.information_terms_html_path)) + binding.onboardingDeltaExpandedTermsTextLink.movementMethod = LinkMovementMethod.getInstance() binding.onboardingDeltaExpandedTermsTextLink.setOnClickListener { findNavController().navigate( OnboardingDeltaInteroperabilityFragmentDirections diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt index d6566a2082e..4ac66c1a22e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt @@ -4,6 +4,8 @@ import android.content.Intent import android.os.Bundle import android.view.View import android.view.accessibility.AccessibilityEvent +import androidx.core.view.isGone +import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import de.rki.coronawarnapp.R @@ -28,9 +30,15 @@ class OnboardingTracingFragment : Fragment(R.layout.fragment_onboarding_tracing) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe(viewLifecycleOwner) { - binding.countryList.setCountryList(it) + vm.countryList.observe(viewLifecycleOwner) { countries -> + binding.countryListHeader.isGone = countries.isEmpty() + binding.countryList.isGone = countries.isEmpty() + binding.countryList.setCountryList(countries) + + binding.noCountriesHeader.isVisible = countries.isEmpty() + binding.noCountriesBody.isVisible = countries.isEmpty() } + vm.saveInteroperabilityUsed() binding.apply { onboardingButtonNext.setOnClickListener { vm.onActivateTracingClicked() } diff --git a/Corona-Warn-App/src/main/res/layout/fragment_interoperability_configuration.xml b/Corona-Warn-App/src/main/res/layout/fragment_interoperability_configuration.xml index 947646c23bc..a3961a0fa0c 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_interoperability_configuration.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_interoperability_configuration.xml @@ -1,6 +1,7 @@ @@ -47,9 +48,9 @@ style="@style/headline4" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginHorizontal="@dimen/margin_24" android:layout_marginTop="@dimen/margin_16" android:accessibilityHeading="true" - android:layout_marginHorizontal="@dimen/margin_24" android:hyphenationFrequency="full" android:text="@string/interoperability_configuration_title" app:layout_constraintEnd_toEndOf="parent" @@ -61,8 +62,8 @@ style="@style/subtitle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/margin_16" android:layout_marginHorizontal="@dimen/margin_24" + android:layout_marginTop="@dimen/margin_16" android:text="@string/interoperability_configuration_first_section" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -73,8 +74,8 @@ style="@style/subtitle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/margin_24" android:layout_marginHorizontal="@dimen/margin_24" + android:layout_marginTop="@dimen/margin_24" android:layout_marginBottom="@dimen/margin_16" android:text="@string/interoperability_configuration_second_section" app:layout_constraintEnd_toEndOf="parent" @@ -85,38 +86,38 @@ android:id="@+id/no_countries_riskdetails_infoview" android:layout_width="match_parent" android:layout_height="wrap_content" - android:visibility="gone" - android:title="@string/interoperability_onboarding_list_title_riskdetection_no_network" - app:tracingStatusBody="@string/interoperability_onboarding_list_subtitle_failrequest_no_network" - android:src="@drawable/ic_interop_no_network" - app:tracingStatusButton="@string/interoperability_onboarding_list_button_title_no_network" android:layout_marginTop="@dimen/margin_24" + android:src="@drawable/ic_interop_no_network" + android:title="@string/interoperability_onboarding_list_title_riskdetection_no_network" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/label_interoperability_subtitle2" /> + app:layout_constraintTop_toBottomOf="@id/label_interoperability_subtitle2" + app:tracingStatusBody="@string/interoperability_onboarding_list_subtitle_failrequest_no_network" + app:tracingStatusButton="@string/interoperability_onboarding_list_button_title_no_network" + tools:visibility="visible" /> + app:layout_constraintTop_toBottomOf="@id/no_countries_riskdetails_infoview" /> + app:layout_constraintTop_toBottomOf="@id/countries_header" /> + app:constraint_referenced_ids="countries_list, no_countries_riskdetails_infoview" /> - - - - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/delta_interoperability_view_section"> + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@id/country_container" /> - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/interoperability_section"> + + + + + + + + +