diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt b/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt index 957ca5ad15..863c12588e 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt @@ -56,6 +56,7 @@ import com.navi.amc.utils.AmcAnalytics.sendTxnFunnelEvent import com.navi.amc.utils.Constant import com.navi.amc.utils.Constant.AUTOPAY_TYPE import com.navi.amc.utils.Constant.AUTO_PAY_CALLBACK_ERROR +import com.navi.amc.utils.Constant.CART_EXPERIMENT_ENABLED import com.navi.amc.utils.Constant.CHECKER_DATA import com.navi.amc.utils.Constant.CHECKER_TYPE import com.navi.amc.utils.Constant.DELETED_SIP_REFERENCE_ID @@ -82,6 +83,7 @@ import com.navi.amc.utils.toNavigateAmcModule import com.navi.base.model.ActionData import com.navi.base.model.CtaData import com.navi.base.model.LineItem +import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.FAILURE import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull @@ -463,19 +465,25 @@ class CheckerActivity : BasePaymentActivity() { intent.getStringExtra(FLOW_TYPE).equals(OTP_FLOW_TYPE_SIP_AUTOPAY) && response.data?.status == FIREBASE_SUCCESS ) { - val sipDetailsData = - SipDetailsData( - scheme = intent?.getStringExtra(AmcAnalytics.ISIN), - amount = intent?.getStringExtra(Constant.AMOUNT), - frequency = intent?.getStringExtra(Constant.FREQUENCY), - sipDate = intent?.getStringExtra(Constant.SIP_DATE), - paymentMode = intent?.getStringExtra(Constant.PAYMENT_MODE), - orderId = intent?.getStringExtra(ORDER_ID), - autoPayChecked = - intent.getStringExtra(FLOW_TYPE) == OTP_FLOW_TYPE_SIP_AUTOPAY, - deletedSipReferenceId = intent?.getStringExtra(DELETED_SIP_REFERENCE_ID), - ) - viewModel.postSipDetails(sipDetailsData) + if (PreferenceManager.getBooleanPreference(CART_EXPERIMENT_ENABLED)) { + val sipRefId = intent?.getStringExtra(SIP_REFERENCE_ID) + viewModel.getSipSuccessPage(sipRefId) + } else { + val sipDetailsData = + SipDetailsData( + scheme = intent?.getStringExtra(AmcAnalytics.ISIN), + amount = intent?.getStringExtra(Constant.AMOUNT), + frequency = intent?.getStringExtra(Constant.FREQUENCY), + sipDate = intent?.getStringExtra(Constant.SIP_DATE), + paymentMode = intent?.getStringExtra(Constant.PAYMENT_MODE), + orderId = intent?.getStringExtra(ORDER_ID), + autoPayChecked = + intent.getStringExtra(FLOW_TYPE) == OTP_FLOW_TYPE_SIP_AUTOPAY, + deletedSipReferenceId = + intent?.getStringExtra(DELETED_SIP_REFERENCE_ID), + ) + viewModel.postSipDetails(sipDetailsData) + } } else if ( intent.getStringExtra(FLOW_TYPE) in listOf(OTP_FLOW_TYPE_SIP_MANUAL, SETUP_SIP_MANUAL) && diff --git a/android/navi-amc/src/main/java/com/navi/amc/fundbuy/fragments/PaymentSummaryFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/fundbuy/fragments/PaymentSummaryFragment.kt index f4df15116b..d3082f7747 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/fundbuy/fragments/PaymentSummaryFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/fundbuy/fragments/PaymentSummaryFragment.kt @@ -46,6 +46,7 @@ import com.navi.amc.utils.Constant.BYPASS_OTP import com.navi.amc.utils.Constant.FLOW_TYPE import com.navi.amc.utils.Constant.FLOW_TYPE_SIP_PURCHASE import com.navi.amc.utils.Constant.LUMPSUM +import com.navi.amc.utils.Constant.NEW_FLOW_TYPE import com.navi.amc.utils.Constant.ORDER_HEADER_SUBTITLE import com.navi.amc.utils.Constant.ORDER_HEADER_TITLE import com.navi.amc.utils.Constant.ORDER_ID @@ -439,6 +440,8 @@ class PaymentSummaryFragment : AmcBaseFragment() { footer.nextCta?.parameters?.firstOrNull { it.key == ORDER_TYPE }?.value.orEmpty() val flowType = footer.nextCta?.parameters?.firstOrNull { it.key == FLOW_TYPE }?.value.orEmpty() + val newFlowType = + footer.nextCta?.parameters?.firstOrNull { it.key == NEW_FLOW_TYPE }?.value.orEmpty() buyFlowVM.apply { fundName = arguments?.getString(ORDER_HEADER_TITLE).orEmpty() fundId = arguments?.getString(ISIN) @@ -456,6 +459,7 @@ class PaymentSummaryFragment : AmcBaseFragment() { putString(ORDER_HEADER_SUBTITLE, orderHeaderSubtitle) putString(ORDER_TYPE, orderType) putString(FLOW_TYPE, flowType) + putString(NEW_FLOW_TYPE, newFlowType) } updateLoadingState(true) viewModel.initiateSipPayment( diff --git a/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/SipModifyFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/SipModifyFragment.kt index 41268130bb..dffaf245dc 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/SipModifyFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/SipModifyFragment.kt @@ -61,6 +61,7 @@ import com.navi.amc.utils.Constant.GET_SIP_SUMMARY_BOTTOMSHEET import com.navi.amc.utils.Constant.MANDATE_OPTED_IN import com.navi.amc.utils.Constant.MANDATE_OPTED_OUT import com.navi.amc.utils.Constant.MODIFY_BOTTOM_SHEET +import com.navi.amc.utils.Constant.NEW_FLOW_TYPE import com.navi.amc.utils.Constant.ORDER_HEADER_SUBTITLE import com.navi.amc.utils.Constant.PAUSED import com.navi.amc.utils.Constant.RESUMED @@ -374,6 +375,7 @@ class SipModifyFragment : AmcBaseFragment(), FooterInteractionListener { putString(ORDER_TYPE, getParameterValue(ORDER_TYPE)) putString(FLOW_TYPE, getParameterValue(FLOW_TYPE)) putString(ISIN, getParameterValue(ISIN)) + putString(NEW_FLOW_TYPE, getParameterValue(NEW_FLOW_TYPE)) } updateLoadingState(isLoading = true, autoPayCard = false) viewModel.initiateSipPayment(sipDetailsData, cartRequest = createCartRequest(arguments))