mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Map displayed status for room members and timeline events
This commit is contained in:
+1
@@ -104,4 +104,5 @@ fun RoomMember.toMatrixUser() = MatrixUser(
|
|||||||
userId = userId,
|
userId = userId,
|
||||||
displayName = displayName.takeUnless { membership == RoomMembershipState.BAN },
|
displayName = displayName.takeUnless { membership == RoomMembershipState.BAN },
|
||||||
avatarUrl = avatarUrl.takeUnless { membership == RoomMembershipState.BAN },
|
avatarUrl = avatarUrl.takeUnless { membership == RoomMembershipState.BAN },
|
||||||
|
displayedStatus = displayedStatus,
|
||||||
)
|
)
|
||||||
|
|||||||
+6
-1
@@ -16,12 +16,15 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
|||||||
import io.element.android.libraries.matrix.api.room.RoomInfo
|
import io.element.android.libraries.matrix.api.room.RoomInfo
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
|
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
|
||||||
|
import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
import io.element.android.libraries.matrix.impl.room.history.map
|
import io.element.android.libraries.matrix.impl.room.history.map
|
||||||
import io.element.android.libraries.matrix.impl.room.join.map
|
import io.element.android.libraries.matrix.impl.room.join.map
|
||||||
import io.element.android.libraries.matrix.impl.room.member.RoomMemberMapper
|
import io.element.android.libraries.matrix.impl.room.member.RoomMemberMapper
|
||||||
import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsValuesMapper
|
import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsValuesMapper
|
||||||
import io.element.android.libraries.matrix.impl.room.tombstone.map
|
import io.element.android.libraries.matrix.impl.room.tombstone.map
|
||||||
|
import io.element.android.libraries.matrix.impl.user.from
|
||||||
|
import io.element.android.libraries.matrix.impl.user.into
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import kotlinx.collections.immutable.toImmutableMap
|
import kotlinx.collections.immutable.toImmutableMap
|
||||||
import org.matrix.rustcomponents.sdk.Membership
|
import org.matrix.rustcomponents.sdk.Membership
|
||||||
@@ -102,7 +105,9 @@ fun RustRoomNotificationMode.map(): RoomNotificationMode = when (this) {
|
|||||||
fun RoomHero.map(): MatrixUser = MatrixUser(
|
fun RoomHero.map(): MatrixUser = MatrixUser(
|
||||||
userId = UserId(userId),
|
userId = UserId(userId),
|
||||||
displayName = displayName,
|
displayName = displayName,
|
||||||
avatarUrl = avatarUrl
|
avatarUrl = avatarUrl,
|
||||||
|
displayedStatus = DisplayedStatus.from(status, call),
|
||||||
|
rawStatus = status?.into(),
|
||||||
)
|
)
|
||||||
|
|
||||||
fun mapPowerLevels(roomPowerLevels: RustRoomPowerLevels): RoomPowerLevels {
|
fun mapPowerLevels(roomPowerLevels: RustRoomPowerLevels): RoomPowerLevels {
|
||||||
|
|||||||
+3
-2
@@ -11,7 +11,9 @@ package io.element.android.libraries.matrix.impl.room.member
|
|||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
||||||
|
import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
||||||
import io.element.android.libraries.matrix.impl.room.powerlevels.into
|
import io.element.android.libraries.matrix.impl.room.powerlevels.into
|
||||||
|
import io.element.android.libraries.matrix.impl.user.from
|
||||||
import uniffi.matrix_sdk.RoomMemberRole
|
import uniffi.matrix_sdk.RoomMemberRole
|
||||||
import org.matrix.rustcomponents.sdk.MembershipState as RustMembershipState
|
import org.matrix.rustcomponents.sdk.MembershipState as RustMembershipState
|
||||||
import org.matrix.rustcomponents.sdk.RoomMember as RustRoomMember
|
import org.matrix.rustcomponents.sdk.RoomMember as RustRoomMember
|
||||||
@@ -30,8 +32,7 @@ object RoomMemberMapper {
|
|||||||
role = mapRole(roomMember.suggestedRoleForPowerLevel, powerLevel),
|
role = mapRole(roomMember.suggestedRoleForPowerLevel, powerLevel),
|
||||||
membershipChangeReason = roomMember.membershipChangeReason,
|
membershipChangeReason = roomMember.membershipChangeReason,
|
||||||
isServiceMember = roomMember.isServiceMember,
|
isServiceMember = roomMember.isServiceMember,
|
||||||
// TODO map this value when available
|
displayedStatus = DisplayedStatus.from(roomMember.status, roomMember.call),
|
||||||
displayedStatus = null,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -21,7 +21,9 @@ import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetail
|
|||||||
import io.element.android.libraries.matrix.api.timeline.item.event.ReactionSender
|
import io.element.android.libraries.matrix.api.timeline.item.event.ReactionSender
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.Receipt
|
import io.element.android.libraries.matrix.api.timeline.item.event.Receipt
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TimelineItemEventOrigin
|
import io.element.android.libraries.matrix.api.timeline.item.event.TimelineItemEventOrigin
|
||||||
|
import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
||||||
import io.element.android.libraries.matrix.impl.core.RustSendHandle
|
import io.element.android.libraries.matrix.impl.core.RustSendHandle
|
||||||
|
import io.element.android.libraries.matrix.impl.user.from
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
@@ -75,8 +77,7 @@ fun RustProfileDetails.map(): ProfileDetails {
|
|||||||
displayName = displayName,
|
displayName = displayName,
|
||||||
displayNameAmbiguous = displayNameAmbiguous,
|
displayNameAmbiguous = displayNameAmbiguous,
|
||||||
avatarUrl = avatarUrl,
|
avatarUrl = avatarUrl,
|
||||||
// TODO map this value when available
|
displayedStatus = DisplayedStatus.from(status, call),
|
||||||
displayedStatus = null,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user