diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt index dd28bbcc73..9d72d639ba 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt @@ -51,7 +51,7 @@ internal class DefaultLeaveRoomTask @Inject constructor( } private suspend fun leaveRoom(roomId: String, reason: String?) { - val roomSummary = roomSummaryDataSource.getRoomSummary(roomId) + val roomSummary = roomSummaryDataSource.awaitRoomSummary(roomId) if (roomSummary?.membership?.isActive() == false) { Timber.v("Room $roomId is not joined so can't be left") return diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpace.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpace.kt index 32faffa670..9d29db83d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpace.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpace.kt @@ -53,7 +53,7 @@ internal class DefaultSpace( ) { // Find best via val bestVia = viaServers - ?: (spaceSummaryDataSource.getRoomSummary(roomId) + ?: (spaceSummaryDataSource.awaitRoomSummary(roomId) ?.takeIf { it.joinRules == RoomJoinRules.RESTRICTED } ?.let { // for restricted room, best to take via from users that can invite in the diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpaceService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpaceService.kt index d2f1b3202b..bab2b76b22 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpaceService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/space/DefaultSpaceService.kt @@ -246,7 +246,7 @@ internal class DefaultSpaceService @Inject constructor( // and if client want to bypass, it could use sendStateEvent directly? if (canonical) { // check that we can send m.child in the parent room - if (roomSummaryDataSource.getRoomSummary(parentSpaceId)?.membership != Membership.JOIN) { + if (roomSummaryDataSource.awaitRoomSummary(parentSpaceId)?.membership != Membership.JOIN) { throw UnsupportedOperationException("Cannot add canonical child if not member of parent") } val powerLevelsEvent = stateEventDataSource.getStateEvent( diff --git a/vector/src/main/java/im/vector/app/features/call/lookup/CallUserMapper.kt b/vector/src/main/java/im/vector/app/features/call/lookup/CallUserMapper.kt index eb04ab63d7..764cfe3a1e 100644 --- a/vector/src/main/java/im/vector/app/features/call/lookup/CallUserMapper.kt +++ b/vector/src/main/java/im/vector/app/features/call/lookup/CallUserMapper.kt @@ -58,7 +58,7 @@ class CallUserMapper(private val session: Session, private val protocolsChecker: protocolsChecker.awaitCheckProtocols() if (!protocolsChecker.supportVirtualRooms) return val invitedRoom = session.getRoom(invitedRoomId) ?: return - val inviterId = invitedRoom.roomSummary()?.inviterId ?: return + val inviterId = invitedRoom.awaitRoomSummary()?.inviterId ?: return val nativeLookup = session.sipNativeLookup(inviterId).firstOrNull() ?: return if (nativeLookup.fields.containsKey("is_virtual")) { val nativeUser = nativeLookup.userId diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt index 49467c0531..c5e387d7ff 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt @@ -294,7 +294,7 @@ class RoomListViewModel @AssistedInject constructor( session.getRoom(action.roomId)?.let { room -> viewModelScope.launch(Dispatchers.IO) { try { - if (room.roomSummary()?.hasTag(action.tag) == false) { + if (room.awaitRoomSummary()?.hasTag(action.tag) == false) { // Favorite and low priority tags are exclusive, so maybe delete the other tag first action.tag.otherTag() ?.takeIf { room.roomSummary()?.hasTag(it).orFalse() } diff --git a/vector/src/main/java/im/vector/app/features/invite/InvitesAcceptor.kt b/vector/src/main/java/im/vector/app/features/invite/InvitesAcceptor.kt index bdc9ee2d1a..67e1a7cfdf 100644 --- a/vector/src/main/java/im/vector/app/features/invite/InvitesAcceptor.kt +++ b/vector/src/main/java/im/vector/app/features/invite/InvitesAcceptor.kt @@ -122,7 +122,7 @@ class InvitesAcceptor @Inject constructor( // if we got 404 on invites, the inviting user have left or the hs is off. if (failure is Failure.ServerError && failure.httpCode == 404) { val room = getRoom(roomId) ?: return - val inviterId = room.roomSummary()?.inviterId + val inviterId = room.awaitRoomSummary()?.inviterId // if the inviting user is on the same HS, there can only be one cause: they left, so we try to reject the invite. if (inviterId?.endsWith(sessionParams.credentials.homeServer.orEmpty()).orFalse()) { shouldRejectRoomIds.add(roomId)