From f680ad9a7ce2cee058d66a106a56ad97a8d3e399 Mon Sep 17 00:00:00 2001 From: Infi Date: Fri, 11 Apr 2025 20:56:17 +0200 Subject: [PATCH] fix: index out of bounds when friends open on startup Signed-off-by: Infi --- .../screens/chat/views/FriendsScreen.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt b/app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt index 0b91b9fd..86320068 100644 --- a/app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt @@ -127,7 +127,9 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean, onDrawerClicked: () } items(FriendRequests.getIncoming().size) { - val item = FriendRequests.getIncoming()[it] + val item = FriendRequests.getIncoming().getOrNull(it) + if (item == null) return@items + MemberListItem( member = null, user = item, @@ -151,7 +153,9 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean, onDrawerClicked: () } items(FriendRequests.getOutgoing().size) { - val item = FriendRequests.getOutgoing()[it] + val item = FriendRequests.getOutgoing().getOrNull(it) + if (item == null) return@items + MemberListItem( member = null, user = item, @@ -175,7 +179,9 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean, onDrawerClicked: () } items(FriendRequests.getOnlineFriends().size) { - val item = FriendRequests.getOnlineFriends()[it] + val item = FriendRequests.getOnlineFriends().getOrNull(it) + if (item == null) return@items + MemberListItem( member = null, user = item, @@ -199,7 +205,9 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean, onDrawerClicked: () } items(FriendRequests.getFriends(true).size) { - val item = FriendRequests.getFriends(true)[it] + val item = FriendRequests.getFriends(true).getOrNull(it) + if (item == null) return@items + MemberListItem( member = null, user = item, @@ -224,7 +232,9 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean, onDrawerClicked: () items(FriendRequests.getBlocked().size) { - val item = FriendRequests.getBlocked()[it] + val item = FriendRequests.getBlocked().getOrNull(it) + if (item == null) return@items + MemberListItem( member = null, user = item,