From 0a0ad9beaaf6cf2118546e20a9c8673924b3713c Mon Sep 17 00:00:00 2001 From: Aditya Narayan Malik Date: Wed, 16 Apr 2025 15:11:32 +0530 Subject: [PATCH] NTP-7179 | Narayan | Send money linked accounts sorted by eligibility (#14417) --- .../sendmoney/viewmodel/SendMoneyViewModel.kt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt index d990e829d9..9230a50306 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt @@ -1265,6 +1265,13 @@ constructor( ) } + private fun getSortedLinkedAccounts( + linkedAccounts: List + ): List = + linkedAccounts.sortedWith( + compareByDescending { it.eligibilityState.isAccountEligible } + ) + private fun executeAutoSelectionOfBankAccount(preferredAccountId: String?) { if (selectedBankAccount.value.isNotNull()) { return @@ -1381,16 +1388,18 @@ constructor( } } - if (postProcessedLinkedAccounts.isEmpty()) { + val sortedPostProcessedLinkedAccounts = getSortedLinkedAccounts(postProcessedLinkedAccounts) + + if (sortedPostProcessedLinkedAccounts.isEmpty()) { updateBankAccountState(bankAccountsState = BankAccountsState.NoAccountLinked) } else { updateBankAccountState( bankAccountsState = - BankAccountsState.AccountList(accounts = postProcessedLinkedAccounts) + BankAccountsState.AccountList(accounts = sortedPostProcessedLinkedAccounts) ) } - return postProcessedLinkedAccounts + return sortedPostProcessedLinkedAccounts } private suspend fun updateAttributesForLinkedAccounts(