But here is the updated working solution ``` login...
# android
u
But here is the updated working solution
Copy code
loginViewModel.loginFieldsValid.observe(this, Observer { loginFieldsValid ->
            loginViewModel.loginButtonEnabled.value = loginFieldsValid
})
Copy code
private val _loginFieldsValid = MediatorLiveData<Boolean>()
val loginFieldsValid: LiveData<Boolean>
    get() = _loginFieldsValid
val username = MutableLiveData<String>()
val password = MutableLiveData<String>()
val loginButtonEnabled = MutableLiveData<Boolean>()

...

init {
    _loginFieldsValid.addSource(username) { validateLoginFields() }
    _loginFieldsValid.addSource(password) { validateLoginFields() }
}

private fun validateLoginFields() {
    _loginFieldsValid.value = !username.value.isNullOrEmpty() && !password.value.isNullOrEmpty()
}