summaryrefslogtreecommitdiff
path: root/anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-07-31 18:35:02 -0600
committerIván Ávalos <avalos@disroot.org>2023-11-11 13:20:09 -0600
commitde66e6697a006d85df54c79e740798ecd56bb683 (patch)
treed0d38bae034866b31ceec2a86175142997c3abac /anastasis/src/main/java/net/taler/anastasis/viewmodels/ReducerViewModel.kt
parentfb80fc4d9636c957ba4f17a5d57aee3fccd494a1 (diff)
downloadtaler-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.kt12
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