mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Merge pull request #5389 from element-hq/feature/fga/timeline_fix_forward_pagination
fix (timeline) : forward pagination regression
This commit is contained in:
+1
-2
@@ -123,7 +123,7 @@ class RustTimeline(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override val forwardPaginationStatus = MutableStateFlow(
|
override val forwardPaginationStatus = MutableStateFlow(
|
||||||
Timeline.PaginationStatus(isPaginating = false, hasMoreToLoad = mode !is Timeline.Mode.FocusedOnEvent)
|
Timeline.PaginationStatus(isPaginating = false, hasMoreToLoad = mode is Timeline.Mode.FocusedOnEvent)
|
||||||
)
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@@ -221,7 +221,6 @@ class RustTimeline(
|
|||||||
items = items,
|
items = items,
|
||||||
hasMoreToLoadBackward = backwardPaginationStatus.hasMoreToLoad,
|
hasMoreToLoadBackward = backwardPaginationStatus.hasMoreToLoad,
|
||||||
hasMoreToLoadForward = forwardPaginationStatus.hasMoreToLoad,
|
hasMoreToLoadForward = forwardPaginationStatus.hasMoreToLoad,
|
||||||
timelineMode = mode,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
.let { items ->
|
.let { items ->
|
||||||
|
|||||||
+1
-2
@@ -18,9 +18,8 @@ class LoadingIndicatorsPostProcessor(private val systemClock: SystemClock) {
|
|||||||
items: List<MatrixTimelineItem>,
|
items: List<MatrixTimelineItem>,
|
||||||
hasMoreToLoadBackward: Boolean,
|
hasMoreToLoadBackward: Boolean,
|
||||||
hasMoreToLoadForward: Boolean,
|
hasMoreToLoadForward: Boolean,
|
||||||
timelineMode: Timeline.Mode,
|
|
||||||
): List<MatrixTimelineItem> {
|
): List<MatrixTimelineItem> {
|
||||||
val shouldAddForwardLoadingIndicator = timelineMode is Timeline.Mode.Live && hasMoreToLoadForward && items.isNotEmpty()
|
val shouldAddForwardLoadingIndicator = hasMoreToLoadForward && items.isNotEmpty()
|
||||||
val currentTimestamp = systemClock.epochMillis()
|
val currentTimestamp = systemClock.epochMillis()
|
||||||
return buildList {
|
return buildList {
|
||||||
if (hasMoreToLoadBackward) {
|
if (hasMoreToLoadBackward) {
|
||||||
|
|||||||
-4
@@ -24,7 +24,6 @@ class LoadingIndicatorsPostProcessorTest {
|
|||||||
items = listOf(messageEvent, messageEvent2),
|
items = listOf(messageEvent, messageEvent2),
|
||||||
hasMoreToLoadBackward = true,
|
hasMoreToLoadBackward = true,
|
||||||
hasMoreToLoadForward = false,
|
hasMoreToLoadForward = false,
|
||||||
timelineMode = Timeline.Mode.Live,
|
|
||||||
)
|
)
|
||||||
assertThat(result).containsExactly(
|
assertThat(result).containsExactly(
|
||||||
MatrixTimelineItem.Virtual(
|
MatrixTimelineItem.Virtual(
|
||||||
@@ -47,7 +46,6 @@ class LoadingIndicatorsPostProcessorTest {
|
|||||||
items = listOf(messageEvent, messageEvent2),
|
items = listOf(messageEvent, messageEvent2),
|
||||||
hasMoreToLoadBackward = false,
|
hasMoreToLoadBackward = false,
|
||||||
hasMoreToLoadForward = true,
|
hasMoreToLoadForward = true,
|
||||||
timelineMode = Timeline.Mode.Live,
|
|
||||||
)
|
)
|
||||||
assertThat(result).containsExactly(
|
assertThat(result).containsExactly(
|
||||||
messageEvent,
|
messageEvent,
|
||||||
@@ -70,7 +68,6 @@ class LoadingIndicatorsPostProcessorTest {
|
|||||||
items = listOf(messageEvent, messageEvent2),
|
items = listOf(messageEvent, messageEvent2),
|
||||||
hasMoreToLoadBackward = true,
|
hasMoreToLoadBackward = true,
|
||||||
hasMoreToLoadForward = true,
|
hasMoreToLoadForward = true,
|
||||||
timelineMode = Timeline.Mode.Live,
|
|
||||||
)
|
)
|
||||||
assertThat(result).containsExactly(
|
assertThat(result).containsExactly(
|
||||||
MatrixTimelineItem.Virtual(
|
MatrixTimelineItem.Virtual(
|
||||||
@@ -100,7 +97,6 @@ class LoadingIndicatorsPostProcessorTest {
|
|||||||
items = listOf(),
|
items = listOf(),
|
||||||
hasMoreToLoadBackward = true,
|
hasMoreToLoadBackward = true,
|
||||||
hasMoreToLoadForward = true,
|
hasMoreToLoadForward = true,
|
||||||
timelineMode = Timeline.Mode.Live,
|
|
||||||
)
|
)
|
||||||
assertThat(result).containsExactly(
|
assertThat(result).containsExactly(
|
||||||
MatrixTimelineItem.Virtual(
|
MatrixTimelineItem.Virtual(
|
||||||
|
|||||||
Reference in New Issue
Block a user