From 266612f9da33c706cc1e549dd09411e708fc8390 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Oct 2023 16:12:20 +0200 Subject: [PATCH] MessageContent.type cannot be null --- .../factories/event/TimelineItemContentMessageFactory.kt | 2 +- .../eventformatter/impl/DefaultRoomLastMessageFormatter.kt | 4 +--- .../libraries/matrix/api/timeline/item/event/EventContent.kt | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemContentMessageFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemContentMessageFactory.kt index 8e6561543c..18e5353a1f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemContentMessageFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemContentMessageFactory.kt @@ -49,7 +49,7 @@ class TimelineItemContentMessageFactory @Inject constructor( ) { fun create(content: MessageContent, senderDisplayName: String): TimelineItemEventContent { - return when (val messageType = content.type ?: UnknownMessageType) { + return when (val messageType = content.type) { is EmoteMessageType -> TimelineItemEmoteContent( body = "* $senderDisplayName ${messageType.body}", htmlDocument = messageType.formatted?.toHtmlDocument(prefix = "* senderDisplayName"), diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index 70ec625fe9..992d64ef1c 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -106,9 +106,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( } private fun processMessageContents(messageContent: MessageContent, senderDisplayName: String, isDmRoom: Boolean): CharSequence? { - val messageType: MessageType = messageContent.type ?: return null - - val internalMessage = when (messageType) { + val internalMessage = when (val messageType: MessageType = messageContent.type) { // Doesn't need a prefix is EmoteMessageType -> { return "* $senderDisplayName ${messageType.body}" diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventContent.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventContent.kt index dc5e2af043..f63953e260 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventContent.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventContent.kt @@ -28,7 +28,7 @@ data class MessageContent( val inReplyTo: InReplyTo?, val isEdited: Boolean, val isThreaded: Boolean, - val type: MessageType? + val type: MessageType ) : EventContent data object RedactedContent : EventContent