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