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() {
withState(loginViewModel) { state ->
// True when email is sent with success to the homeserver
isResetPasswordStarted = state.resetPasswordEmail.isNullOrBlank().not()
final override fun invalidate() = withState(loginViewModel) { state ->
// True when email is sent with success to the homeserver
isResetPasswordStarted = state.resetPasswordEmail.isNullOrBlank().not()
updateWithState(state)
}
invalidateMore()
}
protected open fun invalidateMore() {
// No op by default
updateWithState(state)
}
open fun updateWithState(state: LoginViewState2) {

View file

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