NTP-65280 | Shiv Natani | clickstream experiment fix (#16220)
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user