Kotlin : Как показать данные в списке по одинаковым значениям полей
Хочу реализовать возможность показывать данные в списке только в том случае, если есть совпадение с текущим пользователем который вошел в систему, взять значение поля companyName, чтобы показать другие итемы с таким же значением этого поля. Хочу реализовать это без использования дополнительных запросов к Firestore, а вручную отпарсить уже готовый список который приходит с базы данных. P.S в предоставленном коде ниже, всего лишь попытки отфильтровать, такая реализация только показывает один итем где имеется совпадающие данные по почте. Также, прикрепил небольшую запись со структурой в самой Firestore. Заранее спасибо за помощь!
Структура
Пример кода
private fun observer() {
fbViewModel.getAllHolders().observe(requireActivity()) {
when (it) {
is State.Loading -> {
b.progressBar2.visibility = View.VISIBLE
}
is State.Success -> {
val filterList = it.data
val readyList = filterList
.groupBy { it }
.filter {
it.key.companyName!!.count() >=2 && it.key.email == auth.currentUser?.email
}.map { it.key }
b.progressBar2.visibility = View.GONE
adapter.submitList(readyList)
}
is State.Failed -> {
b.progressBar2.visibility = View.GONE
Log.d("Error", "Error name :${it.message}")
}
}
}
}
