diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/TransferFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/TransferFragment.kt index bf2f125..e65bb25 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/TransferFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/TransferFragment.kt @@ -342,18 +342,7 @@ class TransferFragment : Fragment() { val colorHex = bundle.getString(ContactPickerSheetFragment.KEY_COLOR) ?: "#607D8B" val imageHash = bundle.getString(ContactPickerSheetFragment.KEY_IMAGE_HASH) prefillToDirectly(accountNumber, label, subtitle, colorHex, imageHash) - if (selectedAccount == null) { - val defaultNum = CredentialStore(requireContext()).getDefaultAccountNumber() - if (defaultNum != null) { - val defaultAcc = viewModel.accounts.value?.firstOrNull { it.accountNumber == defaultNum } - if (defaultAcc != null) { - selectedAccount = defaultAcc - updateAmountPrefix(defaultAcc) - showFromCard(defaultAcc) - updateTransferButton() - } - } - } + selectDefaultSourceIfNone() } binding.btnPickContact.setOnClickListener { @@ -793,9 +782,18 @@ class TransferFragment : Fragment() { colorHex = contact.bankColor, imageHash = contact.customerImgHash ) + selectDefaultSourceIfNone() } } + /** Picks the user's default account as the source when a recipient is chosen before any source. */ + private fun selectDefaultSourceIfNone() { + if (selectedAccount != null) return + val defaultNum = CredentialStore(requireContext()).getDefaultAccountNumber() ?: return + val defaultAcc = viewModel.accounts.value?.firstOrNull { it.accountNumber == defaultNum } ?: return + selectSourceAccount(defaultAcc) + } + private fun lookupAccount() { if (selectedAccount == null) { val defaultNum = CredentialStore(requireContext()).getDefaultAccountNumber()