NTP-12345 | Loans Tab Webview Analytics Event (#13971)

This commit is contained in:
Sanjay P
2024-12-05 01:00:37 +05:30
committed by GitHub
parent 609f5c1eb0
commit 9a7fae2554
2 changed files with 29 additions and 0 deletions

View File

@@ -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 {

View File

@@ -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
}