@@ -28,6 +28,7 @@ import dagger.Lazy
28
28
import im.vector.app.R
29
29
import im.vector.app.core.epoxy.ClickListener
30
30
import im.vector.app.core.epoxy.VectorEpoxyModel
31
+ import im.vector.app.core.extensions.getVectorLastMessageContent
31
32
import im.vector.app.core.files.LocalFilesHelper
32
33
import im.vector.app.core.resources.ColorProvider
33
34
import im.vector.app.core.resources.StringProvider
@@ -55,6 +56,8 @@ import im.vector.app.features.home.room.detail.timeline.item.MessageLocationItem
55
56
import im.vector.app.features.home.room.detail.timeline.item.MessageLocationItem_
56
57
import im.vector.app.features.home.room.detail.timeline.item.MessageTextItem
57
58
import im.vector.app.features.home.room.detail.timeline.item.MessageTextItem_
59
+ import im.vector.app.features.home.room.detail.timeline.item.MessageVoiceBroadcastItem
60
+ import im.vector.app.features.home.room.detail.timeline.item.MessageVoiceBroadcastItem_
58
61
import im.vector.app.features.home.room.detail.timeline.item.MessageVoiceItem
59
62
import im.vector.app.features.home.room.detail.timeline.item.MessageVoiceItem_
60
63
import im.vector.app.features.home.room.detail.timeline.item.PollItem
@@ -77,6 +80,7 @@ import im.vector.app.features.media.ImageContentRenderer
77
80
import im.vector.app.features.media.VideoContentRenderer
78
81
import im.vector.app.features.settings.VectorPreferences
79
82
import im.vector.app.features.voice.AudioWaveformView
83
+ import im.vector.app.features.voicebroadcast.model.MessageVoiceBroadcastInfoContent
80
84
import im.vector.lib.core.utils.epoxy.charsequence.toEpoxyCharSequence
81
85
import me.gujun.android.span.span
82
86
import org.matrix.android.sdk.api.MatrixUrls.isMxcUrl
@@ -102,7 +106,6 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageVerification
102
106
import org.matrix.android.sdk.api.session.room.model.message.MessageVideoContent
103
107
import org.matrix.android.sdk.api.session.room.model.message.getFileUrl
104
108
import org.matrix.android.sdk.api.session.room.model.message.getThumbnailUrl
105
- import org.matrix.android.sdk.api.session.room.timeline.getLastMessageContent
106
109
import org.matrix.android.sdk.api.settings.LightweightSettingsStorage
107
110
import org.matrix.android.sdk.api.util.MimeTypes
108
111
import javax.inject.Inject
@@ -163,7 +166,7 @@ class MessageItemFactory @Inject constructor(
163
166
return buildRedactedItem(attributes, highlight)
164
167
}
165
168
166
- val messageContent = event.getLastMessageContent ()
169
+ val messageContent = event.getVectorLastMessageContent ()
167
170
if (messageContent == null ) {
168
171
val malformedText = stringProvider.getString(R .string.malformed_message)
169
172
return defaultItemFactory.create(malformedText, informationData, highlight, callback)
@@ -197,6 +200,7 @@ class MessageItemFactory @Inject constructor(
197
200
is MessagePollContent -> buildPollItem(messageContent, informationData, highlight, callback, attributes)
198
201
is MessageLocationContent -> buildLocationItem(messageContent, informationData, highlight, attributes)
199
202
is MessageBeaconInfoContent -> liveLocationShareMessageItemFactory.create(params.event, highlight, attributes)
203
+ is MessageVoiceBroadcastInfoContent -> buildVoiceBroadcastItem(messageContent, highlight, callback, attributes)
200
204
else -> buildNotHandledMessageItem(messageContent, informationData, highlight, callback, attributes)
201
205
}
202
206
return messageItem?.apply {
@@ -706,6 +710,20 @@ class MessageItemFactory @Inject constructor(
706
710
.highlighted(highlight)
707
711
}
708
712
713
+ private fun buildVoiceBroadcastItem (
714
+ messageContent : MessageVoiceBroadcastInfoContent ,
715
+ highlight : Boolean ,
716
+ callback : TimelineEventController .Callback ? ,
717
+ attributes : AbsMessageItem .Attributes ,
718
+ ): MessageVoiceBroadcastItem ? {
719
+ return MessageVoiceBroadcastItem_ ()
720
+ .attributes(attributes)
721
+ .highlighted(highlight)
722
+ .voiceBroadcastState(messageContent.voiceBroadcastState)
723
+ .leftGuideline(avatarSizeProvider.leftGuideline)
724
+ .callback(callback)
725
+ }
726
+
709
727
private fun List<Int?>?.toFft (): List <Int >? {
710
728
return this
711
729
?.filterNotNull()
0 commit comments