Transform MessageEventType and StateEventType into sealed interfaces to handle the Custom variant, also add missing variants
This commit is contained in:
parent
0ed40c562d
commit
a8ffe46d99
16 changed files with 230 additions and 164 deletions
|
|
@ -12,11 +12,21 @@ import io.element.android.libraries.matrix.api.room.MessageEventType
|
|||
import org.matrix.rustcomponents.sdk.MessageLikeEventType
|
||||
|
||||
fun MessageEventType.map(): MessageLikeEventType = when (this) {
|
||||
MessageEventType.Audio -> MessageLikeEventType.Audio
|
||||
MessageEventType.Beacon -> MessageLikeEventType.Beacon
|
||||
MessageEventType.CallAnswer -> MessageLikeEventType.CallAnswer
|
||||
MessageEventType.CallCandidates -> MessageLikeEventType.CallCandidates
|
||||
MessageEventType.CallInvite -> MessageLikeEventType.CallInvite
|
||||
MessageEventType.CallHangup -> MessageLikeEventType.CallHangup
|
||||
MessageEventType.CallCandidates -> MessageLikeEventType.CallCandidates
|
||||
MessageEventType.RtcNotification -> MessageLikeEventType.RtcNotification
|
||||
MessageEventType.CallNegotiate -> MessageLikeEventType.CallNegotiate
|
||||
MessageEventType.CallNotify -> MessageLikeEventType.CallNotify
|
||||
MessageEventType.CallReject -> MessageLikeEventType.CallReject
|
||||
MessageEventType.CallSdpStreamMetadataChanged -> MessageLikeEventType.CallSdpStreamMetadataChanged
|
||||
MessageEventType.CallSelectAnswer -> MessageLikeEventType.CallSelectAnswer
|
||||
MessageEventType.Emote -> MessageLikeEventType.Emote
|
||||
MessageEventType.Encrypted -> MessageLikeEventType.Encrypted
|
||||
MessageEventType.File -> MessageLikeEventType.File
|
||||
MessageEventType.Image -> MessageLikeEventType.Image
|
||||
MessageEventType.KeyVerificationReady -> MessageLikeEventType.KeyVerificationReady
|
||||
MessageEventType.KeyVerificationStart -> MessageLikeEventType.KeyVerificationStart
|
||||
MessageEventType.KeyVerificationCancel -> MessageLikeEventType.KeyVerificationCancel
|
||||
|
|
@ -24,17 +34,23 @@ fun MessageEventType.map(): MessageLikeEventType = when (this) {
|
|||
MessageEventType.KeyVerificationKey -> MessageLikeEventType.KeyVerificationKey
|
||||
MessageEventType.KeyVerificationMac -> MessageLikeEventType.KeyVerificationMac
|
||||
MessageEventType.KeyVerificationDone -> MessageLikeEventType.KeyVerificationDone
|
||||
MessageEventType.Location -> MessageLikeEventType.Location
|
||||
MessageEventType.Message -> MessageLikeEventType.Message
|
||||
MessageEventType.Reaction -> MessageLikeEventType.Reaction
|
||||
MessageEventType.RoomEncrypted -> MessageLikeEventType.RoomEncrypted
|
||||
MessageEventType.RoomMessage -> MessageLikeEventType.RoomMessage
|
||||
MessageEventType.RoomRedaction -> MessageLikeEventType.RoomRedaction
|
||||
MessageEventType.RtcDecline -> MessageLikeEventType.RtcDecline
|
||||
MessageEventType.Sticker -> MessageLikeEventType.Sticker
|
||||
MessageEventType.PollEnd -> MessageLikeEventType.PollEnd
|
||||
MessageEventType.PollResponse -> MessageLikeEventType.PollResponse
|
||||
MessageEventType.PollStart -> MessageLikeEventType.PollStart
|
||||
MessageEventType.RtcNotification -> MessageLikeEventType.RtcNotification
|
||||
MessageEventType.UnstablePollEnd -> MessageLikeEventType.UnstablePollEnd
|
||||
MessageEventType.UnstablePollResponse -> MessageLikeEventType.UnstablePollResponse
|
||||
MessageEventType.UnstablePollStart -> MessageLikeEventType.UnstablePollStart
|
||||
MessageEventType.Video -> MessageLikeEventType.Video
|
||||
MessageEventType.Voice -> MessageLikeEventType.Voice
|
||||
is MessageEventType.Other -> MessageLikeEventType.Other(type)
|
||||
}
|
||||
|
||||
|
|
@ -62,5 +78,21 @@ fun MessageLikeEventType.map(): MessageEventType = when (this) {
|
|||
MessageLikeEventType.UnstablePollEnd -> MessageEventType.UnstablePollEnd
|
||||
MessageLikeEventType.UnstablePollResponse -> MessageEventType.UnstablePollResponse
|
||||
MessageLikeEventType.UnstablePollStart -> MessageEventType.UnstablePollStart
|
||||
MessageLikeEventType.Audio -> MessageEventType.Audio
|
||||
MessageLikeEventType.Beacon -> MessageEventType.Beacon
|
||||
MessageLikeEventType.CallNegotiate -> MessageEventType.CallNegotiate
|
||||
MessageLikeEventType.CallNotify -> MessageEventType.CallNotify
|
||||
MessageLikeEventType.CallReject -> MessageEventType.CallReject
|
||||
MessageLikeEventType.CallSdpStreamMetadataChanged -> MessageEventType.CallSdpStreamMetadataChanged
|
||||
MessageLikeEventType.CallSelectAnswer -> MessageEventType.CallSelectAnswer
|
||||
MessageLikeEventType.Emote -> MessageEventType.Emote
|
||||
MessageLikeEventType.Encrypted -> MessageEventType.Encrypted
|
||||
MessageLikeEventType.File -> MessageEventType.File
|
||||
MessageLikeEventType.Image -> MessageEventType.Image
|
||||
MessageLikeEventType.Location -> MessageEventType.Location
|
||||
MessageLikeEventType.Message -> MessageEventType.Message
|
||||
MessageLikeEventType.RtcDecline -> MessageEventType.RtcDecline
|
||||
MessageLikeEventType.Video -> MessageEventType.Video
|
||||
MessageLikeEventType.Voice -> MessageEventType.Voice
|
||||
is MessageLikeEventType.Other -> MessageEventType.Other(v1)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,51 +12,61 @@ import io.element.android.libraries.matrix.api.room.StateEventType
|
|||
import org.matrix.rustcomponents.sdk.StateEventType as RustStateEventType
|
||||
|
||||
fun StateEventType.map(): RustStateEventType = when (this) {
|
||||
StateEventType.POLICY_RULE_ROOM -> RustStateEventType.POLICY_RULE_ROOM
|
||||
StateEventType.POLICY_RULE_SERVER -> RustStateEventType.POLICY_RULE_SERVER
|
||||
StateEventType.POLICY_RULE_USER -> RustStateEventType.POLICY_RULE_USER
|
||||
StateEventType.CALL_MEMBER -> RustStateEventType.CALL_MEMBER
|
||||
StateEventType.ROOM_ALIASES -> RustStateEventType.ROOM_ALIASES
|
||||
StateEventType.ROOM_AVATAR -> RustStateEventType.ROOM_AVATAR
|
||||
StateEventType.ROOM_CANONICAL_ALIAS -> RustStateEventType.ROOM_CANONICAL_ALIAS
|
||||
StateEventType.ROOM_CREATE -> RustStateEventType.ROOM_CREATE
|
||||
StateEventType.ROOM_ENCRYPTION -> RustStateEventType.ROOM_ENCRYPTION
|
||||
StateEventType.ROOM_GUEST_ACCESS -> RustStateEventType.ROOM_GUEST_ACCESS
|
||||
StateEventType.ROOM_HISTORY_VISIBILITY -> RustStateEventType.ROOM_HISTORY_VISIBILITY
|
||||
StateEventType.ROOM_JOIN_RULES -> RustStateEventType.ROOM_JOIN_RULES
|
||||
StateEventType.ROOM_MEMBER_EVENT -> RustStateEventType.ROOM_MEMBER_EVENT
|
||||
StateEventType.ROOM_NAME -> RustStateEventType.ROOM_NAME
|
||||
StateEventType.ROOM_PINNED_EVENTS -> RustStateEventType.ROOM_PINNED_EVENTS
|
||||
StateEventType.ROOM_POWER_LEVELS -> RustStateEventType.ROOM_POWER_LEVELS
|
||||
StateEventType.ROOM_SERVER_ACL -> RustStateEventType.ROOM_SERVER_ACL
|
||||
StateEventType.ROOM_THIRD_PARTY_INVITE -> RustStateEventType.ROOM_THIRD_PARTY_INVITE
|
||||
StateEventType.ROOM_TOMBSTONE -> RustStateEventType.ROOM_TOMBSTONE
|
||||
StateEventType.ROOM_TOPIC -> RustStateEventType.ROOM_TOPIC
|
||||
StateEventType.SPACE_CHILD -> RustStateEventType.SPACE_CHILD
|
||||
StateEventType.SPACE_PARENT -> RustStateEventType.SPACE_PARENT
|
||||
StateEventType.PolicyRuleRoom -> RustStateEventType.PolicyRuleRoom
|
||||
StateEventType.PolicyRuleServer -> RustStateEventType.PolicyRuleServer
|
||||
StateEventType.PolicyRuleUser -> RustStateEventType.PolicyRuleUser
|
||||
StateEventType.CallMember -> RustStateEventType.CallMember
|
||||
StateEventType.RoomAliases -> RustStateEventType.RoomAliases
|
||||
StateEventType.RoomAvatar -> RustStateEventType.RoomAvatar
|
||||
StateEventType.RoomCanonicalAlias -> RustStateEventType.RoomCanonicalAlias
|
||||
StateEventType.RoomCreate -> RustStateEventType.RoomCreate
|
||||
StateEventType.RoomEncryption -> RustStateEventType.RoomEncryption
|
||||
StateEventType.RoomGuestAccess -> RustStateEventType.RoomGuestAccess
|
||||
StateEventType.RoomHistoryVisibility -> RustStateEventType.RoomHistoryVisibility
|
||||
StateEventType.RoomJoinRules -> RustStateEventType.RoomJoinRules
|
||||
StateEventType.RoomMemberEvent -> RustStateEventType.RoomMemberEvent
|
||||
StateEventType.RoomName -> RustStateEventType.RoomName
|
||||
StateEventType.RoomPinnedEvents -> RustStateEventType.RoomPinnedEvents
|
||||
StateEventType.RoomPowerLevels -> RustStateEventType.RoomPowerLevels
|
||||
StateEventType.RoomServerAcl -> RustStateEventType.RoomServerAcl
|
||||
StateEventType.RoomThirdPartyInvite -> RustStateEventType.RoomThirdPartyInvite
|
||||
StateEventType.RoomTombstone -> RustStateEventType.RoomTombstone
|
||||
StateEventType.RoomTopic -> RustStateEventType.RoomTopic
|
||||
StateEventType.SpaceChild -> RustStateEventType.SpaceChild
|
||||
StateEventType.SpaceParent -> RustStateEventType.SpaceParent
|
||||
StateEventType.BeaconInfo -> RustStateEventType.BeaconInfo
|
||||
StateEventType.MemberHints -> RustStateEventType.MemberHints
|
||||
StateEventType.RoomImagePack -> RustStateEventType.RoomImagePack
|
||||
StateEventType.RoomLanguage -> RustStateEventType.RoomLanguage
|
||||
is StateEventType.Custom -> RustStateEventType.Custom(type)
|
||||
}
|
||||
|
||||
fun RustStateEventType.map(): StateEventType = when (this) {
|
||||
RustStateEventType.POLICY_RULE_ROOM -> StateEventType.POLICY_RULE_ROOM
|
||||
RustStateEventType.POLICY_RULE_SERVER -> StateEventType.POLICY_RULE_SERVER
|
||||
RustStateEventType.POLICY_RULE_USER -> StateEventType.POLICY_RULE_USER
|
||||
RustStateEventType.CALL_MEMBER -> StateEventType.CALL_MEMBER
|
||||
RustStateEventType.ROOM_ALIASES -> StateEventType.ROOM_ALIASES
|
||||
RustStateEventType.ROOM_AVATAR -> StateEventType.ROOM_AVATAR
|
||||
RustStateEventType.ROOM_CANONICAL_ALIAS -> StateEventType.ROOM_CANONICAL_ALIAS
|
||||
RustStateEventType.ROOM_CREATE -> StateEventType.ROOM_CREATE
|
||||
RustStateEventType.ROOM_ENCRYPTION -> StateEventType.ROOM_ENCRYPTION
|
||||
RustStateEventType.ROOM_GUEST_ACCESS -> StateEventType.ROOM_GUEST_ACCESS
|
||||
RustStateEventType.ROOM_HISTORY_VISIBILITY -> StateEventType.ROOM_HISTORY_VISIBILITY
|
||||
RustStateEventType.ROOM_JOIN_RULES -> StateEventType.ROOM_JOIN_RULES
|
||||
RustStateEventType.ROOM_MEMBER_EVENT -> StateEventType.ROOM_MEMBER_EVENT
|
||||
RustStateEventType.ROOM_NAME -> StateEventType.ROOM_NAME
|
||||
RustStateEventType.ROOM_PINNED_EVENTS -> StateEventType.ROOM_PINNED_EVENTS
|
||||
RustStateEventType.ROOM_POWER_LEVELS -> StateEventType.ROOM_POWER_LEVELS
|
||||
RustStateEventType.ROOM_SERVER_ACL -> StateEventType.ROOM_SERVER_ACL
|
||||
RustStateEventType.ROOM_THIRD_PARTY_INVITE -> StateEventType.ROOM_THIRD_PARTY_INVITE
|
||||
RustStateEventType.ROOM_TOMBSTONE -> StateEventType.ROOM_TOMBSTONE
|
||||
RustStateEventType.ROOM_TOPIC -> StateEventType.ROOM_TOPIC
|
||||
RustStateEventType.SPACE_CHILD -> StateEventType.SPACE_CHILD
|
||||
RustStateEventType.SPACE_PARENT -> StateEventType.SPACE_PARENT
|
||||
RustStateEventType.PolicyRuleRoom -> StateEventType.PolicyRuleRoom
|
||||
RustStateEventType.PolicyRuleServer -> StateEventType.PolicyRuleServer
|
||||
RustStateEventType.PolicyRuleUser -> StateEventType.PolicyRuleUser
|
||||
RustStateEventType.CallMember -> StateEventType.CallMember
|
||||
RustStateEventType.RoomAliases -> StateEventType.RoomAliases
|
||||
RustStateEventType.RoomAvatar -> StateEventType.RoomAvatar
|
||||
RustStateEventType.RoomCanonicalAlias -> StateEventType.RoomCanonicalAlias
|
||||
RustStateEventType.RoomCreate -> StateEventType.RoomCreate
|
||||
RustStateEventType.RoomEncryption -> StateEventType.RoomEncryption
|
||||
RustStateEventType.RoomGuestAccess -> StateEventType.RoomGuestAccess
|
||||
RustStateEventType.RoomHistoryVisibility -> StateEventType.RoomHistoryVisibility
|
||||
RustStateEventType.RoomJoinRules -> StateEventType.RoomJoinRules
|
||||
RustStateEventType.RoomMemberEvent -> StateEventType.RoomMemberEvent
|
||||
RustStateEventType.RoomName -> StateEventType.RoomName
|
||||
RustStateEventType.RoomPinnedEvents -> StateEventType.RoomPinnedEvents
|
||||
RustStateEventType.RoomPowerLevels -> StateEventType.RoomPowerLevels
|
||||
RustStateEventType.RoomServerAcl -> StateEventType.RoomServerAcl
|
||||
RustStateEventType.RoomThirdPartyInvite -> StateEventType.RoomThirdPartyInvite
|
||||
RustStateEventType.RoomTombstone -> StateEventType.RoomTombstone
|
||||
RustStateEventType.RoomTopic -> StateEventType.RoomTopic
|
||||
RustStateEventType.SpaceChild -> StateEventType.SpaceChild
|
||||
RustStateEventType.SpaceParent -> StateEventType.SpaceParent
|
||||
RustStateEventType.BeaconInfo -> StateEventType.BeaconInfo
|
||||
RustStateEventType.MemberHints -> StateEventType.MemberHints
|
||||
RustStateEventType.RoomImagePack -> StateEventType.RoomImagePack
|
||||
RustStateEventType.RoomLanguage -> StateEventType.RoomLanguage
|
||||
is RustStateEventType.Custom -> StateEventType.Custom(value)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue