Description
Describe the bug 🐛
I'm implementing Instant Search on my android app using Paging 3 and flow to update the UI
I followed this article : https://www.algolia.com/doc/api-reference/widgets/multi-hits/android/#examples
This is quite simple but, for some reason either flow or live data are not updated when a query is typed.
To Reproduce 🔍
My entire ViewModel ->
```
private val searcher = MultiSearcher(
applicationID = ApplicationID("-----"),
apiKey = APIKey("----")
)
private val pagingConfig = PagingConfig(pageSize = 50)
private val indexProblem = IndexName(INDEX_PROBLEM)
private val indexArea = IndexName(INDEX_AREA)
private val problemSearcher = searcher.addHitsSearcher(indexName = indexProblem)
private val areaSearcher = searcher.addHitsSearcher(indexName = indexArea)
private val filterState = FilterState()
private val connection = ConnectionHandler()
private val problemPaginator = Paginator(
problemSearcher,
pagingConfig,
transformer = { hit -> hit.deserialize(ProblemRemote.serializer()) }
)
private val areaPaginator = Paginator(
areaSearcher,
pagingConfig,
transformer = { hit -> hit.deserialize(AreaRemote.serializer()) }
)
init {
connection += filterState.connectPaginator(problemPaginator)
connection += filterState.connectPaginator(areaPaginator)
}
val problems
get() = problemPaginator.flow
val areas
get() = areaPaginator.flow
fun search(query: String? = "") {
searcher.setQuery(query)
searcher.searchAsync()
}
override fun onCleared() {
super.onCleared()
searcher.cancel()
connection.disconnect()
}
}
And in the onCreate of an activity
searchViewModel.problems.onEach {
println("RESULT PROBLEM $it")
problemAdapter.submitData(it)
}
searchViewModel.areas.onEach {
println("RESULT AREAS $it")
areaAdapter.submitData(it)
}
**Expected behavior 💭**
I expect that my flow are called when a type a query
**Environment:**
- OS: Mac M1
- Library Version 3.1.4
**Additional context**
Transformer (in Paginator) is never called, it's not just a flow/livedata issue