diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/AccountsAdapter.kt b/app/src/main/java/sh/sar/basedbank/ui/home/AccountsAdapter.kt
index 0cdb475..11a23eb 100644
--- a/app/src/main/java/sh/sar/basedbank/ui/home/AccountsAdapter.kt
+++ b/app/src/main/java/sh/sar/basedbank/ui/home/AccountsAdapter.kt
@@ -3,13 +3,12 @@ package sh.sar.basedbank.ui.home
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
-import android.graphics.Color
-import android.graphics.drawable.GradientDrawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
+import sh.sar.basedbank.R
import sh.sar.basedbank.api.mib.MibAccount
import sh.sar.basedbank.databinding.ItemAccountBinding
import sh.sar.basedbank.databinding.ItemCardBinding
@@ -119,13 +118,7 @@ class AccountsAdapter(
private inner class CardViewHolder(private val binding: ItemCardBinding) :
RecyclerView.ViewHolder(binding.root) {
fun bind(account: MibAccount) {
- val brand = cardBrand(account.accountTypeName)
- binding.tvCardBrand.text = brand.label
- binding.tvCardBrand.background = GradientDrawable().apply {
- shape = GradientDrawable.RECTANGLE
- cornerRadius = 100f
- setColor(Color.parseColor(brand.color))
- }
+ binding.ivCardBrand.setImageResource(cardBrandIcon(account.accountTypeName))
binding.tvCardName.text = account.accountBriefName
binding.tvCardNumber.text = account.accountNumber
binding.layoutCardBalance.visibility = View.VISIBLE
@@ -170,14 +163,12 @@ class AccountsAdapter(
}
}
- private data class Brand(val label: String, val color: String)
-
- private fun cardBrand(productName: String): Brand = when {
+ private fun cardBrandIcon(productName: String): Int = when {
productName.contains("AMEX", ignoreCase = true) ||
- productName.contains("AMERICAN EXPRESS", ignoreCase = true) -> Brand("AMEX", "#016FD0")
- productName.contains("VISA", ignoreCase = true) -> Brand("VISA", "#1A1F71")
- productName.contains("MASTERCARD", ignoreCase = true) -> Brand("MC", "#FF5F00")
- else -> Brand("CARD", "#555555")
+ productName.contains("AMERICAN EXPRESS", ignoreCase = true) -> R.drawable.americanexpress
+ productName.contains("VISA", ignoreCase = true) -> R.drawable.visa
+ productName.contains("MASTERCARD", ignoreCase = true) -> R.drawable.mastercard
+ else -> R.drawable.ic_nav_card
}
}
}
diff --git a/app/src/main/res/drawable/americanexpress.xml b/app/src/main/res/drawable/americanexpress.xml
new file mode 100644
index 0000000..8631858
--- /dev/null
+++ b/app/src/main/res/drawable/americanexpress.xml
@@ -0,0 +1,10 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/mastercard.xml b/app/src/main/res/drawable/mastercard.xml
new file mode 100644
index 0000000..19ba1ed
--- /dev/null
+++ b/app/src/main/res/drawable/mastercard.xml
@@ -0,0 +1,10 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/visa.xml b/app/src/main/res/drawable/visa.xml
new file mode 100644
index 0000000..d65592f
--- /dev/null
+++ b/app/src/main/res/drawable/visa.xml
@@ -0,0 +1,10 @@
+
+
+
+
diff --git a/app/src/main/res/layout/item_card.xml b/app/src/main/res/layout/item_card.xml
index 67e85aa..f0c4e7c 100644
--- a/app/src/main/res/layout/item_card.xml
+++ b/app/src/main/res/layout/item_card.xml
@@ -14,18 +14,14 @@
android:gravity="center_vertical"
android:foreground="?attr/selectableItemBackground">
-
-
+
+ android:scaleType="fitCenter"
+ android:contentDescription="Card brand" />