NTP-18408 | PS | fix empty screen (#14067)

This commit is contained in:
Prakhar Saxena
2024-12-11 18:47:17 +05:30
committed by GitHub
parent a8366b395b
commit becc3702b6
5 changed files with 15 additions and 3 deletions

View File

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

View File

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

View File

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

View File

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

View File

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