Remove UnknownMessageType, should be handled by OtherMessageType now.
This commit is contained in:
parent
2e66719559
commit
73a062451c
7 changed files with 4 additions and 52 deletions
|
|
@ -42,7 +42,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.MessageConten
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.ui.messages.toHtmlDocument
|
import io.element.android.libraries.matrix.ui.messages.toHtmlDocument
|
||||||
|
|
@ -174,13 +173,6 @@ class TimelineItemContentMessageFactory @Inject constructor(
|
||||||
htmlDocument = null,
|
htmlDocument = null,
|
||||||
isEdited = content.isEdited,
|
isEdited = content.isEdited,
|
||||||
)
|
)
|
||||||
UnknownMessageType -> TimelineItemTextContent(
|
|
||||||
// Display the body as a fallback, but should not happen anymore
|
|
||||||
// (we have `OtherMessageType` now)
|
|
||||||
body = content.body,
|
|
||||||
htmlDocument = null,
|
|
||||||
isEdited = content.isEdited,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.StickerConten
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
|
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent
|
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.ui.messages.toPlainText
|
import io.element.android.libraries.matrix.ui.messages.toPlainText
|
||||||
|
|
@ -138,11 +137,6 @@ class DefaultRoomLastMessageFormatter @Inject constructor(
|
||||||
is OtherMessageType -> {
|
is OtherMessageType -> {
|
||||||
messageType.body
|
messageType.body
|
||||||
}
|
}
|
||||||
UnknownMessageType -> {
|
|
||||||
// Display the body as a fallback, but should not happen anymore
|
|
||||||
// (we have `OtherMessageType` now)
|
|
||||||
messageContent.body
|
|
||||||
}
|
|
||||||
is NoticeMessageType -> {
|
is NoticeMessageType -> {
|
||||||
messageType.body
|
messageType.body
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.StickerConten
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
|
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent
|
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||||
|
|
@ -170,6 +169,7 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
LocationMessageType(body, "geo:1,2", null),
|
LocationMessageType(body, "geo:1,2", null),
|
||||||
NoticeMessageType(body, null),
|
NoticeMessageType(body, null),
|
||||||
EmoteMessageType(body, null),
|
EmoteMessageType(body, null),
|
||||||
|
OtherMessageType(msgType = "a_type", body = body),
|
||||||
)
|
)
|
||||||
val senderName = "Someone"
|
val senderName = "Someone"
|
||||||
val resultsInRoom = mutableListOf<Pair<MessageType, CharSequence?>>()
|
val resultsInRoom = mutableListOf<Pair<MessageType, CharSequence?>>()
|
||||||
|
|
@ -187,13 +187,6 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
resultsInRoom.add(type to result)
|
resultsInRoom.add(type to result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val unknownMessage = createRoomEvent(sentByYou = false, senderDisplayName = "Someone", content = createMessageContent(UnknownMessageType))
|
|
||||||
val result = UnknownMessageType to formatter.format(unknownMessage, isDmRoom = isDm)
|
|
||||||
if (isDm) {
|
|
||||||
resultsInDm.add(result)
|
|
||||||
} else {
|
|
||||||
resultsInRoom.add(result)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verify results of DM mode
|
// Verify results of DM mode
|
||||||
|
|
@ -208,8 +201,7 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
is EmoteMessageType -> "* $senderName ${type.body}"
|
is EmoteMessageType -> "* $senderName ${type.body}"
|
||||||
is TextMessageType,
|
is TextMessageType,
|
||||||
is NoticeMessageType,
|
is NoticeMessageType,
|
||||||
is OtherMessageType,
|
is OtherMessageType -> body
|
||||||
UnknownMessageType -> body
|
|
||||||
}
|
}
|
||||||
Truth.assertWithMessage("$type was not properly handled for DM").that(result).isEqualTo(expectedResult)
|
Truth.assertWithMessage("$type was not properly handled for DM").that(result).isEqualTo(expectedResult)
|
||||||
}
|
}
|
||||||
|
|
@ -226,8 +218,7 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
is LocationMessageType -> "$senderName: Shared location"
|
is LocationMessageType -> "$senderName: Shared location"
|
||||||
is TextMessageType,
|
is TextMessageType,
|
||||||
is NoticeMessageType,
|
is NoticeMessageType,
|
||||||
is OtherMessageType,
|
is OtherMessageType -> "$senderName: $body"
|
||||||
UnknownMessageType -> "$senderName: $body"
|
|
||||||
is EmoteMessageType -> "* $senderName ${type.body}"
|
is EmoteMessageType -> "* $senderName ${type.body}"
|
||||||
}
|
}
|
||||||
val shouldCreateAnnotatedString = when (type) {
|
val shouldCreateAnnotatedString = when (type) {
|
||||||
|
|
@ -240,7 +231,6 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
is EmoteMessageType -> false
|
is EmoteMessageType -> false
|
||||||
is TextMessageType, is NoticeMessageType -> true
|
is TextMessageType, is NoticeMessageType -> true
|
||||||
is OtherMessageType -> true
|
is OtherMessageType -> true
|
||||||
UnknownMessageType -> true
|
|
||||||
}
|
}
|
||||||
if (shouldCreateAnnotatedString) {
|
if (shouldCreateAnnotatedString) {
|
||||||
Truth.assertWithMessage("$type doesn't produce an AnnotatedString")
|
Truth.assertWithMessage("$type doesn't produce an AnnotatedString")
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,6 @@ import io.element.android.libraries.matrix.api.media.VideoInfo
|
||||||
|
|
||||||
sealed interface MessageType
|
sealed interface MessageType
|
||||||
|
|
||||||
data object UnknownMessageType : MessageType
|
|
||||||
|
|
||||||
data class EmoteMessageType(
|
data class EmoteMessageType(
|
||||||
val body: String,
|
val body: String,
|
||||||
val formatted: FormattedBody?
|
val formatted: FormattedBody?
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.MessageFormat
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.impl.media.map
|
import io.element.android.libraries.matrix.impl.media.map
|
||||||
|
|
@ -76,7 +75,7 @@ class EventMessageMapper {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun mapMessageType(type: RustMessageType?) = when (type) {
|
fun mapMessageType(type: RustMessageType) = when (type) {
|
||||||
is RustMessageType.Audio -> {
|
is RustMessageType.Audio -> {
|
||||||
when (type.content.voice) {
|
when (type.content.voice) {
|
||||||
null -> {
|
null -> {
|
||||||
|
|
@ -120,7 +119,6 @@ class EventMessageMapper {
|
||||||
is MessageType.Other -> {
|
is MessageType.Other -> {
|
||||||
OtherMessageType(type.msgtype, type.body)
|
OtherMessageType(type.msgtype, type.body)
|
||||||
}
|
}
|
||||||
null -> UnknownMessageType
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.LocationMessa
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.OtherMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.ui.messages.toPlainText
|
import io.element.android.libraries.matrix.ui.messages.toPlainText
|
||||||
|
|
@ -222,7 +221,6 @@ class NotifiableEventResolver @Inject constructor(
|
||||||
is VideoMessageType -> messageType.body
|
is VideoMessageType -> messageType.body
|
||||||
is LocationMessageType -> messageType.body
|
is LocationMessageType -> messageType.body
|
||||||
is OtherMessageType -> messageType.body
|
is OtherMessageType -> messageType.body
|
||||||
is UnknownMessageType -> stringProvider.getString(CommonStrings.common_unsupported_event)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ import io.element.android.libraries.matrix.api.timeline.item.event.ImageMessageT
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.LocationMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.LocationMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||||
|
|
@ -234,23 +233,6 @@ class NotifiableEventResolverTest {
|
||||||
assertThat(result).isEqualTo(expectedResult)
|
assertThat(result).isEqualTo(expectedResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `resolve event message unknown`() = runTest {
|
|
||||||
val sut = createNotifiableEventResolver(
|
|
||||||
notificationResult = Result.success(
|
|
||||||
createNotificationData(
|
|
||||||
content = NotificationContent.MessageLike.RoomMessage(
|
|
||||||
senderId = A_USER_ID_2,
|
|
||||||
messageType = UnknownMessageType,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
val result = sut.resolveEvent(A_SESSION_ID, A_ROOM_ID, AN_EVENT_ID)
|
|
||||||
val expectedResult = createNotifiableMessageEvent(body = "Unsupported event")
|
|
||||||
assertThat(result).isEqualTo(expectedResult)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `resolve poll`() = runTest {
|
fun `resolve poll`() = runTest {
|
||||||
val sut = createNotifiableEventResolver(
|
val sut = createNotifiableEventResolver(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue