diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 745343d4e2..4aba5dc440 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -13,13 +13,9 @@ import androidx.compose.runtime.produceState import androidx.compose.runtime.rememberCoroutineScope import io.element.android.features.messages.impl.messagecomposer.observeRoomMemberIdentityStateChange import io.element.android.libraries.architecture.Presenter -import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.room.MatrixRoom -import io.element.android.libraries.matrix.api.room.RoomMember -import io.element.android.libraries.matrix.ui.model.getAvatarData import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -68,20 +64,3 @@ class IdentityChangeStatePresenter @Inject constructor( } } } - -fun RoomMember.toIdentityRoomMember() = IdentityRoomMember( - userId = userId, - displayNameOrDefault = displayNameOrDefault, - avatarData = getAvatarData(AvatarSize.ComposerAlert), -) - -fun createDefaultRoomMemberForIdentityChange(userId: UserId) = IdentityRoomMember( - userId = userId, - displayNameOrDefault = userId.extractedDisplayName, - avatarData = AvatarData( - id = userId.value, - name = null, - url = null, - size = AvatarSize.ComposerAlert, - ), -) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerUtils.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerUtils.kt index f1ec4f6156..48230840b1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerUtils.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerUtils.kt @@ -8,11 +8,15 @@ package io.element.android.features.messages.impl.messagecomposer import androidx.compose.runtime.ProduceStateScope +import io.element.android.features.messages.impl.crypto.identity.IdentityRoomMember import io.element.android.features.messages.impl.crypto.identity.RoomMemberIdentityStateChange -import io.element.android.features.messages.impl.crypto.identity.createDefaultRoomMemberForIdentityChange -import io.element.android.features.messages.impl.crypto.identity.toIdentityRoomMember +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.components.avatar.AvatarSize +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.roomMembers +import io.element.android.libraries.matrix.ui.model.getAvatarData import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -51,3 +55,20 @@ fun ProduceStateScope>.observeRoom } .launchIn(this) } + +private fun RoomMember.toIdentityRoomMember() = IdentityRoomMember( + userId = userId, + displayNameOrDefault = displayNameOrDefault, + avatarData = getAvatarData(AvatarSize.ComposerAlert), +) + +private fun createDefaultRoomMemberForIdentityChange(userId: UserId) = IdentityRoomMember( + userId = userId, + displayNameOrDefault = userId.extractedDisplayName, + avatarData = AvatarData( + id = userId.value, + name = null, + url = null, + size = AvatarSize.ComposerAlert, + ), +)