Hey guys, I want to combine flow and string. I am ...
# android
v
Hey guys, I want to combine flow and string. I am trying to do that, but I am getting problem.
viewmodel.kt
Copy code
private val query = MutableStateFlow("")
var queryText: String
    get() = query.value
    set(value) {
        query.value = value
    }
val filteredTopics = MutableStateFlow<List<ConsulationsTopics>>(emptyList())
 val filteredCategories = query
        .debounce(200) // low debounce because we are just filtering local data
        .distinctUntilChanged()
        .combine(filteredTopics) { queryText, categoriesList ->
            val criteria = queryText.lowercase()
            if (criteria.isEmpty()) {
                    return@combine filteredTopics
            } else {
                categoriesList.filter { category -> category.title?.lowercase()?.let { criteria.contains(it) } == true }
            }
        }
But when I am setting in my activity adapter, I am getting error
Copy code
private fun setupFilteredTopic() {
    lifecycleScope.launchWhenCreated {
        repeatOnLifecycle(Lifecycle.State.CREATED) {
            viewModel.filteredCategories.collect { filteredTopicsList ->
                consultationAdapter.submitList(filteredTopicsList)
            }
        }
    }
}
SOLVED
return@combine filteredTopics.value