Merge pull request #2649 from medici/bugfix/claims_list_null_response

null response handling
This commit is contained in:
Raaj Gopal
2022-03-11 16:09:52 +05:30
committed by GitHub Enterprise
3 changed files with 8 additions and 8 deletions

View File

@@ -4,5 +4,5 @@ import com.navi.insurance.common.models.GenericWidgetResponse
sealed class ClaimsListViewState {
object Loading : ClaimsListViewState()
class Success(val genericWidgetResponse: GenericWidgetResponse) : ClaimsListViewState()
class Success(val genericWidgetResponse: GenericWidgetResponse?) : ClaimsListViewState()
}

View File

@@ -116,14 +116,14 @@ class ClaimsListFragment : GiBaseFragment() {
}
}
private fun handleSuccessState(genericWidgetResponse: GenericWidgetResponse) {
genericWidgetResponse.header?.getOrNull(0)?.widgetData?.let {
private fun handleSuccessState(genericWidgetResponse: GenericWidgetResponse?) {
genericWidgetResponse?.header?.getOrNull(0)?.widgetData?.let {
updateContainer(it, binding.headerContainer)
}
genericWidgetResponse.footer?.getOrNull(0)?.widgetData?.let {
genericWidgetResponse?.footer?.getOrNull(0)?.widgetData?.let {
updateContainer(it, binding.footerContainer)
}
genericWidgetResponse.content?.takeIf { it.isNotEmpty() }?.let { widgetList ->
genericWidgetResponse?.content?.takeIf { it.isNotEmpty() }?.let { widgetList ->
Timber.d("WidgetList : $widgetList")
binding.claimsList.adapter = NaviCustomRVAdapter(
holderFactory = InsuranceViewHolderRegistry(),
@@ -138,7 +138,7 @@ class ClaimsListFragment : GiBaseFragment() {
binding.claimsList.isVisible = false
binding.noContentContainer.isVisible = true
}
genericWidgetResponse.metadata?.let {
genericWidgetResponse?.metadata?.let {
val naviWidget = it[NO_CONTENT_WIDGET]?.data as? NaviWidget
naviWidget?.widgetData?.let { widgetData ->

View File

@@ -33,8 +33,8 @@ constructor(
_claimsListViewState.emit(ClaimsListViewState.Loading)
val response =
claimsRepository.fetchClaimsList(arguments?.getString(ClaimsListFragment.ARG_POLICY_ID)!!)
if (response.error == null && response.errors.isNullOrEmpty()) {
_claimsListViewState.emit(ClaimsListViewState.Success(response.data!!))
if (response.error == null && response.errors.isNullOrEmpty() && response.data != null) {
_claimsListViewState.emit(ClaimsListViewState.Success(response.data))
} else {
emitError(response, ApiErrorTagType.FETCH_CLAIMS_LIST_ERROR.value)
}