From e9639516b5b99e5540b06b4e557f722058687548 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 12 Dec 2022 17:10:01 +0100 Subject: [PATCH] Fix detekted issues. --- .../x/features/messages/MessagesScreen.kt | 15 +++++++++------ .../x/features/roomlist/RoomListScreen.kt | 18 ++++++++++-------- .../roomlist/components/RoomListTopBar.kt | 9 +++++---- .../roomlist/components/RoomSummaryRow.kt | 5 ++--- .../x/features/roomlist/model/stubbed.kt | 6 ++++-- 5 files changed, 30 insertions(+), 23 deletions(-) diff --git a/features/messages/src/main/java/io/element/android/x/features/messages/MessagesScreen.kt b/features/messages/src/main/java/io/element/android/x/features/messages/MessagesScreen.kt index 2c75b2351d..8bc3bab96e 100644 --- a/features/messages/src/main/java/io/element/android/x/features/messages/MessagesScreen.kt +++ b/features/messages/src/main/java/io/element/android/x/features/messages/MessagesScreen.kt @@ -101,6 +101,9 @@ import io.element.android.x.features.messages.textcomposer.MessageComposerViewMo import io.element.android.x.features.messages.textcomposer.MessageComposerViewState import io.element.android.x.textcomposer.MessageComposerMode import io.element.android.x.textcomposer.TextComposer +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch import timber.log.Timber @@ -140,7 +143,7 @@ fun MessagesScreen( MessagesScreenContent( roomTitle = roomTitle, roomAvatar = roomAvatar, - timelineItems = timelineItems().orEmpty(), + timelineItems = timelineItems().orEmpty().toImmutableList(), hasMoreToLoad = hasMoreToLoad, onReachedLoadMore = viewModel::loadMore, onBackPressed = onBackPressed, @@ -182,7 +185,7 @@ fun MessagesScreen( fun MessagesScreenContent( roomTitle: String?, roomAvatar: AvatarData?, - timelineItems: List, + timelineItems: ImmutableList, hasMoreToLoad: Boolean, onReachedLoadMore: () -> Unit, onBackPressed: () -> Unit, @@ -241,7 +244,7 @@ fun MessagesScreenContent( @Composable fun MessagesContent( - timelineItems: List, + timelineItems: ImmutableList, hasMoreToLoad: Boolean, onReachedLoadMore: () -> Unit, onSendMessage: (String) -> Unit, @@ -337,7 +340,7 @@ fun MessagesTopAppBar( @Composable fun TimelineItems( lazyListState: LazyListState, - timelineItems: List, + timelineItems: ImmutableList, highlightedEventId: String?, modifier: Modifier = Modifier, hasMoreToLoad: Boolean = false, @@ -523,7 +526,7 @@ private fun MessageSenderInformation( @Composable internal fun BoxScope.MessagesScrollHelper( lazyListState: LazyListState, - timelineItems: List, + timelineItems: ImmutableList, onLoadMore: () -> Unit = {}, ) { val coroutineScope = rememberCoroutineScope() @@ -609,7 +612,7 @@ private fun TimelineItemsPreview( ) { TimelineItems( lazyListState = LazyListState(), - timelineItems = listOf( + timelineItems = persistentListOf( // 3 items (First Middle Last) with isMine = false createMessageEvent( isMine = false, diff --git a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/RoomListScreen.kt b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/RoomListScreen.kt index 148cfd0ecc..ad6fe13339 100644 --- a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/RoomListScreen.kt +++ b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/RoomListScreen.kt @@ -36,6 +36,8 @@ import io.element.android.x.features.roomlist.model.RoomListRoomSummary import io.element.android.x.features.roomlist.model.RoomListViewState import io.element.android.x.features.roomlist.model.stubbedRoomSummaries import io.element.android.x.matrix.core.RoomId +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList @Composable fun RoomListScreen( @@ -53,7 +55,7 @@ fun RoomListScreen( val roomSummaries by viewModel.collectAsState(RoomListViewState::rooms) val matrixUser by viewModel.collectAsState(RoomListViewState::user) RoomListContent( - roomSummaries = roomSummaries().orEmpty(), + roomSummaries = roomSummaries().orEmpty().toImmutableList(), matrixUser = matrixUser(), onRoomClicked = onRoomClicked, onLogoutClicked = viewModel::logout, @@ -66,16 +68,16 @@ fun RoomListScreen( @Composable fun RoomListContent( - roomSummaries: List, + roomSummaries: ImmutableList, matrixUser: MatrixUser?, - onRoomClicked: (RoomId) -> Unit, filter: String, - onFilterChanged: (String) -> Unit, - onLogoutClicked: () -> Unit, - onScrollOver: (IntRange) -> Unit, isLoginOut: Boolean, + modifier: Modifier = Modifier, + onRoomClicked: (RoomId) -> Unit = {}, + onFilterChanged: (String) -> Unit = {}, + onLogoutClicked: () -> Unit = {}, + onScrollOver: (IntRange) -> Unit = {}, ) { - fun onRoomClicked(room: RoomListRoomSummary) { onRoomClicked(room.roomId) } @@ -104,7 +106,7 @@ fun RoomListContent( } Scaffold( - modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), + modifier = modifier.nestedScroll(scrollBehavior.nestedScrollConnection), topBar = { RoomListTopBar( matrixUser = matrixUser, diff --git a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomListTopBar.kt b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomListTopBar.kt index 845b9b08bf..8e28c534a7 100644 --- a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomListTopBar.kt +++ b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomListTopBar.kt @@ -84,14 +84,15 @@ fun RoomListTopBar( @Composable fun SearchRoomListTopBar( text: String, - onFilterChanged: (String) -> Unit, - onCloseClicked: () -> Unit, - scrollBehavior: TopAppBarScrollBehavior + scrollBehavior: TopAppBarScrollBehavior, + modifier: Modifier = Modifier, + onFilterChanged: (String) -> Unit = {}, + onCloseClicked: () -> Unit = {}, ) { var filterState by textFieldState(stateValue = text) val focusRequester = remember { FocusRequester() } TopAppBar( - modifier = Modifier + modifier = modifier .nestedScroll(scrollBehavior.nestedScrollConnection), title = { TextField( diff --git a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomSummaryRow.kt b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomSummaryRow.kt index 025b070c5c..a83d2cd067 100644 --- a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomSummaryRow.kt +++ b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/components/RoomSummaryRow.kt @@ -43,11 +43,10 @@ private val minHeight = 72.dp @Composable internal fun RoomSummaryRow( - modifier: Modifier = Modifier, room: RoomListRoomSummary, - onClick: (RoomListRoomSummary) -> Unit + modifier: Modifier = Modifier, + onClick: (RoomListRoomSummary) -> Unit = {}, ) { - val clickModifier = if (room.isPlaceholder) { modifier } else { diff --git a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/model/stubbed.kt b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/model/stubbed.kt index 3261e63a6d..7813171e45 100644 --- a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/model/stubbed.kt +++ b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/model/stubbed.kt @@ -1,9 +1,11 @@ package io.element.android.x.features.roomlist.model import io.element.android.x.designsystem.components.avatar.AvatarData +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf -internal fun stubbedRoomSummaries(): List { - return listOf( +internal fun stubbedRoomSummaries(): ImmutableList { + return persistentListOf( RoomListRoomSummary( name = "Room", hasUnread = true,