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}")
                }
            }
        }
    }

Ответы (0 шт):