diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt index 03b116e6e9..4917bd7c17 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt @@ -61,6 +61,7 @@ import com.navi.pay.utils.NAVI_PAY_UPI_URI_KEY import com.navi.pay.utils.SAVINGS_ONLY_ENABLED_ACCOUNTS import com.navi.pay.utils.getDisplayableAmount import com.navi.pay.utils.isAccountIdOfTypeUpiLite +import com.navi.payment.nativepayment.NaviPaymentAnalyticScreenName import com.navi.payment.nativepayment.activity.WebPaymentActivity import com.navi.payment.nativepayment.components.MPSLoadingShimmer import com.navi.payment.nativepayment.components.MPSOnboardedView @@ -74,6 +75,7 @@ import com.navi.payment.paymentscreen.model.NaviPayProcessPayload import com.navi.payment.paymentscreen.model.TransactionStatus import com.navi.payment.turbocheckout.ui.PayNowState import com.navi.payment.utils.Constants.PAYMENT_ORDER_REFERNCE_ID +import com.navi.payment.utils.Constants.SCREEN_NAME import com.navi.payment.utils.Constants.TRANSACTION_REFERENCE_ID import com.navi.payment.utils.getUpiTransationStatus import com.navi.payment.utils.getWebPaymentStatusIntent @@ -351,7 +353,12 @@ fun WebPaymentMainScreen( } LaunchedEffect(key1 = Unit) { - webPaymentViewModel.sendEvent("NaviPMT_WebPaymentScreen_Landed") + webPaymentViewModel.sendEvent( + "NaviPMT_WebPaymentScreen_Landed", + mapOf( + SCREEN_NAME to NaviPaymentAnalyticScreenName.WEB_PAYMENT_SCREEN.screenName, + ) + ) if (coinEarnBannerDetails.isNotNull()) { webPaymentViewModel.sendEvent( "NaviPMT_WebPaymentScreen_CoinEarnBannerViewed", diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/MPSViewModel.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/MPSViewModel.kt index 443c9aef0f..1f447191e8 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/MPSViewModel.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/MPSViewModel.kt @@ -574,7 +574,8 @@ constructor( (paymentDataProvider.get(SCREEN_TYPE) as? String) == NaviPaymentScreenType.MINI_PAYMENT_SCREEN.name ) - .first { + .first() + .let { it.filter { account -> account.accountId.isAccountIdOfTypeUpiLite() } .forEach { it.eligibilityState = diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSBaseViewModel.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSBaseViewModel.kt index ac9c22dee1..d65ccfd434 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSBaseViewModel.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSBaseViewModel.kt @@ -30,6 +30,7 @@ import com.navi.payment.paymentscreen.model.ValidateVPAResponse import com.navi.payment.paymentscreen.utils.PaymentScreenUtil import com.navi.payment.turbocheckout.model.ValidateVpaRequest import com.navi.payment.utils.Constants.DELAY_FOR_HIDING_KEYBOARD +import com.navi.payment.utils.Constants.LINKED_ACCOUNT_SYNC_DELAY import com.navi.payment.utils.getPMSMetricInfo import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.FlowPreview @@ -103,6 +104,7 @@ abstract class NPSBaseViewModel( } private suspend fun getNaviUpiConnectedAccounts() { + delay(LINKED_ACCOUNT_SYNC_DELAY) pmsLinkedAccountUseCase.execute().collectLatest { naviUpiConnectedAccounts = it handleNaviUpiConnectedAccountsUpdate() diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSViewModel.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSViewModel.kt index a9d66fa508..1d69a3b021 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSViewModel.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/NPSViewModel.kt @@ -407,7 +407,8 @@ constructor( (paymentDataProvider.get(SCREEN_TYPE) as? String) == NaviPaymentScreenType.FULL_PAYMENT_SCREEN.name ) - .first { + .first() + .let { it.filter { account -> account.accountId.isAccountIdOfTypeUpiLite() } .forEach { it.eligibilityState = diff --git a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt index cbc7b82792..886925d19e 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt @@ -150,6 +150,7 @@ object Constants { const val DEBIT_CREDIT_DEFAULT_HEADING = "Debit / credit card" const val DELAY_FOR_HIDING_KEYBOARD = 150L + const val LINKED_ACCOUNT_SYNC_DELAY = 1000L const val TRANSACTION_STATUS_RETRY_COUNT = 5 const val INIT_REPAYMENT = "INIT_REPAYMENT" const val PAYMENT_STATUS = "PAYMENT_STATUS"