Skip to content

Commit fac919e

Browse files
committed
Remove process extension and provide isInit parameter to the processors.
1 parent f87422a commit fac919e

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -212,20 +212,28 @@ class RustTimeline(
212212
) { timelineItems, hasMoreToLoadBackward, hasMoreToLoadForward, roomCreator, isInit ->
213213
withContext(dispatcher) {
214214
timelineItems
215-
.process { items ->
215+
.let { items ->
216216
roomBeginningPostProcessor.process(
217217
items = items,
218218
isDm = matrixRoom.isDm,
219219
roomCreator = roomCreator,
220220
hasMoreToLoadBackwards = hasMoreToLoadBackward,
221221
)
222222
}
223-
.process(predicate = isInit) { items ->
224-
loadingIndicatorsPostProcessor.process(items, hasMoreToLoadBackward, hasMoreToLoadForward)
223+
.let { items ->
224+
loadingIndicatorsPostProcessor.process(
225+
items = items,
226+
isInit = isInit,
227+
hasMoreToLoadBackward = hasMoreToLoadBackward,
228+
hasMoreToLoadForward = hasMoreToLoadForward
229+
)
225230
}
226231
// Keep lastForwardIndicatorsPostProcessor last
227-
.process(predicate = isInit) { items ->
228-
lastForwardIndicatorsPostProcessor.process(items)
232+
.let { items ->
233+
lastForwardIndicatorsPostProcessor.process(
234+
items = items,
235+
isInit = isInit,
236+
)
229237
}
230238
}
231239
}.onStart {
@@ -544,14 +552,3 @@ class RustTimeline(
544552
}
545553
}
546554
}
547-
548-
private suspend fun List<MatrixTimelineItem>.process(
549-
predicate: Boolean = true,
550-
processor: suspend (List<MatrixTimelineItem>) -> List<MatrixTimelineItem>
551-
): List<MatrixTimelineItem> {
552-
return if (predicate) {
553-
processor(this)
554-
} else {
555-
this
556-
}
557-
}

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ class LastForwardIndicatorsPostProcessor(
2222

2323
fun process(
2424
items: List<MatrixTimelineItem>,
25+
isInit: Boolean,
2526
): List<MatrixTimelineItem> {
27+
if (!isInit) return items
2628
// We don't need to add the last forward indicator if we are not in the FOCUSED_ON_EVENT mode
2729
if (mode != Timeline.Mode.FOCUSED_ON_EVENT) {
2830
return items

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ import io.element.android.services.toolbox.api.systemclock.SystemClock
1616
class LoadingIndicatorsPostProcessor(private val systemClock: SystemClock) {
1717
fun process(
1818
items: List<MatrixTimelineItem>,
19+
isInit: Boolean,
1920
hasMoreToLoadBackward: Boolean,
2021
hasMoreToLoadForward: Boolean,
2122
): List<MatrixTimelineItem> {
23+
if (!isInit) return items
2224
val shouldAddForwardLoadingIndicator = hasMoreToLoadForward && items.isNotEmpty()
2325
val currentTimestamp = systemClock.epochMillis()
2426
return buildList {

0 commit comments

Comments
 (0)