Привет, это моя модель просмотра.
class AuthViewModel(private val repository: UserRepository) : ViewModel() {
/** Variables for custom login */
var email: String? = null
var password: String? = null
var authListener : AuthListener? = null
var authCompletedListener : OnCompleteListener<AuthResult>? = null
/** Method to perform login operation with facebook */
fun onClickLoginWithFacebook(){
}
/** Method to perform login operation with google */
fun onClickLoginWithGoogle(){
}
/** Method to perform login operation with custom */
fun onClickCustomLogin(){
repository.userLogin(email!!,password!!)
}
/** Method to perform sign up operation with custom */
fun onClickSignUp(){
}
}
Когда я нажимаю на ClickCustomLogin, я вызываю забаву userLogin из хранилища мгновенно
, а это мой класс хранилища
class UserRepository(private val appAuth: FirebaseAuth) {
fun userLogin(email: String,password: String){
appAuth.signInWithEmailAndPassword(email,password).
addOnCompleteListener(OnCompleteListener { })
}
}
но в соответствии с MVVM слушатель должен быть добавлен в действие, и он должен взаимодействовать только с моделью представления, поэтому я хочу внедрить OnCompleteListener для моего действия, как это
class LoginActivity : AppCompatActivity(), OnCompleteListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
}
// onComplete Task here how it is possible
}