diff options
author | Isidro Henoch <imhenoch@protonmail.com> | 2021-12-08 02:09:47 -0600 |
---|---|---|
committer | Isidro Henoch <imhenoch@protonmail.com> | 2021-12-08 02:09:47 -0600 |
commit | d2ee6a21355c390a4aaefc6ea847060c8e47c6ae (patch) | |
tree | 3a4000d6c933109a91add937827168ab0a18c1b7 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/LoginViewModel.kt | |
parent | c80ece3087b862e1849ad5c2972b9b13fec2eb3f (diff) | |
download | etbsa-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.kt | 29 |
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) } } } |