aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt40
1 files changed, 21 insertions, 19 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt
index cda8072..f384173 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/session/UserInformationActivity.kt
@@ -7,12 +7,16 @@ import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
-import androidx.core.app.NavUtils
+import com.zhuinden.liveevent.observe
+import kotlinx.coroutines.DelicateCoroutinesApi
import mx.trackermap.TrackerMap.android.R
import mx.trackermap.TrackerMap.android.databinding.UserInformationActivityBinding
import mx.trackermap.TrackerMap.client.models.User
+import mx.trackermap.TrackerMap.controllers.ReportController
+import mx.trackermap.TrackerMap.controllers.SessionController
import org.koin.androidx.viewmodel.ext.android.viewModel
+@DelicateCoroutinesApi
class UserInformationActivity : AppCompatActivity() {
private var _binding: UserInformationActivityBinding? = null
@@ -45,19 +49,29 @@ class UserInformationActivity : AppCompatActivity() {
}
private fun setupObservers() {
- userInformationViewModel.userInformation.observe(this) { userInformation ->
+ userInformationViewModel.loginState.observe(this) { userInformation ->
when (userInformation) {
- UserInformationViewModel.InformationState.Loading -> setLoading(true)
- UserInformationViewModel.InformationState.Failure -> failure()
- is UserInformationViewModel.InformationState.Success -> display(userInformation.user)
- UserInformationViewModel.InformationState.Signout -> signOut()
+ SessionController.LoginState.Loading -> setLoading(true)
+ SessionController.LoginState.Failure -> failure()
+ SessionController.LoginState.SignOut -> signOut()
+ else -> {}
+ }
+ }
+ userInformationViewModel.user.observe(this) { user ->
+ setLoading(false)
+ binding.apply {
+ usernameInfo.text = user.name ?: ""
+ emailInfo.text = user.email ?: ""
+ idInfo.text = "${user.id ?: "--"}"
+ deviceLimitInfo.text = "${user.deviceLimit ?: "--"}"
+ adminInfo.text = "${user.administrator}"
}
}
}
private fun setupEvents() {
binding.backButton.setOnClickListener { onBackPressed() }
- binding.signoutButton.setOnClickListener { userInformationViewModel.signout() }
+ binding.signoutButton.setOnClickListener { userInformationViewModel.signOut() }
binding.sourceCodeButton.setOnClickListener {
openURL(getString(R.string.app_source_code_url))
}
@@ -77,18 +91,6 @@ class UserInformationActivity : AppCompatActivity() {
Toast.makeText(this, "Something went wrong...", Toast.LENGTH_LONG).show()
}
- private fun display(user: User) {
- setLoading(false)
-
- binding.apply {
- usernameInfo.text = user.name ?: ""
- emailInfo.text = user.email ?: ""
- idInfo.text = "${user.id ?: "--"}"
- deviceLimitInfo.text = "${user.deviceLimit ?: "--"}"
- adminInfo.text = "${user.administrator}"
- }
- }
-
private fun openURL(url: String) {
val uri = Uri.parse(url)
val intent = Intent(Intent.ACTION_VIEW, uri)