fix caching reading issue when refreshed without internet
All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 3s

This commit is contained in:
2026-05-23 21:49:27 +05:00
parent 219ca9bf00
commit ee9f98b720
6 changed files with 14 additions and 10 deletions

View File

@@ -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,

View File

@@ -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"),

View File

@@ -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,

View File

@@ -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

View File

@@ -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"),

View File

@@ -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"