From 1017cc57f29c5999d03eb856611e9a1b0b7cec00 Mon Sep 17 00:00:00 2001 From: Oliver Zimmerman <oezimmerman@gmail.com> Date: Wed, 25 Nov 2020 17:26:04 +0000 Subject: [PATCH] Changed TestResultCard view, less code and achieves the same result. --- .../coronawarnapp/ui/view/TestResultCard.kt | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultCard.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultCard.kt index 38861204b..68c98ebb1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultCard.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultCard.kt @@ -1,45 +1,32 @@ package de.rki.coronawarnapp.ui.view import android.content.Context -import android.text.SpannableString import android.util.AttributeSet -import android.view.View import androidx.appcompat.content.res.AppCompatResources.getDrawable import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.withStyledAttributes import de.rki.coronawarnapp.R import kotlinx.android.synthetic.main.view_test_result_card.view.* /** * The [TestResultCard] Displays the appropriate test result. */ -open class TestResultCard @JvmOverloads constructor( +class TestResultCard @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : ConstraintLayout(context, attrs, defStyleAttr) { init { - init(attrs) - } - - private fun init(attrs: AttributeSet?) { - View.inflate(context, R.layout.view_test_result_card, this) - val testResultCard = context.obtainStyledAttributes(attrs, R.styleable.TestResultCard) - try { - val headlineText = testResultCard.getString(R.styleable.TestResultCard_test_result_card_headline) - val contentText= SpannableString(testResultCard.getString(R.styleable.TestResultCard_test_result_card_content)) - val registeredAtText = testResultCard.getString(R.styleable.TestResultCard_test_result_card_registered_at_text) - val resultIconId = testResultCard.getResourceId(R.styleable.TestResultCard_test_result_card_status_icon, 0) + inflate(context, R.layout.view_test_result_card, this) + context.withStyledAttributes(attrs, R.styleable.TestResultCard) { + test_result_card_headline.text = getString(R.styleable.TestResultCard_test_result_card_headline) + test_result_card_content.text = getString(R.styleable.TestResultCard_test_result_card_content) + test_result_card_registered_at_text.text = + getString(R.styleable.TestResultCard_test_result_card_registered_at_text) + val resultIconId = getResourceId(R.styleable.TestResultCard_test_result_card_status_icon, 0) if (resultIconId != 0) { val drawable = getDrawable(context, resultIconId) test_result_card_status_icon.setImageDrawable(drawable) } - test_result_card_headline.text = headlineText - test_result_card_content.text = contentText - test_result_card_registered_at_text.text = registeredAtText - } finally { - testResultCard.recycle() } } } - - - -- GitLab