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 3919621..c9df329 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
@@ -125,6 +125,14 @@ class AccountsAdapter(
binding.tvAccountNumber.text = display.number
binding.tvAccountType.text = display.typeLabel
binding.tvBalance.text = if (hideAmounts) maskAmount(display.balance) else display.balance
+ val blocked = display.blockedBalance
+ if (blocked != null) {
+ val shown = if (hideAmounts) maskAmount(blocked) else blocked
+ binding.tvBlocked.text = binding.root.context.getString(R.string.account_blocked_label, shown)
+ binding.tvBlocked.visibility = View.VISIBLE
+ } else {
+ binding.tvBlocked.visibility = View.GONE
+ }
binding.btnTransfer.setOnClickListener { onTransferClick?.invoke(account) }
binding.root.setOnClickListener { onAccountClick(account) }
binding.root.setOnLongClickListener {
diff --git a/app/src/main/java/sh/sar/basedbank/util/AccountListDisplay.kt b/app/src/main/java/sh/sar/basedbank/util/AccountListDisplay.kt
index 647d04b..060a814 100644
--- a/app/src/main/java/sh/sar/basedbank/util/AccountListDisplay.kt
+++ b/app/src/main/java/sh/sar/basedbank/util/AccountListDisplay.kt
@@ -5,6 +5,7 @@ data class AccountListDisplay(
val number: String,
val typeLabel: String,
val balance: String,
+ val blockedBalance: String? = null, // null when zero or not applicable
val isCard: Boolean = false,
val cardBrandIcon: Int = 0, // drawable res, only meaningful if isCard
val statusLabel: String? = null // null = active; shown as status pill if set
diff --git a/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlDashboardParser.kt b/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlDashboardParser.kt
index a6e747b..47c2f31 100644
--- a/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlDashboardParser.kt
+++ b/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlDashboardParser.kt
@@ -26,11 +26,13 @@ object BmlDashboardParser {
statusLabel = if (isActive) null else account.statusDesc
)
} else {
+ val blocked = account.blockedAmount.toDoubleOrNull() ?: 0.0
AccountListDisplay(
- name = account.accountBriefName,
- number = account.accountNumber,
- typeLabel = productLabel(account.accountTypeName),
- balance = listBalance(account)
+ name = account.accountBriefName,
+ number = account.accountNumber,
+ typeLabel = productLabel(account.accountTypeName),
+ balance = listBalance(account),
+ blockedBalance = if (blocked > 0.0) "${account.currencyName} ${account.blockedAmount}" else null
)
}
}
@@ -52,9 +54,9 @@ object BmlDashboardParser {
}
}
- /** Balance shown in the accounts list — ledger (working) balance for BML CASA. */
+ /** Balance shown in the accounts list — available balance, consistent with transfer/contact picker. */
fun listBalance(account: BankAccount): String =
- "${account.currencyName} ${account.currentBalance}"
+ "${account.currencyName} ${account.availableBalance}"
fun cardBrandIcon(productName: String): Int = when {
productName.contains("AMEX", ignoreCase = true) ||
diff --git a/app/src/main/res/layout/item_account.xml b/app/src/main/res/layout/item_account.xml
index 99cdbc8..6a5a514 100644
--- a/app/src/main/res/layout/item_account.xml
+++ b/app/src/main/res/layout/item_account.xml
@@ -72,6 +72,15 @@
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textColor="?attr/colorOnSurface" />
+
+
Accounts
Cards
Available Balance
+ %1$s blocked
Quick Transfer