aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt29
1 files changed, 15 insertions, 14 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
index 82c5bf9..8f53b7e 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
@@ -15,26 +15,27 @@ class LoginViewModel(
savedStateHandle: SavedStateHandle
) : ViewModel() {
- sealed class LoginResult {
- object Loading: LoginResult()
- object EmailMissing : LoginResult()
- object PasswordMissing : LoginResult()
- object Failure : LoginResult()
- object Success : LoginResult()
+ sealed class LoginState {
+ object Loading: LoginState()
+ object EmailMissing : LoginState()
+ object PasswordMissing : LoginState()
+ object Failure : LoginState()
+ object Success : LoginState()
}
val email: MutableLiveData<String> = savedStateHandle.getLiveData("user", "")
val password: MutableLiveData<String> = savedStateHandle.getLiveData("password", "")
- private val loginResultEmitter = EventEmitter<LoginResult>()
- val loginResult: EventSource<LoginResult> = loginResultEmitter
+ private val loginStateEmitter = EventEmitter<LoginState>()
+ val loginState: EventSource<LoginState> = loginStateEmitter
fun restoreSession() {
+ loginStateEmitter.emit(LoginState.Loading);
viewModelScope.launch {
try {
val user = sessionApi.sessionGet()
Log.d("LoginViewModel", user.toString())
- loginResultEmitter.emit(LoginResult.Success)
+ loginStateEmitter.emit(LoginState.Success)
} catch (e: Exception) {
Log.d("LoginViewModel", "No session")
}
@@ -46,23 +47,23 @@ class LoginViewModel(
val password = password.value!!.toString().trim()
if (email.isEmpty()) {
- loginResultEmitter.emit(LoginResult.EmailMissing)
+ loginStateEmitter.emit(LoginState.EmailMissing)
return
}
if (password.isEmpty()) {
- loginResultEmitter.emit(LoginResult.PasswordMissing)
+ loginStateEmitter.emit(LoginState.PasswordMissing)
return
}
- loginResultEmitter.emit(LoginResult.Loading)
+ loginStateEmitter.emit(LoginState.Loading)
viewModelScope.launch {
try {
val user = sessionApi.sessionPost(email, password)
Log.d("LoginViewModel", user.toString())
- loginResultEmitter.emit(LoginResult.Success)
+ loginStateEmitter.emit(LoginState.Success)
} catch (e: Exception) {
- loginResultEmitter.emit(LoginResult.Failure)
+ loginStateEmitter.emit(LoginState.Failure)
}
}
}