From 24851f2e32baf8cbddea6905272ebfbff2f5dee8 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 14 Nov 2025 12:27:45 +0100 Subject: [PATCH] change(room members): address PR reviews --- ...ternalRoomMemberModerationStateProvider.kt | 8 ++++++ .../matrix/impl/room/JoinedRustRoom.kt | 18 ++++++++----- .../timeline/MatrixTimelineDiffProcessor.kt | 26 +++++++++---------- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt index 4d79abdabb..d90f352cfa 100644 --- a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt +++ b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt @@ -65,6 +65,14 @@ class InternalRoomMemberModerationStateProvider : PreviewParameterProvider): DiffingResult { - val mutableTimelineItems = if (timelineItems.replayCache.isNotEmpty()) { - timelineItems.first().toMutableList() + val timelineItems = if (timelineItems.replayCache.isNotEmpty()) { + timelineItems.first() } else { - mutableListOf() + emptyList() } - val result = DiffingResult(items = mutableTimelineItems) + val result = DiffingResult(timelineItems) diffs.forEach { diff -> result.applyDiff(diff) } @@ -107,14 +107,14 @@ internal class MatrixTimelineDiffProcessor( } } -private class DiffingResult( - private val items: MutableList, - private var hasNewEventsFromSync: Boolean = false, - private var hasMembershipChangeEventFromSync: Boolean = false, -) { +private class DiffingResult(initialItems: List) { + private val items = initialItems.toMutableList() + var hasNewEventsFromSync: Boolean = false + private set + var hasMembershipChangeEventFromSync: Boolean = false + private set + fun items(): List = items - fun hasNewEventsFromSync(): Boolean = hasNewEventsFromSync - fun hasMembershipChangeEventFromSync(): Boolean = hasMembershipChangeEventFromSync fun add(item: MatrixTimelineItem) { processItem(item)