diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt index 08d0c58a90..fe3e71bccb 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt @@ -589,6 +589,17 @@ class NaviBbpsAnalytics private constructor() { ), ) } + + fun alchemistResponseFailureEvent(error: String, sessionAttribute: Map) { + NaviTrackEvent.trackEventOnClickStream( + eventName = "NaviBBPS_Dev_CategoryPage_AlchemistResponseFailure", + eventValues = + mapOf( + "error" to error, + NAVI_BBPS_SESSION_ID to sessionAttribute[NAVI_BBPS_SESSION_ID].orEmpty(), + ), + ) + } } inner class BillerList { diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoryViewModelV2.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoryViewModelV2.kt index 67ab649a01..d4a724b684 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoryViewModelV2.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoryViewModelV2.kt @@ -56,6 +56,7 @@ import com.navi.bbps.network.di.NaviBbpsGsonBuilder import com.navi.common.alchemist.model.AlchemistScreenDefinition import com.navi.common.constants.DBCacheConstants import com.navi.common.di.CoroutineDispatcherProvider +import com.navi.common.network.models.RepoResult import com.navi.common.network.models.isSuccessWithData import dagger.Lazy import dagger.hilt.android.lifecycle.HiltViewModel @@ -158,6 +159,8 @@ constructor( private val _startOriginBillDetectionFlow = MutableSharedFlow(replay = 1) val startOriginBillDetectionFlow = _startOriginBillDetectionFlow.asSharedFlow() + private var latestBillCategoriesApiResponse: RepoResult? = null + internal fun setOnOriginSmsNuxCtaClicked(value: Boolean) { viewModelScope.launch(dispatcherProvider.main) { _onOriginSmsNuxCtaClicked.emit(value) } } @@ -359,10 +362,14 @@ constructor( } } else if (_billCategoriesStateV2.value !is BillCategoryStateV2.Loaded) { _billCategoriesStateV2.update { BillCategoryStateV2.Error } - if (!naviNetworkConnectivity.isInternetConnected()) { - notifyError(errorConfig = getNoInternetErrorConfig()) - } else { - notifyError(errorConfig = getGenericErrorConfig()) + latestBillCategoriesApiResponse?.let { + val error = getError(response = it) + notifyError(response = it) + naviBbpsAnalytics.alchemistResponseFailureEvent( + error = error.code, + sessionAttribute = + naviBbpsSessionHelper.getNaviBbpsSessionAttributes(), + ) } } } @@ -379,6 +386,8 @@ constructor( ) ) + latestBillCategoriesApiResponse = billCategoriesResponseFromAlchemist + if (!billCategoriesResponseFromAlchemist.isSuccessWithData()) { return NaviCacheAltSourceEntity(isSuccess = false) }