From 40334486db1b4eea60c2dcf69e9914fc03599bc3 Mon Sep 17 00:00:00 2001 From: BMItter <46747780+BMItter@users.noreply.github.com> Date: Mon, 11 Jan 2021 14:35:28 +0100 Subject: [PATCH] CleanUp - Remove static app context access (EXPOSUREAPP-4506) (#2059) * Removed unused method formatEmptyString * Moved formatColorDivider into layout * Moved formatColorIcon into layout * Removed unused FormatterSettingsHelper * Removed leftovers of FormatterSettingsHelper * Removed static app context from formatColor * Removed unused formatDrawable * Removed app context from FormatterSubmissionHelper * Adjusted tests - formattersubmissionhelperTest * Removed app context from FormatterInformationLegalHelper * replaced dimen/match_constraint with 0dp * fix - base on current 1.11.x * fix for formattestTestResult call --- .../SubmissionSymptomCalendarFragment.kt | 34 +++---- .../SubmissionSymptomIntroductionFragment.kt | 24 ++--- .../ui/view/TestResultSectionView.kt | 2 +- .../util/formatter/FormatterHelper.kt | 77 +-------------- .../FormatterInformationLegalHelper.kt | 5 +- .../util/formatter/FormatterSettingsHelper.kt | 11 --- .../formatter/FormatterSubmissionHelper.kt | 94 +++++++++++-------- .../src/main/res/layout/fragment_settings.xml | 3 - .../main/res/layout/include_contact_form.xml | 4 +- .../src/main/res/layout/include_divider.xml | 2 +- .../res/layout/include_main_overview_row.xml | 2 +- .../main/res/layout/include_setting_row.xml | 2 - .../include_submission_country_item.xml | 2 +- ...nclude_submission_country_no_selection.xml | 4 +- .../include_submission_country_selector.xml | 4 +- .../res/layout/include_test_result_card.xml | 6 +- .../util/formatter/FormatterHelperTest.kt | 39 +------- .../FormatterSubmissionHelperTest.kt | 8 +- 18 files changed, 101 insertions(+), 222 deletions(-) delete mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt index 3e8aa5193..b19672226 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt @@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.submission.symptoms.calendar import android.content.res.ColorStateList import android.os.Bundle import android.view.View +import android.widget.Button import androidx.fragment.app.Fragment import androidx.navigation.fragment.navArgs import de.rki.coronawarnapp.R @@ -75,39 +76,21 @@ class SubmissionSymptomCalendarFragment : Fragment(R.layout.fragment_submission_ private fun updateButtons(symptomStart: Symptoms.StartOf?) { binding.apply { calendarButtonSevenDays.apply { - setTextColor( - formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.LastSevenDays) - ) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.LastSevenDays) - ) + handleColors(symptomStart, Symptoms.StartOf.LastSevenDays) setOnClickListener { viewModel.onLastSevenDaysStart() } } calendarButtonOneTwoWeeks.apply { - setTextColor( - formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo) - ) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo) - ) + handleColors(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo) setOnClickListener { viewModel.onOneToTwoWeeksAgoStart() } } calendarButtonMoreThanTwoWeeks.apply { - setTextColor( - formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks) - ) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks) - ) + handleColors(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks) setOnClickListener { viewModel.onMoreThanTwoWeeksStart() } } targetButtonVerify.apply { - setTextColor(formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.NoInformation)) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.NoInformation) - ) + handleColors(symptomStart, Symptoms.StartOf.NoInformation) setOnClickListener { viewModel.onNoInformationStart() } } @@ -118,6 +101,13 @@ class SubmissionSymptomCalendarFragment : Fragment(R.layout.fragment_submission_ } } + private fun Button.handleColors(symptomStart: Symptoms.StartOf?, state: Symptoms.StartOf) { + setTextColor(formatSymptomButtonTextStyleByState(context, symptomStart, state)) + backgroundTintList = ColorStateList.valueOf( + formatSymptomBackgroundButtonStyleByState(context, symptomStart, state) + ) + } + override fun onResume() { super.onResume() viewModel.onNewUserActivity() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt index 849f519a1..c44abf570 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt @@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.submission.symptoms.introduction import android.content.res.ColorStateList import android.os.Bundle import android.view.View +import android.widget.Button import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSubmissionSymptomIntroBinding @@ -59,26 +60,15 @@ class SubmissionSymptomIntroductionFragment : Fragment(R.layout.fragment_submiss private fun updateButtons(symptomIndication: Symptoms.Indication?) { binding.targetButtonApply.apply { - setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.POSITIVE)) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.POSITIVE) - ) + handleColors(symptomIndication, Symptoms.Indication.POSITIVE) setOnClickListener { viewModel.onPositiveSymptomIndication() } } binding.targetButtonReject.apply { - setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.NEGATIVE)) - backgroundTintList = ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.NEGATIVE) - ) + handleColors(symptomIndication, Symptoms.Indication.NEGATIVE) setOnClickListener { viewModel.onNegativeSymptomIndication() } } binding.targetButtonVerify.apply { - setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.NO_INFORMATION)) - backgroundTintList = - ColorStateList.valueOf( - formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.NO_INFORMATION) - ) - + handleColors(symptomIndication, Symptoms.Indication.NO_INFORMATION) setOnClickListener { viewModel.onNoInformationSymptomIndication() } } @@ -95,6 +85,12 @@ class SubmissionSymptomIntroductionFragment : Fragment(R.layout.fragment_submiss } } + private fun Button.handleColors(symptomIndication: Symptoms.Indication?, state: Symptoms.Indication) { + setTextColor(formatSymptomButtonTextStyleByState(context, symptomIndication, state)) + backgroundTintList = + ColorStateList.valueOf(formatSymptomBackgroundButtonStyleByState(context, symptomIndication, state)) + } + override fun onResume() { super.onResume() viewModel.onNewUserActivity() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt index 967fa630a..f7432d233 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt @@ -86,7 +86,7 @@ constructor( DeviceUIState.PAIRED_POSITIVE, DeviceUIState.PAIRED_POSITIVE_TELETAN, - DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(uiState)) + DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(context, uiState)) else -> SpannableString("") } } 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 13fee0bf0..fe7a2558a 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 @@ -3,32 +3,12 @@ package de.rki.coronawarnapp.util.formatter import android.content.Context -import android.graphics.drawable.Drawable import android.text.Spanned import android.view.View -import de.rki.coronawarnapp.CoronaWarnApplication -import de.rki.coronawarnapp.R import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat import de.rki.coronawarnapp.util.html.HtmlParser /*Style*/ -/** - * Formats drawable resource of item to be displayed depending on flag provided - * - * @param value - * @param drawableTrue - * @param drawableFalse - * @return - */ -fun formatDrawable(value: Boolean, drawableTrue: Int, drawableFalse: Int): Drawable? { - val appContext = CoronaWarnApplication.getAppContext() - return if (value) { - appContext.getDrawable(drawableTrue) - } else { - appContext.getDrawable(drawableFalse) - } -} - /** * Formats color resource of item to be displayed depending on flag provided * @@ -37,12 +17,11 @@ fun formatDrawable(value: Boolean, drawableTrue: Int, drawableFalse: Int): Drawa * @param colorFalse * @return */ -fun formatColor(value: Boolean, colorTrue: Int, colorFalse: Int): Int { - val appContext = CoronaWarnApplication.getAppContext() +fun formatColor(context: Context, value: Boolean, colorTrue: Int, colorFalse: Int): Int { return if (value) { - appContext.getColorCompat(colorTrue) + context.getColorCompat(colorTrue) } else { - appContext.getColorCompat(colorFalse) + context.getColorCompat(colorFalse) } } @@ -99,56 +78,6 @@ fun formatVisibilityText(text: String?): Int = formatVisibility(text != null && */ fun formatVisibilityText(text: CharSequence?): Int = formatVisibility(text != null && text != "") -/*Text*/ -/** - * Formats text resource to be displayed depending on flag provided - * - * @param value - * @param stringTrue - * @param stringFalse - * @return - */ -fun formatText(value: Boolean?, stringTrue: Int, stringFalse: Int?): String { - val appContext = CoronaWarnApplication.getAppContext() - return if (value == true) { - appContext.getString(stringTrue) - } else { - if (stringFalse != null) { - appContext.getString(stringFalse) - } else "" - } -} - -/** - * Formats color to be displayed depending on color id provided with default option - * - * @param color - * @return - */ -fun formatColorIcon(color: Int?): Int { - val appContext = CoronaWarnApplication.getAppContext() - return color ?: appContext.getColorCompat(R.color.colorAccentTintIcon) -} - fun parseHtmlFromAssets(context: Context, path: String): Spanned { return HtmlParser(context.assets).parseByAssetPath(path) } - -/** - * Formats divider color depending on resource value - * Returns colorHairline as default - * - * @param color - * @return - */ -fun formatColorDivider(context: Context, color: Int?): Int { - return color ?: context.getColorCompat(R.color.colorHairline) -} - -/** - * Returns string if it isn't null, otherwise it returns an empty String - * - * @param string - * @return String - */ -fun formatEmptyString(string: String?): String = string ?: "" diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt index a7097681e..6a8e220b8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt @@ -2,8 +2,8 @@ package de.rki.coronawarnapp.util.formatter +import android.content.Context import android.view.View -import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.ui.information.InformationLegalPresentation import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider @@ -15,9 +15,10 @@ import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider */ fun formatVisibilityLanguageBased( + context: Context, isContactFormView: Boolean? ): Int { - InformationLegalPresentation(DefaultSystemInfoProvider(CoronaWarnApplication.getAppContext())).apply { + InformationLegalPresentation(DefaultSystemInfoProvider(context)).apply { if (!showBackupLinkToContactForm) { return if (isContactFormView == true) { View.VISIBLE diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt deleted file mode 100644 index a71078e11..000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JvmName("FormatterSettingsHelper") - -package de.rki.coronawarnapp.util.formatter - -import de.rki.coronawarnapp.R - -fun formatStatus(value: Boolean): String = formatText( - value, - R.string.settings_on, - R.string.settings_off -) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt index 469b2cd4d..9202734af 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt @@ -9,7 +9,6 @@ import android.text.SpannableString import android.text.SpannableStringBuilder import android.text.style.ForegroundColorSpan import android.view.View -import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R import de.rki.coronawarnapp.submission.Symptoms import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat @@ -21,38 +20,54 @@ import java.util.Date import java.util.Locale fun formatSymptomButtonTextStyleByState( + context: Context, currentState: Symptoms.Indication?, state: Symptoms.Indication? ): Int = - formatColor(currentState == state, + formatColor( + context, + currentState == state, R.color.colorCalendarTextSelected, - R.color.colorCalendarTextUnselected) + R.color.colorCalendarTextUnselected + ) fun formatSymptomButtonTextStyleByState( + context: Context, currentState: Symptoms.StartOf?, state: Symptoms.StartOf? ): Int = - formatColor(currentState == state, + formatColor( + context, + currentState == state, R.color.colorCalendarTextSelected, - R.color.colorCalendarTextUnselected) + R.color.colorCalendarTextUnselected + ) fun formatSymptomBackgroundButtonStyleByState( + context: Context, currentState: Symptoms.Indication?, state: Symptoms.Indication? ): Int = - formatColor(currentState == state, + formatColor( + context, + currentState == state, R.color.colorCalendarBackgroundSelected, - R.color.colorCalendarBackgroundUnselected) + R.color.colorCalendarBackgroundUnselected + ) fun formatSymptomBackgroundButtonStyleByState( + context: Context, currentState: Symptoms.StartOf?, state: Symptoms.StartOf? ): Int = - formatColor(currentState == state, + formatColor( + context, + currentState == state, R.color.colorCalendarBackgroundSelected, - R.color.colorCalendarBackgroundUnselected) + R.color.colorCalendarBackgroundUnselected + ) -fun formatTestResultStatusText(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): String = +fun formatTestResultStatusText(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): String = uiState.withSuccess(R.string.test_result_card_status_invalid) { when (it) { DeviceUIState.PAIRED_NEGATIVE -> R.string.test_result_card_status_negative @@ -60,9 +75,9 @@ fun formatTestResultStatusText(uiState: NetworkRequestWrapper<DeviceUIState, Thr DeviceUIState.PAIRED_POSITIVE_TELETAN -> R.string.test_result_card_status_positive else -> R.string.test_result_card_status_invalid } - }.let { CoronaWarnApplication.getAppContext().getString(it) } + }.let { context.getString(it) } -fun formatTestResultStatusColor(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int = +fun formatTestResultStatusColor(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int = uiState.withSuccess(R.color.colorTextSemanticRed) { when (it) { DeviceUIState.PAIRED_NEGATIVE -> R.color.colorTextSemanticGreen @@ -70,39 +85,43 @@ fun formatTestResultStatusColor(uiState: NetworkRequestWrapper<DeviceUIState, Th DeviceUIState.PAIRED_POSITIVE_TELETAN -> R.color.colorTextSemanticRed else -> R.color.colorTextSemanticRed } - }.let { CoronaWarnApplication.getAppContext().getColorCompat(it) } + }.let { context.getColorCompat(it) } -fun formatTestResult(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Spannable { - val appContext = CoronaWarnApplication.getAppContext() +fun formatTestResult( + context: Context, + uiState: NetworkRequestWrapper<DeviceUIState, Throwable>? +): Spannable { return SpannableStringBuilder() - .append(appContext.getString(R.string.test_result_card_virus_name_text)) + .append(context.getString(R.string.test_result_card_virus_name_text)) .append("\n") .append( - formatTestResultStatusText(uiState), - ForegroundColorSpan(formatTestResultStatusColor(uiState)), + formatTestResultStatusText(context, uiState), + ForegroundColorSpan(formatTestResultStatusColor(context, uiState)), Spannable.SPAN_EXCLUSIVE_INCLUSIVE ) } -fun formatTestResultCardContent(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Spannable { +fun formatTestResultCardContent( + context: Context, + uiState: NetworkRequestWrapper<DeviceUIState, Throwable>? +): Spannable { return uiState.withSuccess(SpannableString("")) { - val appContext = CoronaWarnApplication.getAppContext() when (it) { DeviceUIState.PAIRED_NO_RESULT -> - SpannableString(appContext.getString(R.string.test_result_card_status_pending)) + SpannableString(context.getString(R.string.test_result_card_status_pending)) DeviceUIState.PAIRED_ERROR, DeviceUIState.PAIRED_REDEEMED -> - SpannableString(appContext.getString(R.string.test_result_card_status_invalid)) + SpannableString(context.getString(R.string.test_result_card_status_invalid)) DeviceUIState.PAIRED_POSITIVE, DeviceUIState.PAIRED_POSITIVE_TELETAN, - DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(uiState)) + DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(context, uiState)) else -> SpannableString("") } } } -fun formatTestStatusIcon(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Drawable? { +fun formatTestStatusIcon(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Drawable? { return uiState.withSuccess(R.drawable.ic_test_result_illustration_invalid) { when (it) { DeviceUIState.PAIRED_NO_RESULT -> R.drawable.ic_test_result_illustration_pending @@ -113,13 +132,12 @@ fun formatTestStatusIcon(uiState: NetworkRequestWrapper<DeviceUIState, Throwable DeviceUIState.PAIRED_REDEEMED -> R.drawable.ic_test_result_illustration_invalid else -> R.drawable.ic_test_result_illustration_invalid } - }.let { CoronaWarnApplication.getAppContext().getDrawable(it) } + }.let { context.getDrawable(it) } } -fun formatTestResultRegisteredAtText(registeredAt: Date?): String { - val appContext = CoronaWarnApplication.getAppContext() - return appContext.getString(R.string.test_result_card_registered_at_text) - .format(registeredAt?.toUIFormat(appContext)) +fun formatTestResultRegisteredAtText(context: Context, registeredAt: Date?): String { + return context.getString(R.string.test_result_card_registered_at_text) + .format(registeredAt?.toUIFormat(context)) } fun formatTestResultPendingStepsVisible(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int = @@ -141,24 +159,22 @@ private fun resolveNameToDrawableId(drawableName: String, ctx: Context): Int? { return if (drawableId == 0) null else drawableId } -fun formatCountryIsoTagToFlagDrawable(isoTag: String?): Drawable? { - val appContext = CoronaWarnApplication.getAppContext() - +fun formatCountryIsoTagToFlagDrawable(context: Context, isoTag: String?): Drawable? { val countryName = isoTag?.let { Locale("", it).getDisplayCountry(Locale.ENGLISH).toLowerCase(Locale.ENGLISH) } val countryId = - countryName?.let { resolveNameToDrawableId("ic_submission_country_flag_$it", appContext) } + countryName?.let { resolveNameToDrawableId("ic_submission_country_flag_$it", context) } return if (countryId != null) - appContext.getDrawable(countryId) + context.getDrawable(countryId) else - appContext.getDrawable(R.drawable.ic_submission_country_flag_ireland) + context.getDrawable(R.drawable.ic_submission_country_flag_ireland) } -fun formatCountrySelectCardColor(isActive: Boolean?): Int = - formatColor(isActive == true, R.color.colorTextSemanticNeutral, R.color.card_dark) +fun formatCountrySelectCardColor(context: Context, isActive: Boolean?): Int = + formatColor(context, isActive == true, R.color.colorTextSemanticNeutral, R.color.card_dark) -fun formatCountrySelectCardTextColor(isActive: Boolean?): Int = - formatColor(isActive == true, R.color.colorTextEmphasizedButton, R.color.colorTextPrimary1) +fun formatCountrySelectCardTextColor(context: Context, isActive: Boolean?): Int = + formatColor(context, isActive == true, R.color.colorTextEmphasizedButton, R.color.colorTextPrimary1) diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml index ef1a77ba6..7ecd203b6 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml @@ -3,9 +3,6 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> <data> - - <import type="de.rki.coronawarnapp.util.formatter.FormatterSettingsHelper" /> - <variable name="tracingState" type="de.rki.coronawarnapp.ui.settings.start.SettingsTracingState" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_form.xml b/Corona-Warn-App/src/main/res/layout/include_contact_form.xml index 0af8211cc..0f3654c19 100644 --- a/Corona-Warn-App/src/main/res/layout/include_contact_form.xml +++ b/Corona-Warn-App/src/main/res/layout/include_contact_form.xml @@ -28,7 +28,7 @@ android:linksClickable="true" android:text="@string/information_legal_subtitle_contact_label" android:textColorLink="@color/colorTextTint" - android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(true)}" + android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, true)}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -42,7 +42,7 @@ android:linksClickable="true" android:text="@string/information_legal_subtitle_contact_form_non_en_de" android:textColorLink="@color/colorTextTint" - android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(false)}" + android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, false)}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/information_legal_contact_form" /> 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 fdea55725..770870aba 100644 --- a/Corona-Warn-App/src/main/res/layout/include_divider.xml +++ b/Corona-Warn-App/src/main/res/layout/include_divider.xml @@ -22,7 +22,7 @@ <View android:layout_width="match_parent" android:layout_height="@dimen/card_divider" - android:background="@{FormatterHelper.formatColorDivider(context,dividerColor)}" + android:background="@{(dividerColor != 0) ? dividerColor : @color/colorHairline}" 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_main_overview_row.xml b/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml index 15111ca19..92a9e4363 100644 --- a/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml +++ b/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml @@ -43,7 +43,7 @@ android:layout_height="@dimen/icon_size_main_card" android:importantForAccessibility="no" android:src="@{icon}" - android:tint="@{FormatterHelper.formatColorIcon(iconTint)}" + android:tint="@{(iconTint != 0) ? iconTint : @color/colorAccentTintIcon}" android:visibility="@{FormatterHelper.formatVisibilityIcon(icon)}" app:layout_constraintBottom_toBottomOf="@+id/main_overview_row_subtitle" app:layout_constraintStart_toStartOf="@+id/guideline_icon" diff --git a/Corona-Warn-App/src/main/res/layout/include_setting_row.xml b/Corona-Warn-App/src/main/res/layout/include_setting_row.xml index dd85e35a4..518db34a1 100644 --- a/Corona-Warn-App/src/main/res/layout/include_setting_row.xml +++ b/Corona-Warn-App/src/main/res/layout/include_setting_row.xml @@ -6,8 +6,6 @@ <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> - <import type="de.rki.coronawarnapp.util.formatter.FormatterSettingsHelper" /> - <variable name="icon" type="android.graphics.drawable.Drawable" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml index c630f0f7d..473c57b56 100644 --- a/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml +++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml @@ -25,7 +25,7 @@ android:layout_marginStart="@dimen/spacing_small" android:importantForAccessibility="no" android:scaleType="centerInside" - android:src="@{FormatterSubmissionHelper.formatCountryIsoTagToFlagDrawable(submissionCountry.countryCode), default=@drawable/ic_submission_country_flag_ireland}" + android:src="@{FormatterSubmissionHelper.formatCountryIsoTagToFlagDrawable(context, submissionCountry.countryCode), default=@drawable/ic_submission_country_flag_ireland}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml index f1738b390..507fd3e07 100644 --- a/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml +++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml @@ -16,7 +16,7 @@ style="@style/GreyCard" android:layout_width="match_parent" android:layout_height="wrap_content" - android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(active)}" + android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(context, active)}" android:focusable="true"> <TextView @@ -27,7 +27,7 @@ android:layout_marginVertical="@dimen/spacing_normal" android:focusable="true" android:text="@string/submission_country_no_selection_headline" - android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(active)}" + android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(context, active)}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toStartOf="@+id/guideline_start" diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml index b083159cb..b5d1e495d 100644 --- a/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml +++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml @@ -24,7 +24,7 @@ style="@style/GreyCard" android:layout_width="match_parent" android:layout_height="wrap_content" - android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(active)}" + android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(context, active)}" android:focusable="true"> <TextView @@ -35,7 +35,7 @@ android:layout_marginTop="@dimen/spacing_normal" android:focusable="true" android:text="@string/submission_country_selector_headline" - android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(active)}" + android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(context, active)}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toStartOf="@+id/guideline_start" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml index 002e98008..54e8aaf5b 100644 --- a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml @@ -41,7 +41,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="@dimen/spacing_small" android:layout_marginBottom="@dimen/spacing_normal" - android:text="@{FormatterSubmissionHelper.formatTestResultCardContent(deviceUIState)}" + android:text="@{FormatterSubmissionHelper.formatTestResultCardContent(context, deviceUIState)}" app:layout_constraintBottom_toTopOf="@id/test_result_card_registered_at_text" app:layout_constraintEnd_toStartOf="@id/test_result_card_status_icon" app:layout_constraintStart_toStartOf="parent" @@ -52,7 +52,7 @@ android:id="@+id/test_result_card_status_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(deviceUIState)}" + android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(context, deviceUIState)}" android:importantForAccessibility="no" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -65,7 +65,7 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" android:layout_marginEnd="@dimen/spacing_small" - android:text="@{FormatterSubmissionHelper.formatTestResultRegisteredAtText(registerDate)}" + android:text="@{FormatterSubmissionHelper.formatTestResultRegisteredAtText(context, registerDate)}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/test_result_card_status_icon" app:layout_constraintStart_toStartOf="parent" diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt index dcd531d5c..f5ac06d0c 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt @@ -56,27 +56,11 @@ class FormatterHelperTest { assertThat(result, `is`((formatVisibility(bValue)))) } - private fun formatTextBase(bValue: Boolean?, iResult: Int) { - every { context.getString(1) } returns "true string" - every { context.getString(2) } returns "false string" - - val result = formatText(value = bValue, stringTrue = 1, stringFalse = 2) - assertThat(result, `is`((CoronaWarnApplication.getAppContext().getString(iResult)))) - } - - private fun formatDrawableBase(bValue: Boolean) { - every { context.getDrawable(1) } returns drawable - every { context.getDrawable(2) } returns drawable - - val result = formatDrawable(value = bValue, drawableTrue = 1, drawableFalse = 2) - assertThat(result, `is`((equalTo(drawable)))) - } - private fun formatColorBase(bValue: Boolean, iColor: Int) { every { context.getColorCompat(1) } returns 1 every { context.getColorCompat(2) } returns 2 - val result = formatColor(value = bValue, colorTrue = 1, colorFalse = 2) + val result = formatColor(context = context, value = bValue, colorTrue = 1, colorFalse = 2) assertThat(result, `is`((context.getColorCompat(iColor)))) } @@ -119,27 +103,6 @@ class FormatterHelperTest { formatVisibilityTextBase(bValue = false, sText = "") } - @Test - fun formatText() { - // Check formatText when value true - formatTextBase(bValue = true, iResult = 1) - - // Check formatText when value false - formatTextBase(bValue = false, iResult = 2) - - // Check formatText when value false - formatTextBase(bValue = null, iResult = 2) - } - - @Test - fun formatDrawable() { - // Check formatDrawable when value true - formatDrawableBase(bValue = true) - - // Check formatDrawable when value false - formatDrawableBase(bValue = false) - } - @Test fun formatColorFalse() { // Check formatColor when value true diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt index cca5bb6e7..287e0f47d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt @@ -81,7 +81,7 @@ class FormatterSubmissionHelperTest { oUiState: NetworkRequestWrapper<DeviceUIState, Throwable>?, iResult: String ) { - val result = formatTestResultStatusText(uiState = oUiState) + val result = formatTestResultStatusText(context = context, uiState = oUiState) assertThat(result, `is`(iResult)) } @@ -89,12 +89,12 @@ class FormatterSubmissionHelperTest { oUiState: NetworkRequestWrapper<DeviceUIState, Throwable>?, iResult: Int ) { - val result = formatTestResultStatusColor(uiState = oUiState) + val result = formatTestResultStatusColor(context = context, uiState = oUiState) assertThat(result, `is`(iResult)) } private fun formatTestStatusIconBase(oUiState: NetworkRequestWrapper.RequestSuccessful<DeviceUIState, Throwable>?) { - val result = formatTestStatusIcon(uiState = oUiState) + val result = formatTestStatusIcon(context = context, uiState = oUiState) assertThat(result, `is`(drawable)) } @@ -134,7 +134,7 @@ class FormatterSubmissionHelperTest { ) } returns spannableStringBuilder3 - val result = formatTestResult(uiState = oUiState) + val result = formatTestResult(context = context, uiState = oUiState) assertThat(result, `is`(spannableStringBuilder3 as Spannable?)) } -- GitLab