aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
diff options
context:
space:
mode:
authorIsidro Henoch <imhenoch@protonmail.com>2021-12-08 02:09:47 -0600
committerIsidro Henoch <imhenoch@protonmail.com>2021-12-08 02:09:47 -0600
commitd2ee6a21355c390a4aaefc6ea847060c8e47c6ae (patch)
tree3a4000d6c933109a91add937827168ab0a18c1b7 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt
parentc80ece3087b862e1849ad5c2972b9b13fec2eb3f (diff)
downloadetbsa-trackermap-mobile-d2ee6a21355c390a4aaefc6ea847060c8e47c6ae.tar.gz
etbsa-trackermap-mobile-d2ee6a21355c390a4aaefc6ea847060c8e47c6ae.tar.bz2
etbsa-trackermap-mobile-d2ee6a21355c390a4aaefc6ea847060c8e47c6ae.zip
WIP: Starts implementing the main activity
- Removes the MainActivity and the shared code it was using - Adds the UnitsActivity - Implements the Map/List toggle functionality
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)
}
}
}