diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayConstants.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayConstants.kt index d839e8727a..8793b75994 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayConstants.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayConstants.kt @@ -564,6 +564,7 @@ val NAVI_PAY_CONFIG_LIST = UPI_SETTING_NON_ONBOARDING_CONFIG, UPI_DEFAULT_ACCOUNT_SELECTION_CONFIG, CHECK_BALANCE_TRANSACTION_ENTRY_POINT_CONFIG, + UPI_PSP_SELECTION_CONFIG, ) enum class NaviPayExperimentVariantType(val value: String) { diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/sharedviewmodel/NaviCheckoutViewModelV2.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/sharedviewmodel/NaviCheckoutViewModelV2.kt index 43c9042f82..e36cb2bfcd 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/sharedviewmodel/NaviCheckoutViewModelV2.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/sharedviewmodel/NaviCheckoutViewModelV2.kt @@ -23,6 +23,7 @@ import com.navi.base.utils.orElse import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue import com.navi.base.utils.orZero +import com.navi.common.extensions.or import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.NAVI_PMT_ONE_CLICK_CHECKOUT_API_TIMEOUT_MILLIS import com.navi.common.network.models.isSuccessWithData @@ -236,16 +237,14 @@ constructor( pmsLinkedAccountUseCase.clear() viewModelScope.safeLaunch { val isOneClickCheckoutExperienceEnabled = isOneClickCheckoutExperienceEnabled() - naviPaymentAnalytics.onScreenLanded( - experimentVariantName = state.value.experimentVariantName - ) + naviPaymentAnalytics.onScreenLanded(experimentVariantName = experimentVariant) if (isOneClickCheckoutExperienceEnabled) { linkedAccountChangeObserver() } else { naviPaymentAnalytics.onFallBackToPreviousFlow( isOneCliCkCheckoutExperimentEnabled = false, baseAttributes = paymentDataProvider.getAnalyticsParams(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) _state.update { state.value.copy(isGetMethodsInProgress = false) } } @@ -283,7 +282,7 @@ constructor( naviPaymentAnalytics.onBankAccountClicked( selectedBankAccountId = state.value.selectedAccount?.accountId.orEmpty(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) updateIsBankAccountClicked(isBankAccountClicked = true) triggerTokenGeneration(event.generateToken) @@ -309,7 +308,7 @@ constructor( naviPaymentAnalytics.onOtherMethodsCtaClicked( selectedBankAccountId = state.value.selectedAccount?.accountId.orEmpty(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) updateOtherMethodsCtaLoader(isLoaderEnabled = true) triggerTokenGeneration(event.generateToken) @@ -568,7 +567,7 @@ constructor( naviPaymentAnalytics.onFallBackToPreviousFlow( isGetMethodsFailure = true, baseAttributes = paymentDataProvider.getAnalyticsParams(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) } } @@ -577,7 +576,7 @@ constructor( naviPaymentAnalytics.onFallBackToPreviousFlow( isTimeoutCancellationException = true, baseAttributes = paymentDataProvider.getAnalyticsParams(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) } _state.update { state.value.copy(isGetMethodsInProgress = false) } @@ -764,7 +763,7 @@ constructor( screenLandToClickTime = (System.currentTimeMillis() - screenLandTime).toString(), isMpinSetOfSelectedAccount = linkedAccountEntity.isMPinSet, ctaAction = state.value.ctaAction.toString(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) pspManagerAnalytics.onSetPinWithPspManager( @@ -818,7 +817,7 @@ constructor( screenLandToClickTime = (System.currentTimeMillis() - screenLandTime).toString(), isMpinSetOfSelectedAccount = state.value.selectedAccount?.isMPinSet.orFalse(), ctaAction = state.value.ctaAction.toString(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) state.value.selectedAccount?.let { val isPaymentFromLiteAccount = it.accountId.isAccountIdOfTypeUpiLite() @@ -1209,7 +1208,7 @@ constructor( isZeroConnectedAccounts = true, isTimeoutCancellationException = false, baseAttributes = paymentDataProvider.getAnalyticsParams(), - experimentVariantName = state.value.experimentVariantName, + experimentVariantName = experimentVariant, ) return } @@ -1250,7 +1249,10 @@ constructor( litmusExperimentsUseCase .execute(experimentName = LITMUS_EXPERIMENT_NAVI_PMT_ONE_CLICK_CHECKOUT) ?.variant - experimentVariant = oneClickCheckoutExperimentVariant?.name.orEmpty() + experimentVariant = + oneClickCheckoutExperimentVariant + ?.name + .or(Constants.OneClickCheckoutExperiment.CHEVRON_DOWN.experimentName) val oneClickCheckoutExperiencePayloadJson = (oneClickCheckoutExperimentVariant?.payload?.get("value") as? String)?.let { JSONObject(it).optJSONObject(EXPERIMENT_DATA)