From f51716aaca989bed73ec1081133237023636f3d5 Mon Sep 17 00:00:00 2001 From: harambasicluka <64483219+harambasicluka@users.noreply.github.com> Date: Tue, 9 Jun 2020 00:21:42 +0200 Subject: [PATCH] Feature: Design polish (#292) * reintroduced our old headers everywhere :) * fixed onboarding header icon alignment * removed empty row on risk details bottom * removed unused formatter * introduced stable dividers for risk card * risk identification is not possible: primary icon color to neutral * adapted circle sizing and alignment * circleColor: added stable Color * icon alignments: top right * fixed spacings * changed light header logo * moved row * larger header logos * ktlintformat --- .../information/InformationAboutFragment.kt | 4 +- .../information/InformationContactFragment.kt | 4 +- .../ui/information/InformationFragment.kt | 4 +- .../information/InformationLegalFragment.kt | 4 +- .../information/InformationPrivacyFragment.kt | 4 +- .../InformationTechnicalFragment.kt | 4 +- .../information/InformationTermsFragment.kt | 4 +- .../ui/main/MainOverviewFragment.kt | 2 +- .../ui/main/MainShareFragment.kt | 2 +- .../ui/riskdetails/RiskDetailsFragment.kt | 6 +- .../ui/settings/SettingsFragment.kt | 4 +- .../settings/SettingsNotificationFragment.kt | 2 +- .../ui/settings/SettingsResetFragment.kt | 2 +- .../ui/settings/SettingsTracingFragment.kt | 2 +- .../submission/SubmissionContactFragment.kt | 2 +- .../SubmissionDispatcherFragment.kt | 2 +- .../ui/submission/SubmissionDoneFragment.kt | 2 +- .../ui/submission/SubmissionIntroFragment.kt | 2 +- ...ssionResultPositiveOtherWarningFragment.kt | 2 +- .../ui/submission/SubmissionTanFragment.kt | 2 +- .../SubmissionTestResultFragment.kt | 2 +- .../util/formatter/FormatterHelper.kt | 11 + .../util/formatter/FormatterRiskHelper.kt | 70 ++++-- .../res/drawable-night/ic_main_header.xml | 106 ++++++--- .../src/main/res/drawable/ic_close_dark.xml | 12 - .../src/main/res/drawable/ic_close_light.xml | 12 - .../src/main/res/drawable/ic_main_header.xml | 216 +++++++++++------- .../res/{drawable-anydpi => drawable}/row.xml | 0 .../src/main/res/layout/fragment_main.xml | 4 +- .../fragment_onboarding_notifications.xml | 42 ++-- .../layout/fragment_onboarding_privacy.xml | 42 ++-- .../res/layout/fragment_onboarding_test.xml | 41 ++-- .../layout/fragment_onboarding_tracing.xml | 41 ++-- .../main/res/layout/fragment_risk_details.xml | 137 +++++++---- .../res/layout/fragment_settings_reset.xml | 6 +- .../res/layout/fragment_settings_tracing.xml | 20 +- .../src/main/res/layout/include_divider.xml | 13 +- .../src/main/res/layout/include_header.xml | 61 +++-- .../layout/include_information_details.xml | 2 +- .../src/main/res/layout/include_main_card.xml | 2 +- .../main/res/layout/include_onboarding.xml | 6 +- .../src/main/res/layout/include_risk_card.xml | 11 +- .../res/layout/include_risk_card_header.xml | 1 - .../layout/include_tracing_status_card.xml | 3 +- .../src/main/res/values/colors.xml | 2 + .../src/main/res/values/dimens.xml | 13 +- .../src/main/res/values/strings.xml | 7 + 47 files changed, 598 insertions(+), 345 deletions(-) delete mode 100644 Corona-Warn-App/src/main/res/drawable/ic_close_dark.xml delete mode 100644 Corona-Warn-App/src/main/res/drawable/ic_close_light.xml rename Corona-Warn-App/src/main/res/{drawable-anydpi => drawable}/row.xml (100%) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt index 4406b48cb..620b470ba 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt @@ -53,11 +53,11 @@ class InformationAboutFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationAboutHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationAboutHeader.headerToolbar.setNavigationOnClickListener { + binding.informationAboutHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt index dfb315ea4..f20312264 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt @@ -54,11 +54,11 @@ class InformationContactFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationContactHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationContactHeader.headerToolbar.setNavigationOnClickListener { + binding.informationContactHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } binding.informationContactNavigationRowPhone.navigationRow.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt index 1abe55bc7..7752a98be 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt @@ -54,7 +54,7 @@ class InformationFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { @@ -91,7 +91,7 @@ class InformationFragment : BaseFragment() { InformationFragmentDirections.actionInformationFragmentToInformationTechnicalFragment() ) } - binding.informationHeader.headerToolbar.setNavigationOnClickListener { + binding.informationHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt index 75c071fac..c7ce4e56d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt @@ -53,11 +53,11 @@ class InformationLegalFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationLegalHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationLegalHeader.headerToolbar.setNavigationOnClickListener { + binding.informationLegalHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt index 19c44c8ed..bc5b552d1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt @@ -53,11 +53,11 @@ class InformationPrivacyFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationPrivacyHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationPrivacyHeader.headerToolbar.setNavigationOnClickListener { + binding.informationPrivacyHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt index fc7d83756..1c5da555f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt @@ -53,11 +53,11 @@ class InformationTechnicalFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationTechnicalHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationTechnicalHeader.headerToolbar.setNavigationOnClickListener { + binding.informationTechnicalHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt index 2626e1d08..60561121d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt @@ -53,11 +53,11 @@ class InformationTermsFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.informationTermsHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { - binding.informationTermsHeader.headerToolbar.setNavigationOnClickListener { + binding.informationTermsHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt index 7131a3ed3..8750adab3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt @@ -54,7 +54,7 @@ class MainOverviewFragment : BaseFragment() { } private fun setButtonOnClickListener() { - binding.mainOverviewHeader.headerToolbar.setNavigationOnClickListener { + binding.mainOverviewHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainShareFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainShareFragment.kt index d8cad38c4..8ba1bb2e6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainShareFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainShareFragment.kt @@ -51,7 +51,7 @@ class MainShareFragment : BaseFragment() { binding.mainShareButton.setOnClickListener { ShareHelper.shareText(this, getString(R.string.main_share_message), null) } - binding.mainShareHeader.headerToolbar.setNavigationOnClickListener { + binding.mainShareHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt index d4e93ee4c..b553dcfad 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt @@ -67,6 +67,9 @@ class RiskDetailsFragment : BaseFragment() { } private fun setButtonOnClickListeners() { + binding.riskDetailsHeaderButtonBack.setOnClickListener { + (activity as MainActivity).goBack() + } binding.riskDetailsButtonUpdate.setOnClickListener { tracingViewModel.refreshRiskLevel() tracingViewModel.refreshDiagnosisKeys() @@ -77,8 +80,5 @@ class RiskDetailsFragment : BaseFragment() { RiskDetailsFragmentDirections.actionRiskDetailsFragmentToSettingsTracingFragment() ) } - binding.riskDetailsToolbar.setNavigationOnClickListener { - (activity as MainActivity).goBack() - } } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt index cfe0883a6..427e4db15 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt @@ -63,14 +63,14 @@ class SettingsFragment : BaseFragment() { private fun setContentDescription() { val backButtonString: String = getString(R.string.button_back) - binding.settingsHeader.headerToolbar.setNavigationContentDescription(backButtonString) + // TODO contentDescription for back button, should be in XML } private fun setButtonOnClickListener() { val tracingRow = binding.settingsTracing.settingsRow val notificationRow = binding.settingsNotifications.settingsRow val resetRow = binding.settingsReset - val goBack = binding.settingsHeader.headerToolbar + val goBack = binding.settingsHeader.headerButtonBack.buttonIcon resetRow.setOnClickListener { doNavigate( SettingsFragmentDirections.actionSettingsFragmentToSettingsResetFragment() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt index 862b943ef..2344f7009 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt @@ -68,7 +68,7 @@ class SettingsNotificationFragment : Fragment() { // Settings val settingsRow = binding.settingsNavigationRowSystem.navigationRow val goBack = - binding.settingsNotificationsHeader.headerToolbar + binding.settingsNotificationsHeader.headerButtonBack.buttonIcon // Update Risk updateRiskNotificationSwitch.setOnCheckedChangeListener { _, _ -> // android calls this listener also on start, so it has to be verified if the user pressed the switch diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt index 06bdc634b..8a2e5ae92 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt @@ -56,7 +56,7 @@ class SettingsResetFragment : BaseFragment() { binding.settingsResetButtonCancel.setOnClickListener { (activity as MainActivity).goBack() } - binding.settingsResetHeader.headerToolbar.setNavigationOnClickListener { + binding.settingsResetHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } binding.settingsResetKeys.tracingStatusCardButton.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt index 0c97c73a4..5d05823a2 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt @@ -111,7 +111,7 @@ class SettingsTracingFragment : BaseFragment(), } } } - binding.settingsTracingHeader.headerToolbar.setNavigationOnClickListener { + binding.settingsTracingHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } binding.settingsTracingStatusBluetooth.tracingStatusCardButton.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt index fd37c6941..b99b5bcaf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt @@ -50,7 +50,7 @@ class SubmissionContactFragment : BaseFragment() { } private fun setButtonOnClickListener() { - binding.submissionContactHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionContactHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } binding.submissionContactButtonCall.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt index 99bdf0a44..fdb3dca4b 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt @@ -51,7 +51,7 @@ class SubmissionDispatcherFragment : BaseFragment() { } private fun setButtonOnClickListener() { - binding.submissionDispatcherHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionDispatcherHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } binding.submissionDispatcherQr.dispatcherCard.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt index 60c9300d9..330c86d79 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt @@ -36,7 +36,7 @@ class SubmissionDoneFragment : BaseFragment() { } private fun setButtonOnClickListener() { - binding.submissionDoneHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionDoneHeader.headerButtonBack.buttonIcon.setOnClickListener { doNavigate( SubmissionDoneFragmentDirections.actionSubmissionDoneFragmentToMainFragment() ) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt index eb58eaced..19512dbeb 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt @@ -46,7 +46,7 @@ class SubmissionIntroFragment : BaseFragment() { } private fun setButtonOnClickListener() { - binding.submissionIntroHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionIntroHeader.headerButtonBack.buttonIcon.setOnClickListener { doNavigate(SubmissionIntroFragmentDirections.actionSubmissionIntroFragmentToMainFragment()) } binding.submissionIntroButtonNext.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt index 401edf152..028722347 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt @@ -148,7 +148,7 @@ class SubmissionResultPositiveOtherWarningFragment : BaseFragment(), binding.submissionPositiveOtherWarningButtonNext.setOnClickListener { initiateWarningOthers() } - binding.submissionPositiveOtherWarningHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionPositiveOtherWarningHeader.headerButtonBack.buttonIcon.setOnClickListener { navigateToSubmissionResultFragment() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt index b8cc6974f..29f7d91cf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt @@ -95,7 +95,7 @@ class SubmissionTanFragment : BaseFragment() { binding.submissionTanInput.listener = { tan -> viewModel.tan.value = tan } binding.submissionTanButtonEnter.setOnClickListener { storeTanAndContinue() } - binding.submissionTanHeader.headerToolbar.setNavigationOnClickListener { navigateToDispatchScreen() } + binding.submissionTanHeader.headerButtonBack.buttonIcon.setOnClickListener { navigateToDispatchScreen() } submissionViewModel.registrationState.observeEvent(viewLifecycleOwner, { if (ApiRequestState.SUCCESS == it) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt index 85c53fead..ef66fcf65 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt @@ -126,7 +126,7 @@ class SubmissionTestResultFragment : BaseFragment() { removeTestAfterConfirmation() } - binding.submissionTestResultHeader.headerToolbar.setNavigationOnClickListener { + binding.submissionTestResultHeader.headerButtonBack.buttonIcon.setOnClickListener { doNavigate( SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment() ) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt index 8c59dda82..2d0424cfd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt @@ -122,3 +122,14 @@ fun formatStringAsHTML(@StringRes stringRes: Int) = HtmlCompat.fromHtml( CoronaWarnApplication.getAppContext().getString(stringRes), HtmlCompat.FROM_HTML_MODE_LEGACY ) + +/** + * TODO + * + * @param color + * @return + */ +fun formatColorDivider(color: Int?): Int { + val appContext = CoronaWarnApplication.getAppContext() + return color ?: appContext.getColor(R.color.colorHairline) +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt index 85b2671eb..b19237621 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt @@ -6,6 +6,7 @@ import android.content.Context import android.content.res.ColorStateList import android.graphics.drawable.Drawable import android.text.format.DateUtils +import android.view.View import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R import de.rki.coronawarnapp.risk.RiskLevelConstants @@ -313,7 +314,7 @@ fun formatRiskDetailsRiskLevelBody(riskLevelScore: Int?, daysSinceLastExposure: * @param riskLevelScore * @return */ -fun formatRiskColor(riskLevelScore: Int?): ColorStateList? { +fun formatRiskColorStateList(riskLevelScore: Int?): ColorStateList? { val appContext = CoronaWarnApplication.getAppContext() return when (riskLevelScore) { RiskLevelConstants.INCREASED_RISK -> appContext.getColorStateList(R.color.card_increased) @@ -325,6 +326,23 @@ fun formatRiskColor(riskLevelScore: Int?): ColorStateList? { } } +/** + * Formats the risk card colors for default and pressed states depending on risk level + * + * @param riskLevelScore + * @return + */ +fun formatRiskColor(riskLevelScore: Int?): Int? { + val appContext = CoronaWarnApplication.getAppContext() + return when (riskLevelScore) { + RiskLevelConstants.INCREASED_RISK -> appContext.getColor(R.color.colorSemanticHighRisk) + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS, + RiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF -> appContext.getColor(R.color.colorSemanticUnknownRisk) + RiskLevelConstants.LOW_LEVEL_RISK -> appContext.getColor(R.color.colorSemanticLowRisk) + else -> appContext.getColor(R.color.colorSemanticNeutralRisk) + } +} + /** * Formats the risk card style depending on current view * @@ -346,26 +364,9 @@ fun formatStableIconColor(riskLevelScore: Int?): Int = formatColor( !isTracingOffRiskLevel(riskLevelScore), R.color.colorStableLight, - R.color.colorTextPrimary1 + R.color.colorSemanticNeutralRisk ) -/** - * Formats the risk card back button color for default and pressed states depending on risk level - * This special handling is required due to light / dark mode differences and switches - * between colored / light / dark background - * - * @param riskLevelScore - * @return - */ -fun formatStableBackButtonIcon(riskLevelScore: Int?): Drawable? { - val appContext = CoronaWarnApplication.getAppContext() - return if (isTracingOffRiskLevel(riskLevelScore)) { - appContext.getDrawable(R.drawable.ic_close_dark) - } else { - appContext.getDrawable(R.drawable.ic_close_light) - } -} - /** * Formats the risk card text color depending on risk level * This special handling is required due to light / dark mode differences and switches @@ -382,13 +383,19 @@ fun formatStableTextColor(riskLevelScore: Int?): Int = ) /** - * Formats the risk card back button depending on current view + * Formats the risk card divider color depending on risk level + * This special handling is required due to light / dark mode differences and switches + * between colored / light / dark background * - * @param showDetails + * @param riskLevelScore * @return */ -fun formatRiskButtonBackVisibility(showDetails: Boolean): Int = - formatVisibility(showDetails) +fun formatStableDividerColor(riskLevelScore: Int?): Int = + formatColor( + !isTracingOffRiskLevel(riskLevelScore), + R.color.colorStableHairlineLight, + R.color.colorStableHairlineDark + ) /** * Formats the risk card icon display of infected contacts recognized @@ -425,6 +432,23 @@ fun formatRiskDetailsButtonEnableTracingVisibility( riskLevelScore: Int? ): Int = formatVisibility(isTracingOffRiskLevel(riskLevelScore)) +/** + * Formats the risk details button display for enable tracing depending on risk level + * + * @param riskLevelScore + * @return + */ +fun formatRiskDetailsButtonVisibility( + riskLevelScore: Int?, + isBackgroundJobEnabled: Boolean? +): Int = formatVisibility( + formatRiskDetailsButtonEnableTracingVisibility(riskLevelScore) == View.VISIBLE || + formatDetailsButtonUpdateVisibility( + isBackgroundJobEnabled, + riskLevelScore + ) == View.VISIBLE +) + /** * Formats the risk card button display for manual updates depending on risk level, * background task setting and current view diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_main_header.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_main_header.xml index c1b5d28b1..df5385801 100644 --- a/Corona-Warn-App/src/main/res/drawable-night/ic_main_header.xml +++ b/Corona-Warn-App/src/main/res/drawable-night/ic_main_header.xml @@ -1,58 +1,104 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" - android:width="1024.9106dp" - android:height="458.0995dp" - android:viewportWidth="1024.9106" - android:viewportHeight="458.0995"> + android:width="120dp" + android:height="40dp" + android:viewportWidth="120" + android:viewportHeight="40"> <path + android:fillType="nonZero" + android:pathData="M41.017,24.195l1.177,0l1.52,4.737l1.999,-4.889l0.063,0l2.01,4.889l1.489,-4.737l1.104,0l-2.478,7.52l-0.063,0l-2.093,-5.173l-2.145,5.173l-0.052,0z" android:fillColor="#FFFFFF" - android:pathData="M371.13,262.82h9.21l11.9,35.36l15.64,-36.5h0.49l15.73,36.5l11.65,-35.36h8.64l-19.39,56.14h-0.49l-16.38,-38.62l-16.79,38.62h-0.41L371.13,262.82z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M54.95,30.23L52.076,30.23L51.524,31.616L50.399,31.616L53.502,24.042L53.565,24.042L56.678,31.616L55.502,31.616L54.95,30.23ZM52.482,29.205L54.543,29.205L53.523,26.607L52.482,29.205Z" android:fillColor="#FFFFFF" - android:pathData="M480.16,307.88h-22.49l-4.32,10.35h-8.8l24.28,-56.55h0.49l24.36,56.55h-9.21L480.16,307.88zM460.85,300.22h16.13l-7.99,-19.39L460.85,300.22z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M59.303,31.616L58.188,31.616L58.188,24.195L60.458,24.195C62.114,24.195 63.062,25.145 63.062,26.552C63.062,27.589 62.572,28.331 61.687,28.67L63.395,31.616L62.177,31.616L60.594,28.877L60.458,28.877L59.303,28.877L59.303,31.616L59.303,31.616ZM60.417,27.873C61.468,27.873 61.906,27.436 61.906,26.552C61.906,25.658 61.458,25.232 60.417,25.232L59.303,25.232L59.303,27.873L60.417,27.873Z" android:fillColor="#FFFFFF" - android:pathData="M514.22,318.23h-8.72v-55.41h17.76c12.96,0 20.37,7.09 20.37,17.6c0,7.74 -3.83,13.28 -10.76,15.81l13.36,22h-9.53l-12.39,-20.45h-1.06h-9.04V318.23zM522.94,290.28c8.23,0 11.65,-3.26 11.65,-9.86c0,-6.68 -3.5,-9.86 -11.65,-9.86h-8.72v19.72H522.94z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M66.186,26.738l0,4.878l-1.041,0l0,-7.531l0.083,0l4.54,4.988l0,-4.878l1.041,0l0,7.53l-0.083,0z" android:fillColor="#FFFFFF" - android:pathData="M568.09,281.81v36.42h-8.15v-56.22h0.65l35.53,37.24v-36.42h8.15v56.22h-0.65L568.09,281.81z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M73.065,27.655l1.916,0l0,0.993l-1.916,0z" android:fillColor="#FFFFFF" - android:pathData="M621.92,288.65h14.99v7.42h-14.99V288.65z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M80.724,30.23L77.85,30.23L77.298,31.616L76.173,31.616L79.276,24.042L79.339,24.042L82.452,31.616L81.276,31.616L80.724,30.23ZM78.256,29.205L80.318,29.205L79.297,26.607L78.256,29.205Z" android:fillColor="#FFFFFF" - android:pathData="M681.85,307.88h-22.49l-4.32,10.35h-8.8l24.28,-56.55h0.49l24.36,56.55h-9.21L681.85,307.88zM662.54,300.22h16.13l-7.99,-19.39L662.54,300.22z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M85.077,31.616L83.963,31.616L83.963,24.195L86.212,24.195C87.867,24.195 88.815,25.156 88.815,26.596C88.815,28.069 87.857,28.997 86.212,28.997L85.077,28.997L85.077,31.616L85.077,31.616ZM86.17,27.96C87.222,27.96 87.659,27.502 87.659,26.596C87.659,25.679 87.211,25.232 86.17,25.232L85.077,25.232L85.077,27.96L86.17,27.96Z" android:fillColor="#FFFFFF" - android:pathData="M715.91,318.23h-8.72v-55.41h17.6c12.96,0 20.37,7.17 20.37,17.93c0,11 -7.5,17.93 -20.37,17.93h-8.88V318.23zM724.47,290.93c8.23,0 11.65,-3.42 11.65,-10.19c0,-6.84 -3.5,-10.19 -11.65,-10.19h-8.56v20.37H724.47z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M91.658,31.616L90.544,31.616L90.544,24.195L92.793,24.195C94.449,24.195 95.396,25.156 95.396,26.596C95.396,28.069 94.438,28.997 92.793,28.997L91.658,28.997L91.658,31.616L91.658,31.616ZM92.751,27.96C93.803,27.96 94.24,27.502 94.24,26.596C94.24,25.679 93.793,25.232 92.751,25.232L91.658,25.232L91.658,27.96L92.751,27.96Z" android:fillColor="#FFFFFF" - android:pathData="M767.41,318.23h-8.72v-55.41h17.6c12.96,0 20.37,7.17 20.37,17.93c0,11 -7.5,17.93 -20.37,17.93h-8.88V318.23zM775.97,290.93c8.23,0 11.65,-3.42 11.65,-10.19c0,-6.84 -3.5,-10.19 -11.65,-10.19h-8.56v20.37H775.97z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M41.074,13.46C41.074,9.996 43.661,7.445 46.942,7.445C49.073,7.445 50.544,8.29 51.542,9.72L50.155,10.72C49.394,9.669 48.413,9.117 46.891,9.117C44.608,9.117 42.951,10.979 42.951,13.46C42.951,15.994 44.642,17.804 46.959,17.804C48.447,17.804 49.546,17.235 50.409,16.097L51.812,17.08C50.629,18.683 49.124,19.475 46.891,19.475C43.611,19.475 41.074,16.925 41.074,13.46Z" android:fillColor="#FFFFFF" - android:pathData="M369.58,179.85c0,-26.77 20.38,-46.48 46.22,-46.48c16.78,0 28.37,6.53 36.23,17.58l-10.92,7.73c-5.99,-8.13 -13.72,-12.39 -25.71,-12.39c-17.98,0 -31.03,14.38 -31.03,33.56c0,19.58 13.32,33.56 31.57,33.56c11.72,0 20.38,-4.4 27.17,-13.19l11.05,7.59c-9.32,12.39 -21.18,18.51 -38.76,18.51C389.56,226.34 369.58,206.63 369.58,179.85z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M53.419,13.46C53.419,9.996 56.057,7.445 59.355,7.445C62.652,7.445 65.29,9.996 65.29,13.46C65.29,16.925 62.652,19.475 59.355,19.475C56.057,19.475 53.419,16.925 53.419,13.46ZM63.413,13.46C63.413,10.979 61.739,9.117 59.355,9.117C56.97,9.117 55.296,10.979 55.296,13.46C55.296,15.942 56.97,17.804 59.355,17.804C61.739,17.804 63.413,15.942 63.413,13.46Z" android:fillColor="#FFFFFF" - android:pathData="M466.81,179.85c0,-26.77 20.78,-46.48 46.75,-46.48c25.97,0 46.75,19.71 46.75,46.48s-20.78,46.48 -46.75,46.48C487.59,226.34 466.81,206.63 466.81,179.85zM545.53,179.85c0,-19.18 -13.19,-33.56 -31.97,-33.56c-18.78,0 -31.97,14.38 -31.97,33.56c0,19.18 13.19,33.56 31.97,33.56C532.34,213.42 545.53,199.03 545.53,179.85z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M69.721,19.32L67.912,19.32L67.912,7.601L71.598,7.601C74.287,7.601 75.826,9.1 75.826,11.323C75.826,12.961 75.031,14.133 73.594,14.667L76.367,19.32L74.389,19.32L71.818,14.994L71.598,14.994L69.721,14.994L69.721,19.32L69.721,19.32ZM71.531,13.409C73.239,13.409 73.949,12.719 73.949,11.323C73.949,9.91 73.222,9.238 71.531,9.238L69.721,9.238L69.721,13.409L71.531,13.409L71.531,13.409Z" android:fillColor="#FFFFFF" - android:pathData="M595.21,225.14H580.96v-90.57h29.04c21.18,0 33.3,11.59 33.3,28.77c0,12.65 -6.26,21.71 -17.58,25.84l21.84,35.96h-15.58l-20.25,-33.43h-1.73h-14.78V225.14zM609.47,179.45c13.45,0 19.05,-5.33 19.05,-16.12c0,-10.92 -5.73,-16.12 -19.05,-16.12h-14.25v32.23H609.47z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M78.143,13.46C78.143,9.996 80.781,7.445 84.079,7.445C87.376,7.445 90.014,9.996 90.014,13.46C90.014,16.925 87.376,19.475 84.079,19.475C80.781,19.475 78.143,16.925 78.143,13.46ZM88.137,13.46C88.137,10.979 86.463,9.117 84.079,9.117C81.694,9.117 80.02,10.979 80.02,13.46C80.02,15.942 81.694,17.804 84.079,17.804C86.463,17.804 88.137,15.942 88.137,13.46Z" android:fillColor="#FFFFFF" - android:pathData="M661.54,179.85c0,-26.77 20.78,-46.48 46.75,-46.48s46.75,19.71 46.75,46.48s-20.78,46.48 -46.75,46.48S661.54,206.63 661.54,179.85zM740.26,179.85c0,-19.18 -13.19,-33.56 -31.97,-33.56s-31.97,14.38 -31.97,33.56c0,19.18 13.19,33.56 31.97,33.56S740.26,199.03 740.26,179.85z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M94.306,11.616l0,7.704l-1.691,0l0,-11.892l0.135,0l7.373,7.876l0,-7.704l1.691,0l0,11.892l-0.135,0z" android:fillColor="#FFFFFF" - android:pathData="M788.85,165.6v59.54H775.53v-91.9h1.07l58.07,60.87v-59.54h13.32v91.9h-1.07L788.85,165.6z" /> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> <path + android:fillType="nonZero" + android:pathData="M110.964,17.131L106.296,17.131L105.4,19.32L103.574,19.32L108.613,7.359L108.715,7.359L113.771,19.32L111.86,19.32L110.964,17.131ZM106.956,15.511L110.304,15.511L108.647,11.409L106.956,15.511Z" android:fillColor="#FFFFFF" - android:pathData="M920.05,208.22h-36.76l-7.06,16.92h-14.38l39.69,-92.44h0.8l39.83,92.44h-15.05L920.05,208.22zM888.48,195.7h26.37l-13.05,-31.7L888.48,195.7z" /> - <path android:pathData="M232.4,275.33v24.7l1.23,1.23l0.52,-0.44c3.63,2 6.09,5.85 6.09,10.29c0,6.49 -5.27,11.76 -11.76,11.76s-11.76,-5.27 -11.76,-11.76c0,-5.12 3.28,-9.46 7.84,-11.08v-22.66l1.23,-0.81l-1.23,-1.23c-10.04,-0.83 -19.19,-4.81 -26.45,-10.95l-17.47,17.47c2.08,4.37 1.33,9.76 -2.29,13.38c-4.59,4.59 -12.04,4.59 -16.63,0c-4.59,-4.59 -4.59,-12.04 0,-16.63c3.62,-3.62 9.01,-4.37 13.38,-2.29l17.47,-17.47c-5.77,-6.82 -9.63,-15.3 -10.77,-24.63l1.04,-0.59l-1.23,-1.23h-24.7c-1.62,4.56 -5.96,7.84 -11.08,7.84c-6.49,0 -11.76,-5.27 -11.76,-11.76c0,-6.49 5.27,-11.76 11.76,-11.76c5.12,0 9.46,3.28 11.08,7.84l1.23,1.23l1.2,-1.23h22.28c0.83,-10.04 4.81,-19.19 10.95,-26.45l-17.47,-17.47c-4.37,2.08 -9.76,1.33 -13.38,-2.29c-4.59,-4.59 -4.59,-12.04 0,-16.63c4.59,-4.59 12.04,-4.59 16.63,0c3.62,3.62 4.37,9.01 2.29,13.38l17.47,17.47c7.26,-6.15 16.41,-10.12 26.45,-10.95v-22.97l1.23,-0.5l-1.23,-1.23c-4.56,-1.62 -7.84,-5.96 -7.84,-11.08c0,-6.49 5.27,-11.76 11.76,-11.76s11.76,5.27 11.76,11.76c0,5.12 -3.28,9.46 -7.84,11.08v24.7l1.23,1.23l0.96,-0.99c10.54,1.37 19.99,6.23 27.15,13.38l66.53,-66.53c-25.54,-25.54 -60.82,-41.33 -99.79,-41.33c-77.94,0 -141.12,63.18 -141.12,141.12s63.18,141.12 141.12,141.12c38.97,0 74.25,-15.8 99.79,-41.33l-66.53,-66.53C254.09,269.36 243.83,274.39 232.4,275.33z"> + android:strokeWidth="1" + android:strokeColor="#00FFFFFF" /> + <path + android:fillType="nonZero" + android:pathData="M24.389,25.873L24.389,29.004L24.544,29.16L24.61,29.104C25.069,29.358 25.38,29.846 25.38,30.408C25.38,31.232 24.714,31.899 23.893,31.899C23.072,31.899 22.406,31.232 22.406,30.408C22.406,29.759 22.82,29.209 23.397,29.004L23.397,26.131L23.552,26.028L23.397,25.873C22.127,25.768 20.971,25.263 20.052,24.484L17.843,26.698C18.107,27.252 18.012,27.935 17.554,28.394C16.973,28.976 16.032,28.976 15.451,28.394C14.87,27.812 14.87,26.868 15.451,26.286C15.908,25.827 16.59,25.731 17.142,25.996L19.351,23.782C18.621,22.917 18.133,21.842 17.99,20.659L18.121,20.585L17.966,20.429L14.842,20.429C14.638,21.008 14.088,21.423 13.441,21.423C12.62,21.423 11.954,20.756 11.954,19.932C11.954,19.109 12.62,18.442 13.441,18.442C14.088,18.442 14.638,18.857 14.842,19.435L14.997,19.591L15.149,19.435L17.966,19.435C18.071,18.162 18.574,17.003 19.351,16.083L17.142,13.869C16.59,14.133 15.908,14.037 15.451,13.579C14.87,12.996 14.87,12.053 15.451,11.47C16.032,10.888 16.973,10.888 17.554,11.47C18.012,11.929 18.107,12.612 17.843,13.166L20.052,15.38C20.971,14.601 22.127,14.097 23.397,13.992L23.397,11.079L23.552,11.016L23.397,10.86C22.82,10.655 22.406,10.105 22.406,9.456C22.406,8.633 23.072,7.966 23.893,7.966C24.714,7.966 25.38,8.633 25.38,9.456C25.38,10.105 24.966,10.655 24.389,10.86L24.389,13.992L24.544,14.147L24.665,14.021C25.999,14.195 27.193,14.811 28.098,15.717L36.513,7.283C33.283,4.046 28.821,2.044 23.893,2.044C14.036,2.044 6.046,10.053 6.046,19.932C6.046,29.812 14.036,37.82 23.893,37.82C28.821,37.82 33.283,35.818 36.513,32.581L28.098,24.147C27.131,25.116 25.833,25.753 24.389,25.873Z" + android:strokeWidth="1" + android:strokeColor="#00FFFFFF"> <aapt:attr name="android:fillColor"> <gradient - android:endX="207.81567" - android:endY="322.28314" - android:startX="207.81567" - android:startY="93.55659" + android:endX="21.2795" + android:endY="31.824244" + android:startX="21.2795" + android:startY="2.8311005" android:type="linear"> <item android:color="#FF59112B" @@ -63,13 +109,17 @@ </gradient> </aapt:attr> </path> - <path android:pathData="M233.63,276.56v24.7c4.56,1.62 7.84,5.96 7.84,11.08c0,6.49 -5.27,11.76 -11.76,11.76c-6.49,0 -11.76,-5.27 -11.76,-11.76c0,-5.12 3.28,-9.46 7.84,-11.08v-24.7c-10.04,-0.83 -19.19,-4.81 -26.45,-10.95l-17.47,17.47c2.08,4.37 1.33,9.76 -2.29,13.38c-4.59,4.59 -12.04,4.59 -16.63,0c-4.59,-4.59 -4.59,-12.04 0,-16.63c3.62,-3.62 9.01,-4.37 13.38,-2.29l17.47,-17.47c-6.15,-7.26 -10.12,-16.4 -10.95,-26.45h-24.7c-1.62,4.56 -5.96,7.84 -11.08,7.84c-6.49,0 -11.76,-5.27 -11.76,-11.76s5.27,-11.76 11.76,-11.76c5.12,0 9.46,3.28 11.08,7.84h24.7c0.83,-10.04 4.81,-19.19 10.95,-26.45l-17.47,-17.47c-4.37,2.08 -9.76,1.33 -13.38,-2.29c-4.59,-4.59 -4.59,-12.04 0,-16.63c4.59,-4.59 12.04,-4.59 16.63,0c3.62,3.62 4.37,9.01 2.29,13.38l17.47,17.47c7.26,-6.15 16.41,-10.12 26.45,-10.95v-24.7c-4.56,-1.62 -7.84,-5.96 -7.84,-11.08c0,-6.49 5.27,-11.76 11.76,-11.76c6.49,0 11.76,5.27 11.76,11.76c0,5.12 -3.28,9.46 -7.84,11.08v24.7c11.42,0.94 21.69,5.97 29.33,13.61l66.53,-66.53c-25.54,-25.54 -60.82,-41.33 -99.79,-41.33c-77.94,0 -141.12,63.18 -141.12,141.12s63.18,141.12 141.12,141.12c38.97,0 74.25,-15.8 99.79,-41.33l-66.53,-66.53C255.32,270.59 245.05,275.61 233.63,276.56z"> + <path + android:fillType="nonZero" + android:pathData="M24.544,26.028L24.544,29.16C25.121,29.365 25.535,29.915 25.535,30.564C25.535,31.387 24.87,32.055 24.048,32.055C23.227,32.055 22.561,31.387 22.561,30.564C22.561,29.915 22.975,29.365 23.552,29.16L23.552,26.028C22.282,25.923 21.126,25.419 20.208,24.64L17.999,26.854C18.262,27.408 18.167,28.091 17.709,28.55C17.129,29.132 16.187,29.132 15.606,28.55C15.025,27.968 15.025,27.024 15.606,26.442C16.064,25.983 16.745,25.887 17.298,26.151L19.507,23.937C18.729,23.017 18.226,21.858 18.121,20.585L14.997,20.585C14.793,21.163 14.244,21.579 13.596,21.579C12.775,21.579 12.109,20.911 12.109,20.088C12.109,19.265 12.775,18.597 13.596,18.597C14.244,18.597 14.793,19.012 14.997,19.591L18.121,19.591C18.226,18.318 18.729,17.159 19.507,16.238L17.298,14.024C16.745,14.289 16.064,14.193 15.606,13.734C15.025,13.152 15.025,12.208 15.606,11.626C16.187,11.044 17.129,11.044 17.709,11.626C18.167,12.085 18.262,12.768 17.999,13.322L20.208,15.536C21.126,14.757 22.282,14.253 23.552,14.147L23.552,11.016C22.975,10.811 22.561,10.261 22.561,9.612C22.561,8.789 23.227,8.121 24.048,8.121C24.87,8.121 25.535,8.789 25.535,9.612C25.535,10.261 25.121,10.811 24.544,11.016L24.544,14.147C25.989,14.267 27.287,14.904 28.254,15.873L36.668,7.439C33.438,4.202 28.977,2.2 24.048,2.2C14.192,2.2 6.201,10.209 6.201,20.088C6.201,29.967 14.192,37.976 24.048,37.976C28.977,37.976 33.438,35.974 36.668,32.737L28.254,24.303C27.287,25.272 25.989,25.909 24.544,26.028Z" + android:strokeWidth="1" + android:strokeColor="#00FFFFFF"> <aapt:attr name="android:fillColor"> <gradient - android:endX="209.04382" - android:endY="88.5753" - android:startX="209.04382" - android:startY="370.81174" + android:endX="21.434502" + android:endY="2.2" + android:startX="21.434502" + android:startY="37.976" android:type="linear"> <item android:color="#FFBC1200" diff --git a/Corona-Warn-App/src/main/res/drawable/ic_close_dark.xml b/Corona-Warn-App/src/main/res/drawable/ic_close_dark.xml deleted file mode 100644 index 6b3c8307a..000000000 --- a/Corona-Warn-App/src/main/res/drawable/ic_close_dark.xml +++ /dev/null @@ -1,12 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="40dp" - android:height="40dp" - android:viewportWidth="40" - android:viewportHeight="40"> - <path - android:fillColor="#000000" - android:fillType="nonZero" - android:pathData="M14.2843,13l-1.2843,1.2843l5.7157,5.7157l-5.7157,5.7157l1.2843,1.2843l5.7157,-5.7157l5.7157,5.7157l1.2843,-1.2843l-5.7157,-5.7157l5.7157,-5.7157l-1.2843,-1.2843l-5.7157,5.7157z" - android:strokeWidth="1" - android:strokeColor="#00000000" /> -</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_close_light.xml b/Corona-Warn-App/src/main/res/drawable/ic_close_light.xml deleted file mode 100644 index a0fd695b6..000000000 --- a/Corona-Warn-App/src/main/res/drawable/ic_close_light.xml +++ /dev/null @@ -1,12 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="40dp" - android:height="40dp" - android:viewportWidth="40" - android:viewportHeight="40"> - <path - android:fillColor="#FFFFFF" - android:fillType="nonZero" - android:pathData="M14.2843,13l-1.2843,1.2843l5.7157,5.7157l-5.7157,5.7157l1.2843,1.2843l5.7157,-5.7157l5.7157,5.7157l1.2843,-1.2843l-5.7157,-5.7157l5.7157,-5.7157l-1.2843,-1.2843l-5.7157,5.7157z" - android:strokeWidth="1" - android:strokeColor="#00FFFFFF" /> -</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_main_header.xml b/Corona-Warn-App/src/main/res/drawable/ic_main_header.xml index aa0d53d4c..bcff8ec64 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_main_header.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_main_header.xml @@ -1,86 +1,136 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" - android:width="1024.9106dp" - android:height="458.0995dp" - android:viewportWidth="1024.9106" - android:viewportHeight="458.0995"> - <path - android:fillColor="#404040" - android:pathData="M371.13,262.82h9.21l11.9,35.36l15.64,-36.5h0.49l15.73,36.5l11.65,-35.36h8.64l-19.39,56.14h-0.49l-16.38,-38.62l-16.79,38.62h-0.41L371.13,262.82z" /> - <path - android:fillColor="#404040" - android:pathData="M480.16,307.88h-22.49l-4.32,10.35h-8.8l24.28,-56.55h0.49l24.36,56.55h-9.21L480.16,307.88zM460.85,300.22h16.13l-7.99,-19.39L460.85,300.22z" /> - <path - android:fillColor="#404040" - android:pathData="M514.22,318.23h-8.72v-55.41h17.76c12.96,0 20.37,7.09 20.37,17.6c0,7.74 -3.83,13.28 -10.76,15.81l13.36,22h-9.53l-12.39,-20.45h-1.06h-9.04V318.23zM522.94,290.28c8.23,0 11.65,-3.26 11.65,-9.86c0,-6.68 -3.5,-9.86 -11.65,-9.86h-8.72v19.72H522.94z" /> - <path - android:fillColor="#404040" - android:pathData="M568.09,281.81v36.42h-8.15v-56.22h0.65l35.53,37.24v-36.42h8.15v56.22h-0.65L568.09,281.81z" /> - <path - android:fillColor="#404040" - android:pathData="M621.92,288.65h14.99v7.42h-14.99V288.65z" /> - <path - android:fillColor="#404040" - android:pathData="M681.85,307.88h-22.49l-4.32,10.35h-8.8l24.28,-56.55h0.49l24.36,56.55h-9.21L681.85,307.88zM662.54,300.22h16.13l-7.99,-19.39L662.54,300.22z" /> - <path - android:fillColor="#404040" - android:pathData="M715.91,318.23h-8.72v-55.41h17.6c12.96,0 20.37,7.17 20.37,17.93c0,11 -7.5,17.93 -20.37,17.93h-8.88V318.23zM724.47,290.93c8.23,0 11.65,-3.42 11.65,-10.19c0,-6.84 -3.5,-10.19 -11.65,-10.19h-8.56v20.37H724.47z" /> - <path - android:fillColor="#404040" - android:pathData="M767.41,318.23h-8.72v-55.41h17.6c12.96,0 20.37,7.17 20.37,17.93c0,11 -7.5,17.93 -20.37,17.93h-8.88V318.23zM775.97,290.93c8.23,0 11.65,-3.42 11.65,-10.19c0,-6.84 -3.5,-10.19 -11.65,-10.19h-8.56v20.37H775.97z" /> - <path - android:fillColor="#404040" - android:pathData="M369.58,179.85c0,-26.77 20.38,-46.48 46.22,-46.48c16.78,0 28.37,6.53 36.23,17.58l-10.92,7.73c-5.99,-8.13 -13.72,-12.39 -25.71,-12.39c-17.98,0 -31.03,14.38 -31.03,33.56c0,19.58 13.32,33.56 31.57,33.56c11.72,0 20.38,-4.4 27.17,-13.19l11.05,7.59c-9.32,12.39 -21.18,18.51 -38.76,18.51C389.56,226.34 369.58,206.63 369.58,179.85z" /> - <path - android:fillColor="#404040" - android:pathData="M466.81,179.85c0,-26.77 20.78,-46.48 46.75,-46.48c25.97,0 46.75,19.71 46.75,46.48s-20.78,46.48 -46.75,46.48C487.59,226.34 466.81,206.63 466.81,179.85zM545.53,179.85c0,-19.18 -13.19,-33.56 -31.97,-33.56c-18.78,0 -31.97,14.38 -31.97,33.56c0,19.18 13.19,33.56 31.97,33.56C532.34,213.42 545.53,199.03 545.53,179.85z" /> - <path - android:fillColor="#404040" - android:pathData="M595.21,225.14H580.96v-90.57h29.04c21.18,0 33.3,11.59 33.3,28.77c0,12.65 -6.26,21.71 -17.58,25.84l21.84,35.96h-15.58l-20.25,-33.43h-1.73h-14.78V225.14zM609.47,179.45c13.45,0 19.05,-5.33 19.05,-16.12c0,-10.92 -5.73,-16.12 -19.05,-16.12h-14.25v32.23H609.47z" /> - <path - android:fillColor="#404040" - android:pathData="M661.54,179.85c0,-26.77 20.78,-46.48 46.75,-46.48s46.75,19.71 46.75,46.48s-20.78,46.48 -46.75,46.48S661.54,206.63 661.54,179.85zM740.26,179.85c0,-19.18 -13.19,-33.56 -31.97,-33.56s-31.97,14.38 -31.97,33.56c0,19.18 13.19,33.56 31.97,33.56S740.26,199.03 740.26,179.85z" /> - <path - android:fillColor="#404040" - android:pathData="M788.85,165.6v59.54H775.53v-91.9h1.07l58.07,60.87v-59.54h13.32v91.9h-1.07L788.85,165.6z" /> - <path - android:fillColor="#404040" - android:pathData="M920.05,208.22h-36.76l-7.06,16.92h-14.38l39.69,-92.44h0.8l39.83,92.44h-15.05L920.05,208.22zM888.48,195.7h26.37l-13.05,-31.7L888.48,195.7z" /> - <path android:pathData="M232.4,275.33v24.7l1.23,1.23l0.52,-0.44c3.63,2 6.09,5.85 6.09,10.29c0,6.49 -5.27,11.76 -11.76,11.76s-11.76,-5.27 -11.76,-11.76c0,-5.12 3.28,-9.46 7.84,-11.08v-22.66l1.23,-0.81l-1.23,-1.23c-10.04,-0.83 -19.19,-4.81 -26.45,-10.95l-17.47,17.47c2.08,4.37 1.33,9.76 -2.29,13.38c-4.59,4.59 -12.04,4.59 -16.63,0c-4.59,-4.59 -4.59,-12.04 0,-16.63c3.62,-3.62 9.01,-4.37 13.38,-2.29l17.47,-17.47c-5.77,-6.82 -9.63,-15.3 -10.77,-24.63l1.04,-0.59l-1.23,-1.23h-24.7c-1.62,4.56 -5.96,7.84 -11.08,7.84c-6.49,0 -11.76,-5.27 -11.76,-11.76c0,-6.49 5.27,-11.76 11.76,-11.76c5.12,0 9.46,3.28 11.08,7.84l1.23,1.23l1.2,-1.23h22.28c0.83,-10.04 4.81,-19.19 10.95,-26.45l-17.47,-17.47c-4.37,2.08 -9.76,1.33 -13.38,-2.29c-4.59,-4.59 -4.59,-12.04 0,-16.63c4.59,-4.59 12.04,-4.59 16.63,0c3.62,3.62 4.37,9.01 2.29,13.38l17.47,17.47c7.26,-6.15 16.41,-10.12 26.45,-10.95v-22.97l1.23,-0.5l-1.23,-1.23c-4.56,-1.62 -7.84,-5.96 -7.84,-11.08c0,-6.49 5.27,-11.76 11.76,-11.76s11.76,5.27 11.76,11.76c0,5.12 -3.28,9.46 -7.84,11.08v24.7l1.23,1.23l0.96,-0.99c10.54,1.37 19.99,6.23 27.15,13.38l66.53,-66.53c-25.54,-25.54 -60.82,-41.33 -99.79,-41.33c-77.94,0 -141.12,63.18 -141.12,141.12s63.18,141.12 141.12,141.12c38.97,0 74.25,-15.8 99.79,-41.33l-66.53,-66.53C254.09,269.36 243.83,274.39 232.4,275.33z"> - <aapt:attr name="android:fillColor"> - <gradient - android:endX="207.81567" - android:endY="322.28314" - android:startX="207.81567" - android:startY="93.55659" - android:type="linear"> - <item - android:color="#FF59112B" - android:offset="0.5" /> - <item - android:color="#FFBC1200" - android:offset="1" /> - </gradient> - </aapt:attr> - </path> - <path android:pathData="M233.63,276.56v24.7c4.56,1.62 7.84,5.96 7.84,11.08c0,6.49 -5.27,11.76 -11.76,11.76c-6.49,0 -11.76,-5.27 -11.76,-11.76c0,-5.12 3.28,-9.46 7.84,-11.08v-24.7c-10.04,-0.83 -19.19,-4.81 -26.45,-10.95l-17.47,17.47c2.08,4.37 1.33,9.76 -2.29,13.38c-4.59,4.59 -12.04,4.59 -16.63,0c-4.59,-4.59 -4.59,-12.04 0,-16.63c3.62,-3.62 9.01,-4.37 13.38,-2.29l17.47,-17.47c-6.15,-7.26 -10.12,-16.4 -10.95,-26.45h-24.7c-1.62,4.56 -5.96,7.84 -11.08,7.84c-6.49,0 -11.76,-5.27 -11.76,-11.76s5.27,-11.76 11.76,-11.76c5.12,0 9.46,3.28 11.08,7.84h24.7c0.83,-10.04 4.81,-19.19 10.95,-26.45l-17.47,-17.47c-4.37,2.08 -9.76,1.33 -13.38,-2.29c-4.59,-4.59 -4.59,-12.04 0,-16.63c4.59,-4.59 12.04,-4.59 16.63,0c3.62,3.62 4.37,9.01 2.29,13.38l17.47,17.47c7.26,-6.15 16.41,-10.12 26.45,-10.95v-24.7c-4.56,-1.62 -7.84,-5.96 -7.84,-11.08c0,-6.49 5.27,-11.76 11.76,-11.76c6.49,0 11.76,5.27 11.76,11.76c0,5.12 -3.28,9.46 -7.84,11.08v24.7c11.42,0.94 21.69,5.97 29.33,13.61l66.53,-66.53c-25.54,-25.54 -60.82,-41.33 -99.79,-41.33c-77.94,0 -141.12,63.18 -141.12,141.12s63.18,141.12 141.12,141.12c38.97,0 74.25,-15.8 99.79,-41.33l-66.53,-66.53C255.32,270.59 245.05,275.61 233.63,276.56z"> - <aapt:attr name="android:fillColor"> - <gradient - android:endX="209.04382" - android:endY="88.5753" - android:startX="209.04382" - android:startY="370.81174" - android:type="linear"> - <item - android:color="#FFBC1200" - android:offset="0" /> - <item - android:color="#FF80CDEC" - android:offset="0.67" /> - <item - android:color="#FFBDE0F9" - android:offset="1" /> - </gradient> - </aapt:attr> - </path> + android:width="120dp" + android:height="40dp" + android:viewportWidth="120" + android:viewportHeight="40"> + <path + android:pathData="M41.017,24.195l1.177,0l1.52,4.737l1.999,-4.889l0.063,0l2.01,4.889l1.489,-4.737l1.104,0l-2.478,7.52l-0.063,0l-2.093,-5.173l-2.145,5.173l-0.052,0z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M54.95,30.23L52.076,30.23L51.524,31.616L50.399,31.616L53.502,24.042L53.565,24.042L56.678,31.616L55.502,31.616L54.95,30.23ZM52.482,29.205L54.543,29.205L53.523,26.607L52.482,29.205Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M59.303,31.616L58.188,31.616L58.188,24.195L60.458,24.195C62.114,24.195 63.062,25.145 63.062,26.552C63.062,27.589 62.572,28.331 61.687,28.67L63.395,31.616L62.177,31.616L60.594,28.877L60.458,28.877L59.303,28.877L59.303,31.616L59.303,31.616ZM60.417,27.873C61.468,27.873 61.906,27.436 61.906,26.552C61.906,25.658 61.458,25.232 60.417,25.232L59.303,25.232L59.303,27.873L60.417,27.873Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M66.186,26.738l0,4.878l-1.041,0l0,-7.531l0.083,0l4.54,4.988l0,-4.878l1.041,0l0,7.53l-0.083,0z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M73.065,27.655l1.916,0l0,0.993l-1.916,0z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M80.724,30.23L77.85,30.23L77.298,31.616L76.173,31.616L79.276,24.042L79.339,24.042L82.452,31.616L81.276,31.616L80.724,30.23ZM78.256,29.205L80.318,29.205L79.297,26.607L78.256,29.205Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M85.077,31.616L83.963,31.616L83.963,24.195L86.212,24.195C87.867,24.195 88.815,25.156 88.815,26.596C88.815,28.069 87.857,28.997 86.212,28.997L85.077,28.997L85.077,31.616L85.077,31.616ZM86.17,27.96C87.222,27.96 87.659,27.502 87.659,26.596C87.659,25.679 87.211,25.232 86.17,25.232L85.077,25.232L85.077,27.96L86.17,27.96Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M91.658,31.616L90.544,31.616L90.544,24.195L92.793,24.195C94.449,24.195 95.396,25.156 95.396,26.596C95.396,28.069 94.438,28.997 92.793,28.997L91.658,28.997L91.658,31.616L91.658,31.616ZM92.751,27.96C93.803,27.96 94.24,27.502 94.24,26.596C94.24,25.679 93.793,25.232 92.751,25.232L91.658,25.232L91.658,27.96L92.751,27.96Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M41.074,13.46C41.074,9.996 43.661,7.445 46.942,7.445C49.073,7.445 50.544,8.29 51.542,9.72L50.155,10.72C49.394,9.669 48.413,9.117 46.891,9.117C44.608,9.117 42.951,10.979 42.951,13.46C42.951,15.994 44.642,17.804 46.959,17.804C48.447,17.804 49.546,17.235 50.409,16.097L51.812,17.08C50.629,18.683 49.124,19.475 46.891,19.475C43.611,19.475 41.074,16.925 41.074,13.46Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M53.419,13.46C53.419,9.996 56.057,7.445 59.355,7.445C62.652,7.445 65.29,9.996 65.29,13.46C65.29,16.925 62.652,19.475 59.355,19.475C56.057,19.475 53.419,16.925 53.419,13.46ZM63.413,13.46C63.413,10.979 61.739,9.117 59.355,9.117C56.97,9.117 55.296,10.979 55.296,13.46C55.296,15.942 56.97,17.804 59.355,17.804C61.739,17.804 63.413,15.942 63.413,13.46Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M69.721,19.32L67.912,19.32L67.912,7.601L71.598,7.601C74.287,7.601 75.826,9.1 75.826,11.323C75.826,12.961 75.031,14.133 73.594,14.667L76.367,19.32L74.389,19.32L71.818,14.994L71.598,14.994L69.721,14.994L69.721,19.32L69.721,19.32ZM71.531,13.409C73.239,13.409 73.949,12.719 73.949,11.323C73.949,9.91 73.222,9.238 71.531,9.238L69.721,9.238L69.721,13.409L71.531,13.409L71.531,13.409Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M78.143,13.46C78.143,9.996 80.781,7.445 84.079,7.445C87.376,7.445 90.014,9.996 90.014,13.46C90.014,16.925 87.376,19.475 84.079,19.475C80.781,19.475 78.143,16.925 78.143,13.46ZM88.137,13.46C88.137,10.979 86.463,9.117 84.079,9.117C81.694,9.117 80.02,10.979 80.02,13.46C80.02,15.942 81.694,17.804 84.079,17.804C86.463,17.804 88.137,15.942 88.137,13.46Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M94.306,11.616l0,7.704l-1.691,0l0,-11.892l0.135,0l7.373,7.876l0,-7.704l1.691,0l0,11.892l-0.135,0z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M110.964,17.131L106.296,17.131L105.4,19.32L103.574,19.32L108.613,7.359L108.715,7.359L113.771,19.32L111.86,19.32L110.964,17.131ZM106.956,15.511L110.304,15.511L108.647,11.409L106.956,15.511Z" + android:strokeWidth="1" + android:fillColor="#404040" + android:fillType="nonZero" + android:strokeColor="#00000000" /> + <path + android:pathData="M24.389,25.873L24.389,29.004L24.544,29.16L24.61,29.104C25.069,29.358 25.38,29.846 25.38,30.408C25.38,31.232 24.714,31.899 23.893,31.899C23.072,31.899 22.406,31.232 22.406,30.408C22.406,29.759 22.82,29.209 23.397,29.004L23.397,26.131L23.552,26.028L23.397,25.873C22.127,25.768 20.971,25.263 20.052,24.484L17.843,26.698C18.107,27.252 18.012,27.935 17.554,28.394C16.973,28.976 16.032,28.976 15.451,28.394C14.87,27.812 14.87,26.868 15.451,26.286C15.908,25.827 16.59,25.731 17.142,25.996L19.351,23.782C18.621,22.917 18.133,21.842 17.99,20.659L18.121,20.585L17.966,20.429L14.842,20.429C14.638,21.008 14.088,21.423 13.441,21.423C12.62,21.423 11.954,20.756 11.954,19.932C11.954,19.109 12.62,18.442 13.441,18.442C14.088,18.442 14.638,18.857 14.842,19.435L14.997,19.591L15.149,19.435L17.966,19.435C18.071,18.162 18.574,17.003 19.351,16.083L17.142,13.869C16.59,14.133 15.908,14.037 15.451,13.579C14.87,12.996 14.87,12.053 15.451,11.47C16.032,10.888 16.973,10.888 17.554,11.47C18.012,11.929 18.107,12.612 17.843,13.166L20.052,15.38C20.971,14.601 22.127,14.097 23.397,13.992L23.397,11.079L23.552,11.016L23.397,10.86C22.82,10.655 22.406,10.105 22.406,9.456C22.406,8.633 23.072,7.966 23.893,7.966C24.714,7.966 25.38,8.633 25.38,9.456C25.38,10.105 24.966,10.655 24.389,10.86L24.389,13.992L24.544,14.147L24.665,14.021C25.999,14.195 27.193,14.811 28.098,15.717L36.513,7.283C33.283,4.046 28.821,2.044 23.893,2.044C14.036,2.044 6.046,10.053 6.046,19.932C6.046,29.812 14.036,37.82 23.893,37.82C28.821,37.82 33.283,35.818 36.513,32.581L28.098,24.147C27.131,25.116 25.833,25.753 24.389,25.873Z" + android:strokeWidth="1" + android:fillType="nonZero" + android:strokeColor="#00000000"> + <aapt:attr name="android:fillColor"> + <gradient + android:endX="21.2795" + android:endY="31.824244" + android:startX="21.2795" + android:startY="2.8311005" + android:type="linear"> + <item + android:color="#FF59112B" + android:offset="0.5" /> + <item + android:color="#FFBC1200" + android:offset="1" /> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M24.544,26.028L24.544,29.16C25.121,29.365 25.535,29.915 25.535,30.564C25.535,31.387 24.87,32.055 24.048,32.055C23.227,32.055 22.561,31.387 22.561,30.564C22.561,29.915 22.975,29.365 23.552,29.16L23.552,26.028C22.282,25.923 21.126,25.419 20.208,24.64L17.999,26.854C18.262,27.408 18.167,28.091 17.709,28.55C17.129,29.132 16.187,29.132 15.606,28.55C15.025,27.968 15.025,27.024 15.606,26.442C16.064,25.983 16.745,25.887 17.298,26.151L19.507,23.937C18.729,23.017 18.226,21.858 18.121,20.585L14.997,20.585C14.793,21.163 14.244,21.579 13.596,21.579C12.775,21.579 12.109,20.911 12.109,20.088C12.109,19.265 12.775,18.597 13.596,18.597C14.244,18.597 14.793,19.012 14.997,19.591L18.121,19.591C18.226,18.318 18.729,17.159 19.507,16.238L17.298,14.024C16.745,14.289 16.064,14.193 15.606,13.734C15.025,13.152 15.025,12.208 15.606,11.626C16.187,11.044 17.129,11.044 17.709,11.626C18.167,12.085 18.262,12.768 17.999,13.322L20.208,15.536C21.126,14.757 22.282,14.253 23.552,14.147L23.552,11.016C22.975,10.811 22.561,10.261 22.561,9.612C22.561,8.789 23.227,8.121 24.048,8.121C24.87,8.121 25.535,8.789 25.535,9.612C25.535,10.261 25.121,10.811 24.544,11.016L24.544,14.147C25.989,14.267 27.287,14.904 28.254,15.873L36.668,7.439C33.438,4.202 28.977,2.2 24.048,2.2C14.192,2.2 6.201,10.209 6.201,20.088C6.201,29.967 14.192,37.976 24.048,37.976C28.977,37.976 33.438,35.974 36.668,32.737L28.254,24.303C27.287,25.272 25.989,25.909 24.544,26.028Z" + android:strokeWidth="1" + android:fillType="nonZero" + android:strokeColor="#00000000"> + <aapt:attr name="android:fillColor"> + <gradient + android:endX="21.434502" + android:endY="2.2" + android:startX="21.434502" + android:startY="37.976" + android:type="linear"> + <item + android:color="#FFBC1200" + android:offset="0" /> + <item + android:color="#FF80CDEC" + android:offset="0.67" /> + <item + android:color="#FFBDE0F9" + android:offset="1" /> + </gradient> + </aapt:attr> + </path> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable-anydpi/row.xml b/Corona-Warn-App/src/main/res/drawable/row.xml similarity index 100% rename from Corona-Warn-App/src/main/res/drawable-anydpi/row.xml rename to Corona-Warn-App/src/main/res/drawable/row.xml diff --git a/Corona-Warn-App/src/main/res/layout/fragment_main.xml b/Corona-Warn-App/src/main/res/layout/fragment_main.xml index 95e316012..e33f312f6 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_main.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_main.xml @@ -37,7 +37,7 @@ <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/main_header" android:layout_width="@dimen/match_constraint" - android:layout_height="@dimen/header" + android:layout_height="@dimen/header_main" android:layout_margin="@dimen/spacing_small" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -126,7 +126,7 @@ layout="@layout/include_risk_card" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_small" + android:layout_marginTop="@dimen/spacing_normal" android:visibility="@{FormatterSubmissionHelper.formatShowRiskStatusCard(submissionViewModel.deviceUiState)}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toStartOf="@+id/guideline_start" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml index a4d892473..a44c4316a 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml @@ -9,14 +9,33 @@ android:fillViewport="true" android:contentDescription="@string/onboarding_notifications_accessibility_title"> - <include - android:id="@+id/onboarding_button_back" - layout="@layout/include_button_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_back}" - app:layout_constraintStart_toStartOf="@id/guideline_back" - app:layout_constraintTop_toTopOf="@id/guideline_top" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/onboarding_header" + android:layout_width="match_parent" + android:layout_height="@dimen/header" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <include + android:id="@+id/onboarding_button_back" + layout="@layout/include_button_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:icon="@{@drawable/ic_back}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_back" + app:layout_constraintTop_toTopOf="parent" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + <include layout="@layout/include_onboarding" @@ -71,12 +90,5 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_back" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_back" /> - </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml index e0b0d9448..d47812837 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml @@ -17,14 +17,33 @@ android:contentDescription="@string/onboarding_privacy_accessibility_title" android:fillViewport="true"> - <include - android:id="@+id/onboarding_button_back" - layout="@layout/include_button_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_back}" - app:layout_constraintStart_toStartOf="@id/guideline_back" - app:layout_constraintTop_toTopOf="@id/guideline_top" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/onboarding_header" + android:layout_width="match_parent" + android:layout_height="@dimen/header" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <include + android:id="@+id/onboarding_button_back" + layout="@layout/include_button_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:icon="@{@drawable/ic_back}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_back" + app:layout_constraintTop_toTopOf="parent" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + <include layout="@layout/include_onboarding" @@ -78,12 +97,5 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_back" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_back" /> - </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml index 69316d407..c30fc93bc 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml @@ -9,14 +9,32 @@ android:fillViewport="true" android:contentDescription="@string/onboarding_test_accessibility_title"> - <include - android:id="@+id/onboarding_button_back" - layout="@layout/include_button_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_back}" - app:layout_constraintStart_toStartOf="@id/guideline_back" - app:layout_constraintTop_toTopOf="@id/guideline_top" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/onboarding_header" + android:layout_width="match_parent" + android:layout_height="@dimen/header" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <include + android:id="@+id/onboarding_button_back" + layout="@layout/include_button_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:icon="@{@drawable/ic_back}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_back" + app:layout_constraintTop_toTopOf="parent" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + + </androidx.constraintlayout.widget.ConstraintLayout> <include layout="@layout/include_onboarding" @@ -71,12 +89,5 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_back" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_back" /> - </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml index 442c4f9ab..adc5bfad8 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml @@ -9,14 +9,32 @@ android:fillViewport="true" android:contentDescription="@string/onboarding_tracing_accessibility_title"> - <include - android:id="@+id/onboarding_button_back" - layout="@layout/include_button_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_back}" - app:layout_constraintStart_toStartOf="@id/guideline_back" - app:layout_constraintTop_toTopOf="@id/guideline_top" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/onboarding_header" + android:layout_width="match_parent" + android:layout_height="@dimen/header" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <include + android:id="@+id/onboarding_button_back" + layout="@layout/include_button_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:icon="@{@drawable/ic_back}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_back" + app:layout_constraintTop_toTopOf="parent" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + + </androidx.constraintlayout.widget.ConstraintLayout> <include layout="@layout/include_onboarding" @@ -85,12 +103,5 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_back" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_back" /> - </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml index d4851a0e1..bfca5283e 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml @@ -26,38 +26,76 @@ android:layout_height="match_parent" android:contentDescription="@string/risk_details_accessibility_title"> - <com.google.android.material.appbar.AppBarLayout - android:id="@+id/risk_details_app_bar_layout" + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/risk_details_header" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:theme="@style/AppTheme.AppBarOverlay" - app:elevation="0dp" + android:layout_height="@dimen/header" + android:background="@{FormatterRiskHelper.formatRiskShape(true)}" + android:backgroundTint="@{FormatterRiskHelper.formatRiskColorStateList(tracingViewModel.riskLevel)}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - <androidx.appcompat.widget.Toolbar - android:id="@+id/risk_details_toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:background="@{FormatterRiskHelper.formatRiskShape(true)}" - android:backgroundTint="@{FormatterRiskHelper.formatRiskColor(tracingViewModel.riskLevel)}" - app:navigationIcon="@{FormatterRiskHelper.formatStableBackButtonIcon(tracingViewModel.riskLevel)}" - app:popupTheme="@style/AppTheme.PopupOverlay" - app:title="@string/risk_details_title" - app:titleTextColor="@{FormatterRiskHelper.formatStableTextColor(tracingViewModel.riskLevel)}" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/risk_details_header_button_back" + style="@style/buttonIcon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@+id/guideline_back" + app:layout_constraintTop_toTopOf="parent"> + + <ImageView + style="@style/icon" + android:layout_width="@dimen/icon_size_button" + android:layout_height="@dimen/icon_size_button" + android:contentDescription="@{@string/accessibility_back}" + android:src="@{@drawable/ic_close}" + android:tint="@{FormatterRiskHelper.formatStableIconColor(tracingViewModel.riskLevel)}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> - </com.google.android.material.appbar.AppBarLayout> + <TextView + android:id="@+id/risk_details_header_title" + style="@style/headline6" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/guideline_body_title" + android:text="@string/risk_details_title" + android:textColor="@{FormatterRiskHelper.formatStableTextColor(tracingViewModel.riskLevel)}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_header_start" + app:layout_constraintTop_toTopOf="parent" + tools:text="@string/settings_title" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_header_start" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_start" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + + </androidx.constraintlayout.widget.ConstraintLayout> <ScrollView android:layout_width="0dp" android:layout_height="0dp" - android:layout_marginBottom="@dimen/spacing_normal" android:fillViewport="true" - app:layout_constraintBottom_toTopOf="@+id/risk_details_button_enable_tracing" + app:layout_constraintBottom_toTopOf="@+id/risk_details_button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/risk_details_app_bar_layout"> + app:layout_constraintTop_toBottomOf="@+id/risk_details_header"> <androidx.constraintlayout.widget.ConstraintLayout android:focusable="true" @@ -83,7 +121,7 @@ style="@style/headline5" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_normal" + android:layout_marginTop="@dimen/spacing_large" android:text="@string/risk_details_headline_behavior" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toStartOf="@+id/guideline_start" @@ -216,30 +254,43 @@ </ScrollView> - <Button - android:id="@+id/risk_details_button_enable_tracing" - style="@style/buttonPrimary" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/risk_card_button_enable_tracing" - android:visibility="@{FormatterRiskHelper.formatRiskDetailsButtonEnableTracingVisibility(tracingViewModel.riskLevel)}" - app:layout_constraintBottom_toTopOf="@+id/risk_details_button_update" - app:layout_constraintEnd_toStartOf="@+id/guideline_end_outer" - app:layout_constraintStart_toStartOf="@+id/guideline_start_outer" - tools:text="@string/risk_card_button_enable_tracing" /> - - <Button - android:id="@+id/risk_details_button_update" - style="@style/buttonPrimary" - android:layout_width="0dp" + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/risk_details_button" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:enabled="@{FormatterRiskHelper.formatButtonUpdateEnabled(settingsViewModel.isManualKeyRetrievalEnabled())}" - android:text="@{FormatterRiskHelper.formatButtonUpdateText(settingsViewModel.manualKeyRetrievalText)}" - android:visibility="@{FormatterRiskHelper.formatDetailsButtonUpdateVisibility(settingsViewModel.isBackgroundJobEnabled(), tracingViewModel.riskLevel)}" - app:layout_constraintBottom_toBottomOf="@+id/guideline_bottom" - app:layout_constraintEnd_toStartOf="@+id/guideline_end_outer" - app:layout_constraintStart_toStartOf="@+id/guideline_start_outer" - tools:text="@string/risk_details_button_update" /> + android:background="@color/colorSurface1" + android:padding="@dimen/spacing_normal" + android:visibility="@{FormatterRiskHelper.formatRiskDetailsButtonVisibility(tracingViewModel.riskLevel, settingsViewModel.isBackgroundJobEnabled())}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent"> + + <Button + android:id="@+id/risk_details_button_enable_tracing" + style="@style/buttonPrimary" + android:layout_width="@dimen/match_constraint" + android:layout_height="wrap_content" + android:text="@string/risk_card_button_enable_tracing" + android:visibility="@{FormatterRiskHelper.formatRiskDetailsButtonEnableTracingVisibility(tracingViewModel.riskLevel)}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + tools:text="@string/risk_card_button_enable_tracing" /> + + <Button + android:id="@+id/risk_details_button_update" + style="@style/buttonPrimary" + android:layout_width="@dimen/match_constraint" + android:layout_height="wrap_content" + android:enabled="@{FormatterRiskHelper.formatButtonUpdateEnabled(settingsViewModel.isManualKeyRetrievalEnabled())}" + android:text="@{FormatterRiskHelper.formatButtonUpdateText(settingsViewModel.manualKeyRetrievalText)}" + android:visibility="@{FormatterRiskHelper.formatDetailsButtonUpdateVisibility(settingsViewModel.isBackgroundJobEnabled(), tracingViewModel.riskLevel)}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + tools:text="@string/risk_details_button_update" /> + + </androidx.constraintlayout.widget.ConstraintLayout> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_start_outer" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings_reset.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings_reset.xml index 3c3631119..d910929b2 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings_reset.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings_reset.xml @@ -54,8 +54,8 @@ app:buttonText="@{@string/settings_tracing_status_connection_button}" app:headline="@{@string/settings_reset_headline_keys}" app:icon="@{@drawable/ic_settings_reset_circle}" - app:layout_constraintEnd_toEndOf="@id/guideline_end" - app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintEnd_toStartOf="@+id/guideline_card_end" + app:layout_constraintStart_toStartOf="@+id/guideline_card_start" app:layout_constraintTop_toBottomOf="@+id/settings_reset_header_details" /> <androidx.constraintlayout.widget.Guideline @@ -72,6 +72,8 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_card" /> + </androidx.constraintlayout.widget.ConstraintLayout> </ScrollView> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml index e77b81edf..20ac51354 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml @@ -78,14 +78,14 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_small" - app:layout_constraintEnd_toEndOf="@id/guideline_end" - app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintEnd_toStartOf="@+id/guideline_card_end" + app:layout_constraintStart_toStartOf="@+id/guideline_card_start" app:layout_constraintTop_toBottomOf="@+id/settings_tracing_switch_row"> <include android:id="@+id/settings_tracing_status_bluetooth" layout="@layout/include_tracing_status_card" - android:layout_width="@dimen/match_constraint" + android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityBluetooth(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" app:body="@{@string/settings_tracing_status_bluetooth_body}" @@ -99,7 +99,7 @@ <include android:id="@+id/settings_tracing_status_connection" layout="@layout/include_tracing_status_card" - android:layout_width="@dimen/match_constraint" + android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="@{FormatterSettingsHelper.formatTracingStatusConnection(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" app:body="@{@string/settings_tracing_status_connection_body}" @@ -112,7 +112,7 @@ <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/settings_tracing_status_tracing" - android:layout_width="@dimen/match_constraint" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_small" android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityTracing(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" @@ -134,10 +134,9 @@ <de.rki.coronawarnapp.ui.view.CircleProgress android:id="@+id/settings_tracing_status_tracing_circle_progress" - android:layout_width="40dp" - android:layout_height="40dp" - app:circleWidth="10" - app:layout_constraintBottom_toBottomOf="parent" + android:layout_width="@dimen/spacing_huge" + android:layout_height="@dimen/spacing_huge" + app:circleWidth="@dimen/circle_large_width" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:progress="@{tracingViewModel.activeTracingDaysInRetentionPeriod}" /> @@ -146,7 +145,6 @@ </androidx.constraintlayout.widget.ConstraintLayout> - <androidx.constraintlayout.widget.ConstraintLayout style="@style/greyBodyBackground" android:id="@+id/risk_details_body" @@ -185,6 +183,8 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_card" /> + </androidx.constraintlayout.widget.ConstraintLayout> </ScrollView> diff --git a/Corona-Warn-App/src/main/res/layout/include_divider.xml b/Corona-Warn-App/src/main/res/layout/include_divider.xml index 04ae33d52..634910417 100644 --- a/Corona-Warn-App/src/main/res/layout/include_divider.xml +++ b/Corona-Warn-App/src/main/res/layout/include_divider.xml @@ -2,6 +2,16 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <data> + + <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> + + <variable + name="dividerColor" + type="Integer" /> + + </data> + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" @@ -10,10 +20,9 @@ app:layout_constraintTop_toTopOf="parent"> <View - android:id="@+id/colorHairline" android:layout_width="match_parent" android:layout_height="@dimen/card_divider" - android:background="@color/colorHairline" + android:background="@{FormatterHelper.formatColorDivider(dividerColor)}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_header.xml b/Corona-Warn-App/src/main/res/layout/include_header.xml index d831a38b7..2ed4f4e62 100644 --- a/Corona-Warn-App/src/main/res/layout/include_header.xml +++ b/Corona-Warn-App/src/main/res/layout/include_header.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> <data> @@ -15,29 +16,45 @@ <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:layout_height="@dimen/header_main" + android:padding="@dimen/spacing_tiny"> - <com.google.android.material.appbar.AppBarLayout - android:layout_width="match_parent" + <include + android:id="@+id/header_button_back" + layout="@layout/include_button_icon" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:theme="@style/AppTheme.AppBarOverlay" - android:background="@color/colorSemanticHighRisk" + app:icon="@{icon}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@id/guideline_back" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/header_title" + style="@style/headline6" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/guideline_body_title" + android:text="@{title}" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:elevation="0dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent"> - - <androidx.appcompat.widget.Toolbar - android:id="@+id/header_toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:background="@color/colorBackground" - app:navigationIcon="@{icon}" - app:popupTheme="@style/AppTheme.PopupOverlay" - app:title="@{title}" - app:titleTextColor="@color/colorTextPrimary1" /> - - - </com.google.android.material.appbar.AppBarLayout> + app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintTop_toTopOf="parent" + tools:text="@string/settings_title" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_start" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_start" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_begin="@dimen/guideline_back" /> + </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/include_information_details.xml b/Corona-Warn-App/src/main/res/layout/include_information_details.xml index 4260196cd..2026367c3 100644 --- a/Corona-Warn-App/src/main/res/layout/include_information_details.xml +++ b/Corona-Warn-App/src/main/res/layout/include_information_details.xml @@ -61,7 +61,7 @@ style="@style/subtitle" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" + android:layout_marginTop="@dimen/spacing_small" android:text="@{body}" android:visibility="@{FormatterHelper.formatVisibilityText(body)}" app:layout_constraintEnd_toEndOf="@id/guideline_end" diff --git a/Corona-Warn-App/src/main/res/layout/include_main_card.xml b/Corona-Warn-App/src/main/res/layout/include_main_card.xml index d147902ef..2cf10b424 100644 --- a/Corona-Warn-App/src/main/res/layout/include_main_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_main_card.xml @@ -106,7 +106,7 @@ style="@style/subtitleMedium" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" + android:layout_marginTop="@dimen/spacing_normal" android:text="@{body}" app:layout_constraintEnd_toStartOf="@+id/main_card_content_illustration" app:layout_constraintStart_toStartOf="parent" diff --git a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml index f8e7814a7..83c66263c 100644 --- a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml +++ b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml @@ -124,8 +124,8 @@ android:visibility="@{FormatterHelper.formatVisibilityText(headlineCard)}" app:body="@{bodyCard}" app:headline="@{headlineCard}" - app:layout_constraintEnd_toEndOf="@id/guideline_end" - app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintEnd_toStartOf="@+id/guideline_card_end" + app:layout_constraintStart_toStartOf="@+id/guideline_card_start" app:layout_constraintTop_toBottomOf="@+id/onboarding_body_emphasized" /> <androidx.constraintlayout.widget.Guideline @@ -142,6 +142,8 @@ android:orientation="vertical" app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_card" /> + </androidx.constraintlayout.widget.ConstraintLayout> </ScrollView> diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_card.xml b/Corona-Warn-App/src/main/res/layout/include_risk_card.xml index 71fccb8ae..437af0703 100644 --- a/Corona-Warn-App/src/main/res/layout/include_risk_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_risk_card.xml @@ -27,7 +27,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@{FormatterRiskHelper.formatRiskShape(showDetails)}" - android:backgroundTint="@{FormatterRiskHelper.formatRiskColor(tracingViewModel.riskLevel)}" + android:backgroundTint="@{FormatterRiskHelper.formatRiskColorStateList(tracingViewModel.riskLevel)}" android:focusable="true"> <include @@ -159,15 +159,15 @@ app:layout_constraintTop_toTopOf="parent"> <de.rki.coronawarnapp.ui.view.CircleProgress - android:layout_width="23dp" - android:layout_height="23dp" - app:circleColor="@color/colorStableMedium" - app:circleWidth="5" + android:layout_width="@dimen/circle_small" + android:layout_height="@dimen/circle_small" + app:circleColor="@color/colorStableHairlineLight" app:disableText="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" + app:circleWidth="@dimen/circle_small_width" app:progress="@{tracingViewModel.activeTracingDaysInRetentionPeriod}" app:progressColor="@color/colorStableLight" /> @@ -217,6 +217,7 @@ layout="@layout/include_divider" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" + app:dividerColor="@{FormatterRiskHelper.formatStableDividerColor(tracingViewModel.riskLevel)}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml b/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml index 5aa9c5097..8d6e6673b 100644 --- a/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml +++ b/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml @@ -44,7 +44,6 @@ android:src="@drawable/ic_forward" android:tint="@{FormatterRiskHelper.formatStableIconColor(tracingViewModel.riskLevel)}" android:visibility="@{FormatterHelper.formatVisibilityInverted(showDetails)}" - app:layout_constraintBottom_toBottomOf="@+id/risk_card_header_headline" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_tracing_status_card.xml b/Corona-Warn-App/src/main/res/layout/include_tracing_status_card.xml index 2523df6df..9d5c53f07 100644 --- a/Corona-Warn-App/src/main/res/layout/include_tracing_status_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_tracing_status_card.xml @@ -64,7 +64,6 @@ android:importantForAccessibility="no" android:src="@{icon}" android:visibility="@{FormatterHelper.formatVisibilityIcon(icon)}" - app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/tracing_status_card_header_headline" app:layout_constraintTop_toTopOf="parent" /> @@ -75,7 +74,7 @@ style="@style/subtitle" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" + android:layout_marginTop="@dimen/spacing_small" android:text="@{body}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/Corona-Warn-App/src/main/res/values/colors.xml b/Corona-Warn-App/src/main/res/values/colors.xml index fd5738ca3..0e311ca72 100644 --- a/Corona-Warn-App/src/main/res/values/colors.xml +++ b/Corona-Warn-App/src/main/res/values/colors.xml @@ -50,5 +50,7 @@ <color name="colorStableDark">#000000</color> <color name="colorStableMedium">#4D17191A</color> <color name="colorStableLight">#FFFFFF</color> + <color name="colorStableHairlineLight">#4DFFFFFF</color> + <color name="colorStableHairlineDark">#3317191A</color> </resources> diff --git a/Corona-Warn-App/src/main/res/values/dimens.xml b/Corona-Warn-App/src/main/res/values/dimens.xml index 5b3c0277c..e466e6663 100644 --- a/Corona-Warn-App/src/main/res/values/dimens.xml +++ b/Corona-Warn-App/src/main/res/values/dimens.xml @@ -1,5 +1,6 @@ <resources> <!-- spacing, used as reference for everything else --> + <dimen name="spacing_huge">56dp</dimen> <dimen name="spacing_large">48dp</dimen> <dimen name="spacing_medium">32dp</dimen> <dimen name="spacing_normal">24dp</dimen> @@ -8,19 +9,19 @@ <dimen name="spacing_mega_tiny">3dp</dimen> <!-- font sizes --> - <dimen name="font_largest">34sp</dimen> + <dimen name="font_huge">34sp</dimen> <dimen name="font_larger">24sp</dimen> <dimen name="font_large">18sp</dimen> <dimen name="font_normal">16sp</dimen> <dimen name="font_small">12sp</dimen> - <dimen name="font_button">14sp</dimen> <dimen name="font_title">20sp</dimen> <dimen name="font_line_spacing_extra">4sp</dimen> <!-- header height --> - <dimen name="header">40dp</dimen> + <dimen name="header">56dp</dimen> + <dimen name="header_main">40dp</dimen> <!-- elevation --> <dimen name="elevation_strong">10dp</dimen> @@ -64,6 +65,12 @@ <dimen name="icon_margin_risk_details_behavior">8dp</dimen> <dimen name="match_constraint">0dp</dimen> + <!-- Circle sizes --> + <dimen name="circle_big">@dimen/spacing_huge</dimen> + <dimen name="circle_small">23dp</dimen> + <dimen name="circle_large_width">10</dimen> + <dimen name="circle_small_width">5</dimen> + <!-- todo illustration sizes --> <!-- Submission --> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 200c7cfc6..23b3d6bf4 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -126,6 +126,13 @@ <xliff:g id="preference">preference_last_three_hours_from_server</xliff:g> </string> + <!-- #################################### + Generics + ###################################### --> + + <!-- XACT: back description for screen readers --> + <string name="accessibility_back">Zurück</string> + <!-- #################################### Menu ###################################### --> -- GitLab