diff --git a/app/src/main/java/sh/sar/basedbank/api/bml/BmlAccountClient.kt b/app/src/main/java/sh/sar/basedbank/api/bml/BmlAccountClient.kt index 12c9d69..bc0e809 100644 --- a/app/src/main/java/sh/sar/basedbank/api/bml/BmlAccountClient.kt +++ b/app/src/main/java/sh/sar/basedbank/api/bml/BmlAccountClient.kt @@ -181,7 +181,7 @@ class BmlAccountClient { bank = "BML", profileName = profileName, profileType = cardProfileType, - cifType = productCode, + productCode = productCode, accountNumber = accountNumber, accountBriefName = item.optString("alias").ifBlank { product }, currencyName = currency, diff --git a/app/src/main/java/sh/sar/basedbank/api/mib/MibLoginFlow.kt b/app/src/main/java/sh/sar/basedbank/api/mib/MibLoginFlow.kt index 80553ff..6091916 100644 --- a/app/src/main/java/sh/sar/basedbank/api/mib/MibLoginFlow.kt +++ b/app/src/main/java/sh/sar/basedbank/api/mib/MibLoginFlow.kt @@ -161,7 +161,7 @@ class MibLoginFlow(private val credentialStore: CredentialStore) { bank = "MIB", profileName = profile.name, profileType = profile.profileType, - cifType = profile.cifType, + productCode = profile.cifType, accountNumber = a.optString("accountNumber"), accountBriefName = a.optString("accountBriefName"), currencyName = a.optString("currencyName"), @@ -318,7 +318,7 @@ class MibLoginFlow(private val credentialStore: CredentialStore) { bank = "MIB", profileName = profile.name, profileType = profile.profileType, - cifType = profile.cifType, + productCode = profile.cifType, accountNumber = a.optString("accountNumber"), accountBriefName = a.optString("accountBriefName"), currencyName = a.optString("currencyName"), diff --git a/app/src/main/java/sh/sar/basedbank/api/models/BankModels.kt b/app/src/main/java/sh/sar/basedbank/api/models/BankModels.kt index 81213be..edf673a 100644 --- a/app/src/main/java/sh/sar/basedbank/api/models/BankModels.kt +++ b/app/src/main/java/sh/sar/basedbank/api/models/BankModels.kt @@ -8,7 +8,7 @@ data class BankAccount( val bank: String, // "MIB", "BML", "FAHIPAY" — set by the login flow val profileName: String, val profileType: String, - val cifType: String = "", // MIB: human-readable profile category (e.g. "Individual", "Sole Propr"); empty for other banks + val productCode: String = "", // bank-specific product/subtype code: MIB: CIF type label ("Individual", "Sole Propr"); BML: card product code ("C8201", "C1007") val accountNumber: String, val accountBriefName: String, val currencyName: String, 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 01b5fb7..642d7bc 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 @@ -72,7 +72,7 @@ class AccountsAdapter( else -> account.bank } val profileLabel = when (account.bank) { - "MIB" -> account.cifType.ifBlank { account.profileName } + "MIB" -> account.productCode.ifBlank { account.profileName } else -> account.profileName } return if (profileLabel.isNotBlank()) "$profileLabel · $bankName" else bankName diff --git a/app/src/main/java/sh/sar/basedbank/util/AccountCache.kt b/app/src/main/java/sh/sar/basedbank/util/AccountCache.kt index 31d11df..2407235 100644 --- a/app/src/main/java/sh/sar/basedbank/util/AccountCache.kt +++ b/app/src/main/java/sh/sar/basedbank/util/AccountCache.kt @@ -19,7 +19,7 @@ object AccountCache { put("bank", acc.bank) put("profileName", acc.profileName) put("profileType", acc.profileType) - put("cifType", acc.cifType) + put("productCode", acc.productCode) put("accountNumber", acc.accountNumber) put("accountBriefName", acc.accountBriefName) put("currencyName", acc.currencyName) @@ -44,6 +44,7 @@ object AccountCache { arr.put(JSONObject().apply { put("profileName", acc.profileName) put("profileType", acc.profileType) + put("productCode", acc.productCode) put("accountNumber", acc.accountNumber) put("accountBriefName", acc.accountBriefName) put("currencyName", acc.currencyName) @@ -55,6 +56,7 @@ object AccountCache { put("statusDesc", acc.statusDesc) put("loginTag", acc.loginTag) put("internalId", acc.internalId) + put("profileId", acc.profileId) }) } context.getSharedPreferences(PREFS, Context.MODE_PRIVATE) @@ -72,6 +74,7 @@ object AccountCache { bank = "BML", profileName = o.optString("profileName"), profileType = o.optString("profileType"), + productCode = o.optString("productCode", ""), accountNumber = o.optString("accountNumber"), accountBriefName = o.optString("accountBriefName"), currencyName = o.optString("currencyName"), @@ -83,7 +86,8 @@ object AccountCache { statusDesc = o.optString("statusDesc"), profileImageHash = null, loginTag = o.optString("loginTag"), - internalId = o.optString("internalId", "") + internalId = o.optString("internalId", ""), + profileId = o.optString("profileId", "") ) } } catch (_: Exception) { emptyList() } @@ -162,7 +166,7 @@ object AccountCache { bank = o.optString("bank", "MIB"), profileName = o.optString("profileName"), profileType = o.optString("profileType"), - cifType = o.optString("cifType", ""), + productCode = o.optString("productCode", ""), accountNumber = o.optString("accountNumber"), accountBriefName = o.optString("accountBriefName"), currencyName = o.optString("currencyName"), diff --git a/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlCardParser.kt b/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlCardParser.kt index a3deb9f..26b27c6 100644 --- a/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlCardParser.kt +++ b/app/src/main/java/sh/sar/basedbank/util/bmlapi/BmlCardParser.kt @@ -6,10 +6,10 @@ object BmlCardParser { /** * Returns the asset path for the card image. - * The product code is stored in [BankAccount.cifType] for BML Card accounts. + * The product code is stored in [BankAccount.productCode] for BML Card accounts. */ fun cardImageAsset(account: BankAccount): String = - productCodeToAsset(account.cifType) + productCodeToAsset(account.productCode) fun productCodeToAsset(productCode: String): String = when (productCode) { "C8201" -> "cards/bml/master_prepaid.png"