Я пытаюсь проверить, существуют ли данные об имени пользователя, электронной почте и номере телефона в облачном хранилище.
private fun checkExistence(username: String, email: String, phonenumber: String): Boolean {
val query: Query =
db.collection("users").whereEqualTo("username", username).whereEqualTo("email", email)
.whereEqualTo("phonenumber", phonenumber)
query.get().addOnCompleteListener { task ->
if (task.isSuccessful) {
for (documentSnapshot in task.result!!) {
val userName = documentSnapshot.getString("username")
val userEmail = documentSnapshot.getString("email")
val userPhone = documentSnapshot.getString("phonenumber")
when {
userName == username -> {
Log.d(TAG, "User Exists")
Toast.makeText(this, "Username exists", Toast.LENGTH_SHORT).show()
}
userEmail == email -> {
Log.d(TAG, "Email Exists")
Toast.makeText(this, "Email exists", Toast.LENGTH_SHORT).show()
}
userPhone == phonenumber -> {
Log.d(TAG, "Phone number Exists")
Toast.makeText(this, "Phone number exists", Toast.LENGTH_SHORT).show()
}
}
}
}
if (task.result!!.size() == 0) {
Log.d(TAG, "User not Exists")
//You can store new user information here
Toast.makeText(this, "User not Exists", Toast.LENGTH_SHORT).show()
}
}
return true
}
Я ожидаю тост, если все данные существуют, но код выполняет только первую проверку, которая является проверкой имени пользователя, но не проверяет электронную почту или номер телефона.