Dazai
04/15/2022, 10:55 AMDazai
04/15/2022, 10:58 AMinit {
CoroutineScope(<http://Dispatchers.IO|Dispatchers.IO>).launch {
searchText.collectLatest {
chunkedRank(it, assetIndex, 10)
}
}
}
ildar.i [Android]
04/15/2022, 11:02 AMclass TaskSearchDelegate(
private val repository: TaskRepository,
) : SearchDelegate<TaskModel> {
override lateinit var searchPagingFlow: Flow<PagingData<TaskModel>>
private lateinit var uiCaller: UiCallerImpl
private val searchTextFlow = MutableStateFlow("")
override fun init(uiCaller: UiCallerImpl) {
this.uiCaller = uiCaller
searchPagingFlow = searchTextFlow.debounce(SearchDelegate.debounceDelayMs)
.flatMapLatest {
repository.searchTasks(it)
}.cachedIn(uiCaller.scope)
}
override fun searchByText(text: String) {
searchTextFlow.value = text
}
}