From 0040f8e924d13a0b55a22e343621109ed3e64a58 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 24 Oct 2019 18:51:47 +0200 Subject: [PATCH 1/2] Fix crash reported by Rageshake, stateKey can be null --- .../android/internal/session/room/membership/RoomMembers.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt index b50424b343..9fba1d8f02 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt @@ -73,6 +73,7 @@ internal class RoomMembers(private val realm: Realm, return EventEntity .where(realm, roomId, EventType.STATE_ROOM_MEMBER) .sort(EventEntityFields.STATE_INDEX, Sort.DESCENDING) + .isNotNull(EventEntityFields.STATE_KEY) .distinct(EventEntityFields.STATE_KEY) .isNotNull(EventEntityFields.CONTENT) } From fbf73c7c8eb41a75b591f3ecafb6baee23ccca94 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 24 Oct 2019 18:52:34 +0200 Subject: [PATCH 2/2] shorter code --- .../home/room/detail/composer/TextComposerViewModel.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/composer/TextComposerViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/composer/TextComposerViewModel.kt index 84917d682b..69ecc30583 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/composer/TextComposerViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/composer/TextComposerViewModel.kt @@ -76,11 +76,8 @@ class TextComposerViewModel @AssistedInject constructor(@Assisted initialState: Observable.combineLatest, Option, List>( room.rx().liveRoomMemberIds(), usersQueryObservable.throttleLast(300, TimeUnit.MILLISECONDS), - BiFunction { roomMembers, query -> - val users = roomMembers - .mapNotNull { - session.getUser(it) - } + BiFunction { roomMemberIds, query -> + val users = roomMemberIds.mapNotNull { session.getUser(it) } val filter = query.orNull() if (filter.isNullOrBlank()) {