Merge pull request #4593 from medici/home_page_events
add events on home page
This commit is contained in:
@@ -2176,6 +2176,34 @@ class NaviAnalytics private constructor() {
|
||||
fun onStoriesIconDisplayed() =
|
||||
NaviTrackEvent.trackEvent("NaviApp_Homepage_StoriesWidget_View")
|
||||
|
||||
fun onHomePageCreated() {
|
||||
NaviTrackEvent.trackEvent(
|
||||
"G_Homepage_OnCreated",
|
||||
mapOf(Pair("atTimeStamp", System.currentTimeMillis().toString()))
|
||||
)
|
||||
}
|
||||
|
||||
fun onHomePageApiCall() {
|
||||
NaviTrackEvent.trackEvent(
|
||||
"G_Homepage_Home_Api_Start",
|
||||
mapOf(Pair("atTimeStamp", System.currentTimeMillis().toString()))
|
||||
)
|
||||
}
|
||||
|
||||
fun onHomePageApiResponse() {
|
||||
NaviTrackEvent.trackEvent(
|
||||
"G_Homepage_Home_Api_End",
|
||||
mapOf(Pair("atTimeStamp", System.currentTimeMillis().toString()))
|
||||
)
|
||||
}
|
||||
|
||||
fun onDataDisplayed() {
|
||||
NaviTrackEvent.trackEvent(
|
||||
"G_Homepage_Ui_Rendered",
|
||||
mapOf(Pair("atTimeStamp", System.currentTimeMillis().toString()))
|
||||
)
|
||||
}
|
||||
|
||||
fun onInAppSharePopupDisplayed() = NaviTrackEvent.trackEvent("in_app_share_popup_shown")
|
||||
|
||||
fun onCardViewEvent(widgetId: String?, widgetName: String?, rank: Int) {
|
||||
|
||||
@@ -125,6 +125,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
showFullScreenError = true,
|
||||
container = R.id.container
|
||||
)
|
||||
naviAnalyticsEventTracker.onHomePageCreated()
|
||||
initUI()
|
||||
initListener()
|
||||
initObservers()
|
||||
@@ -138,7 +139,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (isDataNeedToRefresh) {
|
||||
fetchCards()
|
||||
fetchCards(true)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,12 +160,12 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
com.navi.common.utils.Constants.OFFER_VALUE
|
||||
).orEmpty()
|
||||
PreferenceManager.setBooleanPreference(Constants.OFFER_VIEWED, true)
|
||||
viewModel.fetchHomeItems(queryMap, density, connectivityType)
|
||||
fetchCards(false, queryMap, density, connectivityType)
|
||||
} ?: kotlin.run {
|
||||
viewModel.fetchHomeItems()
|
||||
fetchCards()
|
||||
}
|
||||
} else {
|
||||
viewModel.fetchHomeItems()
|
||||
fetchCards()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,9 +199,16 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
}
|
||||
}
|
||||
|
||||
private fun fetchCards() {
|
||||
showLoader()
|
||||
viewModel.fetchHomeItems()
|
||||
private fun fetchCards(
|
||||
showLoader: Boolean = false, queryMap: HashMap<String, String>? = null,
|
||||
density: String? = null,
|
||||
connectivityType: String? = null
|
||||
) {
|
||||
if (showLoader) {
|
||||
showLoader()
|
||||
}
|
||||
naviAnalyticsEventTracker.onHomePageApiCall()
|
||||
viewModel.fetchHomeItems(queryMap, density, connectivityType)
|
||||
}
|
||||
|
||||
private fun initUI() {
|
||||
@@ -211,7 +219,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
binding.shimmerLayout.visibility = View.VISIBLE
|
||||
binding.recycleView.visibility = View.GONE
|
||||
binding.shimmerLayout.startShimmer()
|
||||
viewModel.fetchHomeItems()
|
||||
fetchCards()
|
||||
fetchStories()
|
||||
}
|
||||
|
||||
@@ -254,6 +262,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
}
|
||||
}
|
||||
viewModel.homeItems.observe(viewLifecycleOwner) { response ->
|
||||
naviAnalyticsEventTracker.onHomePageApiResponse()
|
||||
hideLoader()
|
||||
binding.shimmerLayout.stopShimmer()
|
||||
binding.shimmerLayout.visibility = View.GONE
|
||||
@@ -315,6 +324,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
}
|
||||
}
|
||||
}
|
||||
naviAnalyticsEventTracker.onDataDisplayed()
|
||||
}
|
||||
viewModel.errorResponse.observe(viewLifecycleOwner) {
|
||||
binding.shimmerLayout.stopShimmer()
|
||||
@@ -326,18 +336,18 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
// TODO: update based on the notification mediums - need to re-look into existing
|
||||
// contracts too
|
||||
PreferenceManager.setBooleanPreference(WHATSAPP_COMMUNICATION_ENABLED, true)
|
||||
fetchCards()
|
||||
fetchCards(true)
|
||||
}
|
||||
|
||||
paymentVM.hidePaymentStatus.observeNonNull(viewLifecycleOwner) { fetchCards() }
|
||||
paymentVM.hidePaymentStatus.observeNonNull(viewLifecycleOwner) { fetchCards(true) }
|
||||
|
||||
ratingVM.ratingData.observeNonNull(viewLifecycleOwner) { fetchCards() }
|
||||
ratingVM.ratingData.observeNonNull(viewLifecycleOwner) { fetchCards(true) }
|
||||
|
||||
val sharedVM = activity?.let { ViewModelProvider(it).get(DashboardSharedVM::class.java) }
|
||||
sharedVM?.loanClosureToHomeWithDelay?.observeNonNull(this) { fetchCards() }
|
||||
sharedVM?.loanClosureToHomeWithDelay?.observeNonNull(this) { fetchCards(true) }
|
||||
|
||||
sharedVM?.playStoreBannerViewStatus?.observeNonNull(this) { success ->
|
||||
if (success) fetchCards()
|
||||
if (success) fetchCards(true)
|
||||
}
|
||||
|
||||
lifecycleScope.launchWhenStarted {
|
||||
@@ -414,7 +424,7 @@ class HomeFragment : BaseFragment(), WidgetCallback, PlayStoreActionListener, Di
|
||||
}
|
||||
|
||||
override fun handleDialogCancel() {
|
||||
fetchCards()
|
||||
fetchCards(true)
|
||||
}
|
||||
|
||||
override fun onPlayStoreRatingSuccess(requestData: RateDataRequest?) {
|
||||
|
||||
Reference in New Issue
Block a user