From 9783dee5374cc1a6e8442d98dc71f2efc0ec2db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 2 Feb 2024 13:05:37 +0100 Subject: [PATCH] Tweak room list behaviour: - Instead of an extra item, use `contentPadding`. - Make sure each item has an unique id. --- .../android/features/roomlist/impl/RoomListView.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt index cf4ee97c72..929d2550a4 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt @@ -20,6 +20,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -220,7 +221,6 @@ private fun RoomListContent( ) }, content = { padding -> - println(state.roomList) if (state.roomList is AsyncData.Success && state.roomList.data.isEmpty()) { EmptyRoomListView(onCreateRoomClicked) } else { @@ -230,6 +230,8 @@ private fun RoomListContent( .consumeWindowInsets(padding) .nestedScroll(nestedScrollConnection), state = lazyListState, + // FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80 + contentPadding = PaddingValues(bottom = 80.dp) ) { when { state.displayVerificationPrompt -> { @@ -260,6 +262,7 @@ private fun RoomListContent( itemsIndexed( items = roomList, contentType = { _, room -> room.contentType() }, + key = { _, room -> room.roomId.value } ) { index, room -> RoomSummaryRow( room = room, @@ -270,11 +273,6 @@ private fun RoomListContent( HorizontalDivider() } } - // Add a last Spacer item to ensure that the FAB does not hide the last room item - // FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80 - item { - Spacer(modifier = Modifier.height(80.dp)) - } } } },