Jarroyoesp
11/16/2020, 12:54 PMfun getData(): Flow<Boolean> {
var validIds: List<Long> = getIdsForRequest()
return validIds.chunked(MAX_PIDS).asFlow().map { sublist ->
makeRequest(sublist)
}.flattenMerge()
}
fun makeRequest(ids: List<Long>): Flow<Boolean> = flow {
if (condition) {
getDataFromApi(ids).onCompletion {
// Do something
emit(true)
}.collect { data ->
emit(true)
}
} else {
emit(false)
}
}
fun getDataFromApi(ids: List<Long>): Flow<Data> = flow {
emitAll(...)
}