mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Merge pull request #3538 from element-hq/feature/fga/timeline_emit_empty_list
timeline : makes sure to emit empty list if initial reset has no item.
This commit is contained in:
+9
-4
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user