diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt index 02a72777fe..193b5c3fbf 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt @@ -36,7 +36,7 @@ class RxRoom(private val room: Room) { fun liveRoomSummary(): Observable> { return room.getRoomSummaryLive() .asObservable() - .startWith(room.roomSummary().toOptional()) + .startWithCallable { room.roomSummary().toOptional() } } fun liveRoomMembers(queryParams: RoomMemberQueryParams): Observable> { diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt index c43616f574..2cd2bf2dd3 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt @@ -110,12 +110,16 @@ class RxSession(private val session: Session) { } fun liveUserCryptoDevices(userId: String): Observable> { - return session.getLiveCryptoDeviceInfo(userId).asObservable() + return session.getLiveCryptoDeviceInfo(userId).asObservable().startWithCallable { + session.getCryptoDeviceInfo(userId) + } } fun liveCrossSigningInfo(userId: String): Observable> { return session.getCrossSigningService().getLiveCrossSigningKeys(userId).asObservable() - .startWith(session.getCrossSigningService().getUserCrossSigningKeys(userId).toOptional()) + .startWithCallable { + session.getCrossSigningService().getUserCrossSigningKeys(userId).toOptional() + } } }