From 9a7fae2554dc89ed6194e2dfd908129d17ac8e4a Mon Sep 17 00:00:00 2001 From: Sanjay P Date: Thu, 5 Dec 2024 01:00:37 +0530 Subject: [PATCH] NTP-12345 | Loans Tab Webview Analytics Event (#13971) --- .../ui/compose/loansTab/LoansTabHelper.kt | 6 +++++ .../ui/compose/loansTab/LoansTabScreen.kt | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabHelper.kt b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabHelper.kt index 6a904a7e94..e90a85736d 100644 --- a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabHelper.kt +++ b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabHelper.kt @@ -204,6 +204,12 @@ class LoansTabHelper { const val PL_WEB_APPLICANT_TYPE = "PL_WEB_APPLICANT_TYPE" const val PL_WEB_JOURNEY_BASE_URL = "PL_WEB_JOURNEY_BASE_URL" const val PL_LOANS_TAB_ANDROID_WEB = "pl_loans_tab_android_web" + const val LOANS_TAB_WEB_LITMUS_EXPERIMENT_SUCCESS = + "LOANS_TAB_WEB_LITMUS_EXPERIMENT_SUCCESS" + const val LOANS_TAB_WEB_LITMUS_EXPERIMENT_STATE = "LOANS_TAB_WEB_LITMUS_EXPERIMENT_STATE" + const val WEB_VIEW_BRIDGE_CTA_DATA_LISTENER = "WEB_VIEW_BRIDGE_CTA_DATA_LISTENER" + const val WEB_VIEW_BRIDGE_LOADER_VISBILITY_LISTENER = + "WEB_VIEW_BRIDGE_LOADER_VISBILITY_LISTENER" } enum class LoansTabExperiment { diff --git a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabScreen.kt b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabScreen.kt index 548db99654..92cf544aed 100644 --- a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabScreen.kt +++ b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/loansTab/LoansTabScreen.kt @@ -23,16 +23,22 @@ import com.navi.analytics.utils.NaviTrackEvent import com.navi.ap.common.models.NetworkResultState import com.navi.base.utils.orFalse import com.navi.common.ui.errorview.FullScreenErrorComposeView +import com.navi.common.utils.Constants.CTAData import com.navi.common.utils.Constants.ERROR_CODE import com.naviapp.common.web.NaviWebViewCallBack import com.naviapp.common.web.NaviWebViewCallBack.Companion.JAVA_SCRIPT_NAME_DEFAULT import com.naviapp.home.compose.activity.HomePageActivity import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.LOANS_TAB_WEB_LITMUS_EXPERIMENT_ERROR +import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.LOANS_TAB_WEB_LITMUS_EXPERIMENT_STATE +import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.LOANS_TAB_WEB_LITMUS_EXPERIMENT_SUCCESS import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.PL_LOANS_TAB_ANDROID_WEB +import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.WEB_VIEW_BRIDGE_CTA_DATA_LISTENER +import com.naviapp.home.dashboard.ui.compose.loansTab.LoansTabHelper.Companion.WEB_VIEW_BRIDGE_LOADER_VISBILITY_LISTENER import com.naviapp.home.dashboard.viewmodels.LoanTabVm import com.naviapp.home.dashboard.viewmodels.LoanTabVm.AuthTokenState import com.naviapp.home.viewmodel.SharedVM import com.naviapp.utils.Constants.PL_WEB_URL_HOST_NAME +import com.naviapp.utils.Constants.STATE @Composable fun LoansTabScreen( @@ -73,6 +79,15 @@ fun LoansTabScreen( LoansTabContentShimmer() } is NetworkResultState.Success -> { + NaviTrackEvent.trackEvent( + LOANS_TAB_WEB_LITMUS_EXPERIMENT_SUCCESS, + mapOf( + Pair( + LOANS_TAB_WEB_LITMUS_EXPERIMENT_STATE, + loansTabWebExperimentState.data?.result.orFalse().toString() + ) + ) + ) if (loansTabWebExperimentState.data?.result.orFalse()) { loansTabVm.setLoansTabExperiment(LoansTabHelper.LoansTabExperiment.WEB.name) if (loansTabVm.getAuthTokenStatus().not()) { @@ -189,12 +204,20 @@ private fun LoansTabWebView( ), lifecycleScope = lifecycleOwner.lifecycleScope, ctaDataListener = { ctaData -> + NaviTrackEvent.trackEvent( + WEB_VIEW_BRIDGE_CTA_DATA_LISTENER, + mapOf(Pair(CTAData, ctaData.toString())) + ) loansTabHelper.handleNavigation(activity, ctaData) }, handleException = { throwable -> loansTabHelper.handleException(throwable) }, hideOrShowScreenLoader = { + NaviTrackEvent.trackEvent( + WEB_VIEW_BRIDGE_LOADER_VISBILITY_LISTENER, + mapOf(Pair(STATE, it.toString())) + ) if (it.not()) { showLoaderState.value = false }