diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-07-31 18:35:02 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-11-11 13:20:09 -0600 |
commit | de66e6697a006d85df54c79e740798ecd56bb683 (patch) | |
tree | d0d38bae034866b31ceec2a86175142997c3abac /anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt | |
parent | fb80fc4d9636c957ba4f17a5d57aee3fccd494a1 (diff) | |
download | taler-android-de66e6697a006d85df54c79e740798ecd56bb683.tar.gz taler-android-de66e6697a006d85df54c79e740798ecd56bb683.tar.bz2 taler-android-de66e6697a006d85df54c79e740798ecd56bb683.zip |
Attributes validation + basic error handling + improvements!
Signed-off-by: Iván Ávalos <avalos@disroot.org>
Diffstat (limited to 'anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt')
-rw-r--r-- | anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt b/anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt index d157707..46be209 100644 --- a/anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt +++ b/anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt @@ -16,7 +16,6 @@ package net.taler.anastasis.viewmodels -import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel @@ -25,6 +24,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import net.taler.anastasis.Routes import net.taler.anastasis.backend.AnastasisReducerApi +import net.taler.anastasis.backend.TalerErrorInfo import net.taler.anastasis.models.BackupStates import net.taler.anastasis.models.RecoveryStates import net.taler.anastasis.models.ReducerState @@ -38,14 +38,15 @@ class ReducerViewModel @Inject constructor(): ViewModel() { private val _reducerState = MutableStateFlow<ReducerState?>(null) val reducerState = _reducerState.asStateFlow() + private val _reducerError = MutableStateFlow<TalerErrorInfo?>(null) + val reducerError = _reducerError.asStateFlow() private val _navRoute = MutableStateFlow(Routes.Home.route) val navRoute = _navRoute.asStateFlow() init { - reducerManager = ReducerManager(_reducerState, api, viewModelScope) + reducerManager = ReducerManager(_reducerState, _reducerError, api, viewModelScope) viewModelScope.launch { _reducerState.collect { - Log.d("ReducerViewModel", it?.toString() ?: "nothing") reducerManager.stopSyncingProviders() _navRoute.value = when (it) { is ReducerState.Backup -> when (it.backupState) { @@ -72,7 +73,6 @@ class ReducerViewModel @Inject constructor(): ViewModel() { RecoveryStates.ChallengeSolving -> TODO() RecoveryStates.RecoveryFinished -> TODO() } - is ReducerState.Error -> TODO() else -> Routes.Home.route } } @@ -110,4 +110,8 @@ class ReducerViewModel @Inject constructor(): ViewModel() { fun goHome() { _reducerState.value = null } + + fun cleanError() { + _reducerError.value = null + } }
\ No newline at end of file |