NTP-24754 | Added support for sync in arc home screen (#14676)
This commit is contained in:
@@ -12,6 +12,7 @@ import com.google.gson.Gson
|
||||
import com.navi.base.cache.repository.NaviCacheRepository
|
||||
import com.navi.common.constants.DBCacheConstants.ARC_NUDGE_RESPONSE_CACHE_KEY
|
||||
import com.navi.common.payments.arc.model.network.ArcNudgeResponse
|
||||
import com.navi.common.payments.arc.usecase.ArcNudgeSyncUseCase
|
||||
import com.navi.common.payments.arc.util.getCoinDaysPairForBBPS
|
||||
import com.navi.common.payments.arc.util.getCoinDaysPairForUPI
|
||||
import com.navi.common.payments.arc.util.isArcProtectedEnabledForBbps
|
||||
@@ -38,6 +39,7 @@ constructor(
|
||||
private val naviCacheRepository: NaviCacheRepository,
|
||||
@NaviPayGsonBuilder private val gson: Gson,
|
||||
private val orderRepository: OrderRepository,
|
||||
private val arcNudgeSyncUseCase: ArcNudgeSyncUseCase,
|
||||
) : NaviPayBaseVM(), ArcHomeScreenContract {
|
||||
|
||||
override val screenName: String
|
||||
@@ -50,7 +52,13 @@ constructor(
|
||||
override val effect = _effect.asSharedFlow()
|
||||
|
||||
init {
|
||||
viewModelScope.launch(Dispatchers.IO) { fetchAndUpdateArcHomeScreenData() }
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
fetchAndUpdateArcHomeScreenData()
|
||||
arcNudgeSyncUseCase.execute(skipLastSyncedTimestampCheck = true)
|
||||
|
||||
// ReUpdate screen with latest data
|
||||
fetchAndUpdateArcHomeScreenData()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onEvent(event: ArcHomeScreenContract.Event) {
|
||||
@@ -81,6 +89,16 @@ constructor(
|
||||
val localArcTransactionCounterFormatted =
|
||||
orderRepository.getLocalArcTransactionCounterFormatted()
|
||||
|
||||
updateStateWithArcNudgeResponse(
|
||||
arcNudgeResponse = arcNudgeResponse,
|
||||
localArcTransactionCounterFormatted = localArcTransactionCounterFormatted,
|
||||
)
|
||||
}
|
||||
|
||||
private fun updateStateWithArcNudgeResponse(
|
||||
arcNudgeResponse: ArcNudgeResponse?,
|
||||
localArcTransactionCounterFormatted: String,
|
||||
) {
|
||||
updateState(
|
||||
state.value.copy(
|
||||
localArcTransactionCountFormatted = localArcTransactionCounterFormatted,
|
||||
|
||||
Reference in New Issue
Block a user