From acc1278b342b87c726cd5749880d578d3ab458f0 Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Wed, 20 May 2026 01:10:35 +0500 Subject: [PATCH] card history fix --- .../sh/sar/basedbank/api/bml/BmlLoginFlow.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/main/java/sh/sar/basedbank/api/bml/BmlLoginFlow.kt b/app/src/main/java/sh/sar/basedbank/api/bml/BmlLoginFlow.kt index 6c15d01..ad5c772 100644 --- a/app/src/main/java/sh/sar/basedbank/api/bml/BmlLoginFlow.kt +++ b/app/src/main/java/sh/sar/basedbank/api/bml/BmlLoginFlow.kt @@ -694,6 +694,26 @@ class BmlLoginFlow { } } + val unbilled = payload.optJSONObject("unbilled") + ?.optJSONArray("CardUnbillTxnDetails") + if (unbilled != null) { + for (i in 0 until unbilled.length()) { + val item = unbilled.getJSONObject(i) + result.add(Transaction( + id = "unbilled_${item.optString("TranApprCode")}_$i", + date = item.optString("DateTime"), + description = item.optString("TranDesc").trim(), + amount = item.optDouble("BillingAmount", 0.0), + currency = item.optString("BillingCcy", "MVR"), + counterpartyName = null, + reference = item.optString("TranApprCode").takeIf { it.isNotBlank() }, + accountNumber = accountNumber, + accountDisplayName = accountDisplayName, + source = "BML_CARD" + )) + } + } + val statement = payload.optJSONArray("cardstatement") if (statement != null) { for (i in 0 until statement.length()) {