From bc678d26ad2ee96a2d117fb66f8b0776be0dab2e Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Wed, 20 May 2026 00:53:08 +0500 Subject: [PATCH] fixes for bml contact addd drop down and loading contacts --- .../sar/basedbank/ui/home/AddContactSheetFragment.kt | 11 +++++++---- .../java/sh/sar/basedbank/ui/home/HomeActivity.kt | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/AddContactSheetFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/AddContactSheetFragment.kt index 3713f25..b5e39aa 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/AddContactSheetFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/AddContactSheetFragment.kt @@ -98,10 +98,13 @@ class AddContactSheetFragment : BottomSheetDialogFragment() { } } val store = CredentialStore(requireContext()) - for ((loginId, _) in app.bmlSessions) { - val ownerName = store.loadBmlUserProfile(loginId)?.fullName?.takeIf { it.isNotBlank() } ?: loginId - val profileName = app.bmlAccounts.firstOrNull { it.loginTag == "bml_$loginId" }?.profileName ?: "" - list.add(DestinationOption("BML · $ownerName", isBml = true, bmlLoginId = loginId, subtitle = profileName)) + for ((loginId, profiles) in app.bmlProfilesMap) { + val fullName = store.loadBmlUserProfile(loginId)?.fullName?.takeIf { it.isNotBlank() } + for (profile in profiles) { + if (app.bmlSessions.containsKey(profile.profileId)) { + list.add(DestinationOption("BML · ${fullName ?: profile.name}", isBml = true, bmlLoginId = profile.profileId, subtitle = profile.name)) + } + } } return list } diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt b/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt index 97a225f..0138826 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt @@ -509,6 +509,8 @@ fun applyNavLabelVisibility() { } } + if (savedProfiles.isNotEmpty()) app.bmlProfilesMap[loginId] = savedProfiles + // Also try legacy single-profile session token (pre-multi-profile installs) if (savedProfiles.isEmpty()) { val legacyToken = store.loadBmlSession(loginId)