NTP-8740 Cycs Bottomsheet change revert (#13309)

This commit is contained in:
Aparna Vadlamani
2024-10-23 19:41:37 +05:30
committed by GitHub
parent bbd15e3e2d
commit 8d947eead4
2 changed files with 26 additions and 4 deletions

View File

@@ -15,6 +15,17 @@ class CycsAnalytics private constructor() {
fun onLanded() {
NaviTrackEvent.trackEventOnClickStream(eventName = "cycs_landing_screen")
}
fun onLoadingPhaseStatus(status: Boolean, bottomSheetState: String) {
NaviTrackEvent.trackEventOnClickStream(
eventName = "cycs_loader_status",
eventValues =
mapOf(
Pair("isLoadingPhaseCompleted", status.toString()),
Pair("bottomSheetState", bottomSheetState)
)
)
}
}
inner class Consent {
@@ -23,7 +34,7 @@ class CycsAnalytics private constructor() {
}
fun onConsentScreenRendered(duration: Long) {
NaviTrackEvent.trackEvent(
NaviTrackEvent.trackEventOnClickStream(
eventName = "cycs_consent_screen_render_duration",
eventValues = mapOf(Pair("duration", duration.toString()))
)
@@ -66,7 +77,7 @@ class CycsAnalytics private constructor() {
}
fun onScoreScreenRendered(duration: Long) {
NaviTrackEvent.trackEvent(
NaviTrackEvent.trackEventOnClickStream(
eventName = "cycs_score_screen_render_duration",
eventValues = mapOf(Pair("duration", duration.toString()))
)

View File

@@ -29,6 +29,7 @@ import com.navi.cycs.CycsScreen
import com.navi.cycs.LandingScreenState
import com.navi.cycs.common.handler.CycsMqttEventHandler
import com.navi.cycs.common.handler.InitActionsHandler
import com.navi.cycs.common.model.BottomSheetStateHolder
import com.navi.cycs.common.model.CycsBottomSheetState
import com.navi.cycs.common.model.ScreenDefinitionState
import com.navi.cycs.common.ui.CycsBottomSheet
@@ -153,6 +154,7 @@ fun LandingScreen(
viewModel = viewModel,
screenName = viewModel.currentScreen.value,
screenDefinitionState = screenDefinitionState,
bottomSheetState = bottomSheetStateHolder,
hasLoadingEnded = hasLoadingEnded,
hasNotificationPermission = cycsActivity.hasNotificationPermission(),
)
@@ -163,6 +165,7 @@ private fun ScreenToShow(
viewModel: CycsMainViewModel,
screenName: LandingScreenState,
screenDefinitionState: ScreenDefinitionState,
bottomSheetState: BottomSheetStateHolder,
hasLoadingEnded: MutableState<Boolean>,
hasNotificationPermission: Boolean,
cycsAnalytics: CycsAnalytics = CycsAnalytics.INSTANCE
@@ -177,7 +180,9 @@ private fun ScreenToShow(
when (targetState) {
false -> {
Loader(
isReadyToStopLoader = { isReadyToStopLoader(screenDefinitionState) }
isReadyToStopLoader = {
isReadyToStopLoader(screenDefinitionState, bottomSheetState)
}
) {
hasLoadingEnded.value = it
}
@@ -247,10 +252,16 @@ private fun ScreenToShow(
private fun isReadyToStopLoader(
screenDefinitionState: ScreenDefinitionState,
bottomSheetState: BottomSheetStateHolder,
cycsAnalytics: CycsAnalytics = CycsAnalytics.INSTANCE
): Boolean {
val isLoadingPhaseCompleted =
(screenDefinitionState is ScreenDefinitionState.Success) ||
(screenDefinitionState is ScreenDefinitionState.Error)
val isBottomSheetHidden = bottomSheetState.bottomSheetState == CycsBottomSheetState.Hidden
cycsAnalytics
.Landing()
.onLoadingPhaseStatus(isLoadingPhaseCompleted, bottomSheetState.bottomSheetState.name)
return isLoadingPhaseCompleted
return isLoadingPhaseCompleted && isBottomSheetHidden
}