diff --git a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt
index b0506ccf02..7281705e88 100644
--- a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt
+++ b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt
@@ -115,6 +115,7 @@ class SoftLogoutController @Inject constructor(
LoginMode.Sso -> {
loginCenterButtonItem {
id("sso")
+ text(stringProvider.getString(R.string.login_signin_sso))
listener { listener?.ssoSubmit() }
}
}
diff --git a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutFragment.kt b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutFragment.kt
index 594aef54d2..fa7c868ff8 100644
--- a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutFragment.kt
+++ b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutFragment.kt
@@ -24,6 +24,7 @@ import com.airbnb.mvrx.activityViewModel
import com.airbnb.mvrx.withState
import im.vector.riotx.R
import im.vector.riotx.core.dialogs.withColoredButton
+import im.vector.riotx.core.error.ErrorFormatter
import im.vector.riotx.core.extensions.cleanup
import im.vector.riotx.core.extensions.configureWith
import im.vector.riotx.core.extensions.hideKeyboard
@@ -31,7 +32,6 @@ import im.vector.riotx.features.MainActivity
import im.vector.riotx.features.MainActivityArgs
import im.vector.riotx.features.login.AbstractLoginFragment
import im.vector.riotx.features.login.LoginNavigation
-import im.vector.riotx.features.login.LoginViewState
import kotlinx.android.synthetic.main.fragment_generic_recycler.*
import javax.inject.Inject
@@ -41,7 +41,8 @@ import javax.inject.Inject
* - or to cleanup all the data
*/
class SoftLogoutFragment @Inject constructor(
- private val softLogoutController: SoftLogoutController
+ private val softLogoutController: SoftLogoutController,
+ private val errorFormatter: ErrorFormatter
) : AbstractLoginFragment(), SoftLogoutController.Listener {
private val softLogoutViewModel: SoftLogoutViewModel by activityViewModel()
@@ -52,6 +53,10 @@ class SoftLogoutFragment @Inject constructor(
super.onViewCreated(view, savedInstanceState)
setupRecyclerView()
+
+ softLogoutViewModel.subscribe(this) { softLogoutViewState ->
+ softLogoutController.update(softLogoutViewState)
+ }
}
private fun setupRecyclerView() {
@@ -120,15 +125,12 @@ class SoftLogoutFragment @Inject constructor(
softLogoutViewModel.handle(SoftLogoutAction.TogglePassword)
}
- override fun updateWithState(state: LoginViewState) {
- super.updateWithState(state)
-
- withState(softLogoutViewModel) { state2 ->
- softLogoutController.update(state2)
- }
- }
-
override fun onError(throwable: Throwable) {
+ AlertDialog.Builder(requireActivity())
+ .setTitle(R.string.dialog_title_error)
+ .setMessage(errorFormatter.toHumanReadable(throwable))
+ .setPositiveButton(R.string.ok, null)
+ .show()
}
override fun resetViewModel() {
diff --git a/vector/src/main/res/layout/item_login_centered_button.xml b/vector/src/main/res/layout/item_login_centered_button.xml
index dd497e83e8..e881feddd8 100644
--- a/vector/src/main/res/layout/item_login_centered_button.xml
+++ b/vector/src/main/res/layout/item_login_centered_button.xml
@@ -1,10 +1,16 @@
-
\ No newline at end of file
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+
+
+