From 2e9b2883fd5fab5346874f5119ec81329a622390 Mon Sep 17 00:00:00 2001 From: Mehul Garg Date: Fri, 4 Apr 2025 12:10:33 +0530 Subject: [PATCH] NTP-50953 | Mehul | update saved bills called on bbps landing and my bills screen (#15450) Co-authored-by: Shivam Goyal --- .../navi/bbps/feature/category/BillCategoriesViewModel.kt | 2 +- .../navi/bbps/feature/category/BillCategoryViewModelV2.kt | 6 +++++- .../navi/bbps/feature/category/ui/BillCategoryScreenV2.kt | 2 ++ .../com/navi/bbps/feature/mybills/MyBillsViewModel.kt | 4 ++++ .../com/navi/bbps/feature/mybills/ui/MyBillsScreen.kt | 4 +++- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoriesViewModel.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoriesViewModel.kt index 6f5f119c61..d018c6b82b 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoriesViewModel.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/BillCategoriesViewModel.kt @@ -123,7 +123,7 @@ constructor( val dispatcherProvider: CoroutineDispatcherProvider, private val billCategoriesRepository: BillCategoriesRepository, protected val naviCacheRepository: NaviCacheRepository, - open val myBillsSyncJob: MyBillsSyncJob, + val myBillsSyncJob: MyBillsSyncJob, val myBillsRepository: MyBillsRepository, private val bbpsResourceProvider: ResourceProvider, private val localJsonDataSource: LocalJsonDataSource, 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 30b99b21c2..b33cc62483 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 @@ -74,7 +74,7 @@ constructor( private val billCategoriesRepository: BillCategoriesRepository, override val bbpsSharedPreferences: BbpsSharedPreferences, naviCacheRepository: NaviCacheRepository, - override val myBillsSyncJob: MyBillsSyncJob, + myBillsSyncJob: MyBillsSyncJob, myBillsRepository: MyBillsRepository, bbpsResourceProvider: ResourceProvider, localJsonDataSource: LocalJsonDataSource, @@ -232,6 +232,10 @@ constructor( screenStructure?.bottomSheets?.let { bottomSheets -> initializeBottomSheets(bottomSheets) } } + fun updateMySavedBills() { + myBillsSyncJob.refreshBillsAsync(naviBbpsVmData.screen.screenName) + } + fun fetchBillCategoriesAlchemistResponse() { viewModelScope.launch { naviCacheRepository diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoryScreenV2.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoryScreenV2.kt index 355a1f8ae2..62afeb0160 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoryScreenV2.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoryScreenV2.kt @@ -304,6 +304,8 @@ fun BillCategoriesScreenV2( viewModel.fetchOffersAndCoinBurnForProduct() } + LaunchedEffect(Unit) { viewModel.updateMySavedBills() } + val onManageMyBillsClicked = { navigator.navigate( MyBillsScreenDestination( diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/MyBillsViewModel.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/MyBillsViewModel.kt index eed3e992d0..03c31811de 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/MyBillsViewModel.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/MyBillsViewModel.kt @@ -240,6 +240,10 @@ constructor( _snackBarState.update { SnackBarState(show = show, messageId = messageId) } } + fun updateMySavedBills() { + myBillsSyncJob.refreshBillsAsync(naviBbpsVmData.screen.screenName) + } + fun fetchMySavedBills(onFetchSuccess: () -> Unit = {}) { viewModelScope.launch(dispatcherProvider.io) { updateMyBillsState(MyBillsState.Loading) diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/ui/MyBillsScreen.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/ui/MyBillsScreen.kt index 9590cf4a1c..a8e0923ec3 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/ui/MyBillsScreen.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/mybills/ui/MyBillsScreen.kt @@ -42,7 +42,7 @@ import com.navi.bbps.common.ui.NaviBbpsHeader import com.navi.bbps.common.ui.NaviBbpsModalBottomSheetLayout import com.navi.bbps.common.ui.SetStatusBarColor import com.navi.bbps.common.utils.NaviBbpsCommonUtils.isPayNowClickExperimentEnabled -import com.navi.bbps.common.utils.OriginWidgetStatus.* +import com.navi.bbps.common.utils.OriginWidgetStatus.FTUE import com.navi.bbps.common.utils.SnackBarPredefinedConfig import com.navi.bbps.common.utils.launchPermissionSettingsScreen import com.navi.bbps.entry.NaviBbpsActivity @@ -121,6 +121,8 @@ fun MyBillsScreen( myBillsViewModel.navigateToNextScreenFromHelpCta.collectLatest { it?.let { NaviBbpsRouter.onCtaClick(naviBbpsActivity = naviBbpsActivity, ctaData = it) } } + + myBillsViewModel.updateMySavedBills() } resultRecipient.onNavResult { result ->