timeline : makes sure to emit empty list if initial reset has no item.
This commit is contained in:
parent
c161c8f3b6
commit
ade97f6133
1 changed files with 9 additions and 4 deletions
|
|
@ -80,10 +80,15 @@ internal class TimelineItemsSubscriber(
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun postItems(items: List<TimelineItem>) = coroutineScope {
|
private suspend fun postItems(items: List<TimelineItem>) = coroutineScope {
|
||||||
// Split the initial items in multiple list as there is no pagination in the cached data, so we can post timelineItems asap.
|
if (items.isEmpty()) {
|
||||||
items.chunked(INITIAL_MAX_SIZE).reversed().forEach {
|
// Makes sure to post empty list if there is no item, so you can handle empty state.
|
||||||
ensureActive()
|
timelineDiffProcessor.postItems(emptyList())
|
||||||
timelineDiffProcessor.postItems(it)
|
} else {
|
||||||
|
// Split the initial items in multiple list as there is no pagination in the cached data, so we can post timelineItems asap.
|
||||||
|
items.chunked(INITIAL_MAX_SIZE).reversed().forEach {
|
||||||
|
ensureActive()
|
||||||
|
timelineDiffProcessor.postItems(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
isTimelineInitialized.value = true
|
isTimelineInitialized.value = true
|
||||||
initLatch.complete(Unit)
|
initLatch.complete(Unit)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue