Ahmed Shehata
04/20/2022, 5:20 AM@Composable
fun HandlePagingError(
loadState: CombinedLoadStates, onNoInternet: @Composable () -> Unit = {},
onEmptyView: @Composable () -> Unit = {}
) {
when {
loadState.refresh is LoadState.Loading -> {
CircleLoading(loadingState = true, circleSize = 20.dp)
}
loadState.append is LoadState.NotLoading && loadState.append.endOfPaginationReached -> {
onEmptyView()
}
loadState.append is LoadState.Loading -> {
CircleLoading(loadingState = true, circleSize = 20.dp)
}
loadState.refresh is LoadState.Error -> {
// val e = loadState.append as LoadState.Error
onNoInternet()
}
loadState.append is LoadState.Error -> {
val e = loadState.append as LoadState.Error
val v = loadState.append.endOfPaginationReached
Log.i("HandlePagingError: ", v.toString())
val error = getNetworkErrorFromThrowable(e.error)
val messageError = when (error) {
is Result.NetworkError.Generic -> getErrorType(error.type)
Result.NetworkError.NoInternet -> stringResource(id = R.string.error_no_more_data)
}
TextUi(
modifier = Modifier.fillMaxWidth(),
text = messageError,
textAlign = TextAlign.Center
)
}
}
}Ahmed Shehata
04/20/2022, 5:21 AMFunkyMuse
04/20/2022, 7:15 AM