Better solution

This commit is contained in:
Benoit Marty 2021-04-14 18:57:13 +02:00 committed by Benoit Marty
parent faef2fba9a
commit 2d7bface27
2 changed files with 7 additions and 13 deletions

View file

@ -147,19 +147,11 @@ abstract class AbstractLoginFragment2<VB : ViewBinding> : VectorBaseFragment<VB>
} }
} }
final override fun invalidate() { final override fun invalidate() = withState(loginViewModel) { state ->
withState(loginViewModel) { state -> // True when email is sent with success to the homeserver
// True when email is sent with success to the homeserver isResetPasswordStarted = state.resetPasswordEmail.isNullOrBlank().not()
isResetPasswordStarted = state.resetPasswordEmail.isNullOrBlank().not()
updateWithState(state) updateWithState(state)
}
invalidateMore()
}
protected open fun invalidateMore() {
// No op by default
} }
open fun updateWithState(state: LoginViewState2) { open fun updateWithState(state: LoginViewState2) {

View file

@ -67,6 +67,8 @@ class AccountCreatedFragment @Inject constructor(
setupClickListener() setupClickListener()
setupSubmitButton() setupSubmitButton()
observeViewEvents() observeViewEvents()
viewModel.subscribe { invalidateState(it) }
} }
private fun observeViewEvents() { private fun observeViewEvents() {
@ -121,7 +123,7 @@ class AccountCreatedFragment @Inject constructor(
loginViewModel.handle(LoginAction2.Finish) loginViewModel.handle(LoginAction2.Finish)
} }
override fun invalidateMore() = withState(viewModel) { state -> private fun invalidateState(state: AccountCreatedViewState) {
// Ugly hack... // Ugly hack...
(activity as? LoginActivity2)?.setIsLoading(state.isLoading) (activity as? LoginActivity2)?.setIsLoading(state.isLoading)