diff --git a/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordView.kt b/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordView.kt index 2b600a7..47d18a9 100644 --- a/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordView.kt +++ b/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordView.kt @@ -11,6 +11,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -31,18 +32,13 @@ fun FeyenoordScreen( verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally ) { - if (feyenoordUiState.matches.isEmpty()) { + if (feyenoordUiState.loading) { CircularProgressIndicator() + } else if (feyenoordUiState.error != null) { + Text(stringResource(feyenoordUiState.error!!)) } else { MatchList(matches = feyenoordUiState.matches, Modifier) } -// if (feyenoordUiState.loading) { -// CircularProgressIndicator() -// } else if (feyenoordUiState.error) { -// Text(feyenoordUiState.errorMessage) -// } else { -// MatchList(matches = feyenoordUiState.matches, Modifier) -// } } } diff --git a/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordViewModel.kt b/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordViewModel.kt index 81dd0cf..581b4f1 100644 --- a/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordViewModel.kt +++ b/app/src/main/java/com/mitchelbv/thuis_c/ui/feyenoord/FeyenoordViewModel.kt @@ -1,23 +1,21 @@ package com.mitchelbv.thuis_c.ui.feyenoord -import androidx.lifecycle.MutableLiveData +import android.content.res.Resources import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mitchelbv.thuis_c.network.feyenoord.FeyenoordRetrofitHelper -import com.mitchelbv.thuis_c.network.feyenoord.FeyenoordService +import com.mitchelbv.thuis_c.R import com.mitchelbv.thuis_c.repository.FeyenoordRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.TimeZone data class FeyenoordUiState( val matches: List = listOf(), val loading: Boolean = true, + val error: Int? = null ) class FeyenoordViewModel : ViewModel() { @@ -31,7 +29,11 @@ class FeyenoordViewModel : ViewModel() { private fun fillMatches() { viewModelScope.launch(Dispatchers.IO) { - _uiState.value = FeyenoordUiState(matches = feyenoordRepository.getMatches(), loading = false) + try { + _uiState.value = FeyenoordUiState(matches = feyenoordRepository.getMatches(), loading = false) + } catch (e: Exception) { + _uiState.value = FeyenoordUiState(loading = false, error = R.string.feyenoord_network_error) + } } } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e84d41a..2a2e72f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,4 +10,5 @@ Er zijn geen vriezers Vriezer aanpassen + Er is geen netwerk beschikbaar \ No newline at end of file