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"> + + + +