TP-68457 | Kamalesh | Error handling bug fixes (#11072)

Co-authored-by: Kishan Kumar <kishan.kumar@navi.com>
This commit is contained in:
Kamalesh Garnayak
2024-05-30 11:12:07 +05:30
committed by GitHub
parent bedc96f9a9
commit e7005b10bc
2 changed files with 28 additions and 8 deletions

View File

@@ -143,10 +143,17 @@ constructor(
setCachePresent()
}
_coinHomeScreenData.update {
CoinHomeScreenState.Success(response ?: ScreenDefinition())
CoinHomeScreenState.Success(response?.copy() ?: ScreenDefinition())
}
initCoinHomeScreenImageCaching(response?.screenStructure)
}
else -> {
showError(
RRErrorData(
statusCode = result.statusCode ?: ApiConstants.API_BAD_REQUEST
)
)
}
}
}
}
@@ -202,7 +209,7 @@ constructor(
}
}
fun initCoinHomeScreenImageCaching(
private fun initCoinHomeScreenImageCaching(
screenDefinitionStructure: ScreenStructure?,
) {
screenDefinitionStructure?.let { screenStructure ->

View File

@@ -14,8 +14,10 @@ import androidx.paging.cachedIn
import com.navi.alfred.utils.log
import com.navi.common.forge.model.ScreenDefinition
import com.navi.common.forge.model.ScreenStructure
import com.navi.common.network.ApiConstants
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.utils.isValidResponse
import com.navi.rr.common.models.RRErrorData
import com.navi.rr.common.vm.RRBaseVM
import com.navi.rr.referral.repo.RefereeTrackerListSource
import com.navi.rr.referral.repo.RefereeTrackerListSourceV2
@@ -117,6 +119,13 @@ constructor(
setCachePresent()
}
}
else -> {
showError(
RRErrorData(
statusCode = result.statusCode ?: ApiConstants.API_CODE_ERROR
)
)
}
}
}
}
@@ -133,10 +142,17 @@ constructor(
RefereeTrackerScreenState.Success(response ?: ScreenDefinition())
}
initRefereeTrackerScreenImageCaching(response?.screenStructure)
if (result.isFromCache) {
setCachePresent()
}
}
else -> {
showError(
RRErrorData(
statusCode = result.statusCode ?: ApiConstants.API_CODE_ERROR
)
)
}
}
if (result.isFromCache) {
setCachePresent()
}
}
}
@@ -167,9 +183,6 @@ constructor(
refereeTrackerRepo.fetchRefereeTrackerV2ForgeElement().collect { response ->
if (response.isValidResponse()) {
initRefereeTrackerScreenImageCaching(response.data?.screenStructure)
if (response.isFromCache) {
setCachePresent()
}
}
}
}