diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt index de6a71e581..518f0a0a6d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt @@ -123,7 +123,7 @@ internal class DefaultCreateRoomTask @Inject constructor( this.isDirect = true } } - val directChats = directChatsHelper.getLocalUserAccount() + val directChats = directChatsHelper.getLocalDirectMessages() updateUserAccountDataTask.execute(UpdateUserAccountDataTask.DirectChatParams(directMessages = directChats)) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt index b8d987d500..c23421281c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt @@ -83,7 +83,7 @@ internal class UserAccountDataSyncHandler @Inject constructor( // If we get some direct chat invites, we synchronize the user account data including those. suspend fun synchronizeWithServerIfNeeded(invites: Map) { if (invites.isNullOrEmpty()) return - val directChats = directChatsHelper.getLocalUserAccount() + val directChats = directChatsHelper.getLocalDirectMessages() var hasUpdate = false monarchy.doWithRealm { realm -> invites.forEach { (roomId, _) -> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt index 41173dea96..06ae7b9a8f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt @@ -19,4 +19,4 @@ package org.matrix.android.sdk.internal.session.sync.model.accountdata /** * Keys are userIds, values are list of roomIds */ -internal typealias DirectMessagesContent = Map> +internal typealias DirectMessagesContent = MutableMap> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt index a9e5089774..3703057643 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt @@ -21,6 +21,7 @@ import org.matrix.android.sdk.internal.database.query.getDirectRooms import org.matrix.android.sdk.internal.di.SessionDatabase import io.realm.Realm import io.realm.RealmConfiguration +import org.matrix.android.sdk.internal.session.sync.model.accountdata.DirectMessagesContent import javax.inject.Inject internal class DirectChatsHelper @Inject constructor(@SessionDatabase @@ -29,7 +30,7 @@ internal class DirectChatsHelper @Inject constructor(@SessionDatabase /** * @return a map of userId <-> list of roomId */ - fun getLocalUserAccount(filterRoomId: String? = null): MutableMap> { + fun getLocalDirectMessages(filterRoomId: String? = null): DirectMessagesContent { return Realm.getInstance(realmConfiguration).use { realm -> // Makes sure we have the latest realm updates, this is important as we sent this information to the server. realm.refresh()