From c39806138349ea7185ce5ec97eb14f14a70f902f Mon Sep 17 00:00:00 2001 From: Varun Jain Date: Thu, 15 May 2025 14:39:31 +0530 Subject: [PATCH] NTP-57115 | Added folio number in cart request (#16177) Co-authored-by: sayedowaisali --- .../com/navi/amc/common/model/cart/CartRequest.kt | 1 + .../amc/portfolio/fragments/PortfolioFragment.kt | 12 +++++++++++- .../src/main/java/com/navi/amc/utils/AmcAnalytics.kt | 9 +++++++-- .../src/main/java/com/navi/amc/utils/CartUtils.kt | 2 ++ .../src/main/java/com/navi/amc/utils/Constant.kt | 1 + 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/model/cart/CartRequest.kt b/android/navi-amc/src/main/java/com/navi/amc/common/model/cart/CartRequest.kt index 15d0cac0ae..04d0748063 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/model/cart/CartRequest.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/model/cart/CartRequest.kt @@ -30,4 +30,5 @@ data class CartOrderDetails( @SerializedName("bankAccountRefId") val bankAccountRefId: String? = null, @SerializedName("mandateType") val mandateType: String? = null, @SerializedName("deletedSipReferenceId") val deletedSipReferenceId: String? = null, + @SerializedName("folioNumber") val folioNumber: String? = null, ) diff --git a/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/PortfolioFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/PortfolioFragment.kt index ec5441bf89..27ad9a84d2 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/PortfolioFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/portfolio/fragments/PortfolioFragment.kt @@ -143,6 +143,10 @@ class PortfolioFragment() : AmcBaseFragment() { ?.let { it1 -> it.tabData.tabs?.elementAt(it1) } ?.key if (defaultSelectedKey != null && viewModel.selectedFundTab.value.isNullOrEmpty()) { + sendEvent( + AmcAnalytics.PORTFOLIO_DEFAULT_FILTER, + hashMapOf(Pair(AmcAnalytics.PORTFOLIO_RETURN_FILTER, defaultSelectedKey)), + ) viewModel.setSelectedFundTab(defaultSelectedKey) } it.tabData?.tabs?.let { refreshFundTabs(it) } @@ -211,7 +215,13 @@ class PortfolioFragment() : AmcBaseFragment() { binding.fundTabs.setProperties( chipList, shouldHideAfterClick = false, - action = { key -> viewModel.setSelectedFundTab(key) }, + action = { key -> + viewModel.setSelectedFundTab(key) + sendEvent( + AmcAnalytics.PORTFOLIO_FILTER_CLICKED, + hashMapOf(Pair(AmcAnalytics.PORTFOLIO_RETURN_FILTER, key)), + ) + }, ) binding.fundTabs.hideCancelButton() updateFundListOnTabSelection() diff --git a/android/navi-amc/src/main/java/com/navi/amc/utils/AmcAnalytics.kt b/android/navi-amc/src/main/java/com/navi/amc/utils/AmcAnalytics.kt index ae9770638e..3c94f7e826 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/utils/AmcAnalytics.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/utils/AmcAnalytics.kt @@ -10,6 +10,7 @@ package com.navi.amc.utils import androidx.annotation.Keep import com.navi.amc.fundbuy.viewmodel.FundBuyFlowViewModel import com.navi.amc.utils.Constant.FREQUENCY +import com.navi.amc.utils.Constant.INITIAL_SOURCE import com.navi.amc.utils.Constant.SIP_REFERENCE_ID import com.navi.amc.utils.Constant.SIP_TYPE import com.navi.analytics.utils.NaviTrackEvent @@ -312,8 +313,11 @@ object AmcAnalytics { const val AMC_ON_OTP_VERIFICATION_SUCCESS = "amc_on_otp_verification_success" const val INVESTMENT_TAB = "investment_tab" - const val FTUE_FUND_SELECT_CLICK = "ftue_fund_select_click" - const val PAYMENT_SCREEN_HELPER_EVENT = "payment_sdk_args_event" + const val FTUE_FUND_SELECT_CLICK = "amc_ftue_fund_select_click" + const val PAYMENT_SCREEN_HELPER_EVENT = "amc_payment_sdk_args_event" + const val PORTFOLIO_FILTER_CLICKED = "amc_portfolio_filter_clicked" + const val PORTFOLIO_RETURN_FILTER = "amc_portfolio_return_filter" + const val PORTFOLIO_DEFAULT_FILTER = "amc_portfolio_default_filter" fun sendEvent( eventsData: GenericAnalyticsData?, @@ -379,6 +383,7 @@ object AmcAnalytics { Pair(PAY_METHOD, transactionFunnelEventModel?.paymentMethod.orEmpty()), Pair(Constant.SIP_DATE, transactionFunnelEventModel?.sipDate.orEmpty()), Pair(SIP_REFERENCE_ID, transactionFunnelEventModel?.sipReferenceId.orEmpty()), + Pair(INITIAL_SOURCE, transactionFunnelEventModel?.initialSource.orEmpty()), ) attributes.putAll(funnelAttributes) attributes[SOURCE_SCREEN_NAME] = TempStorageHelper.getPreviousScreenName().toString() diff --git a/android/navi-amc/src/main/java/com/navi/amc/utils/CartUtils.kt b/android/navi-amc/src/main/java/com/navi/amc/utils/CartUtils.kt index d43b9cdc6e..bfd83bd436 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/utils/CartUtils.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/utils/CartUtils.kt @@ -13,6 +13,7 @@ import com.navi.amc.common.model.cart.CartItem import com.navi.amc.common.model.cart.CartOrderDetails import com.navi.amc.common.model.cart.CartRequest import com.navi.amc.fundbuy.models.AutoPaySetupRequestData +import com.navi.amc.utils.AmcAnalytics.FOLIO_NUMBER import com.navi.amc.utils.AmcAnalytics.ISIN import com.navi.amc.utils.AmcAnalytics.ORDER_TYPE import com.navi.amc.utils.Constant.AMOUNT @@ -54,6 +55,7 @@ fun createCartRequest(arguments: Bundle?): CartRequest { if (it.containsKey(REDEEM_ALL)) it.getBoolean(REDEEM_ALL) else null }, mandateType = arguments?.getString(Constant.MANDATE_TYPE), + folioNumber = arguments?.getString(FOLIO_NUMBER), ), ) ) diff --git a/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt b/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt index 73c7f4f1df..99ae5f0833 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt @@ -251,4 +251,5 @@ object Constant { const val AP_SOURCE_SCREEN = "applicant.sourceScreenName" const val AP_ISIN = "applicant.isin" const val JOURNEY_SEGMENT = "journey_segment" + const val INITIAL_SOURCE = "initialSource" }