LiveData не генерирует с FirebaseAuth addOnCompleteListener - PullRequest
0 голосов
/ 08 сентября 2018

Это мой первый опыт работы с LiveData. Прошу прощения, если я сделал что-то не так.

Я установил точку останова на LoginVM и обнаружил, что функция входа в систему, которая возвращает LiveData, не вызывается, даже если аутентификация прошла успешно, и postValue вызывается для установки данных. Я не понимаю почему.

UserRemoteRepository.kt

override fun signIn(email: String, password: String): LiveData<FirebaseUser> {
    val loggedInUser: MutableLiveData<FirebaseUser> = MutableLiveData()

    mAuth.signInWithEmailAndPassword(email, password)
            .addOnCompleteListener {
                if (it.isSuccessful) {
                    loggedInUser.postValue(mAuth.currentUser)
                }
            }

    return loggedInUser
}

LoginVM.kt

fun login() = Transformations.map(UserRemoteRepository.signIn(email.get().toString(), password.get().toString())) {
    it
}

LoginFrag.kt

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    val viewModel = viewDataBinding.viewmodel

    viewModel?.login()?.observe(this.activity, Observer {
        Log.d(TAG, it?.email)
    })
}
...