mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:05:28 +00:00
Merge branch 'develop' into feature/valere/timeline_active_call_rendering
This commit is contained in:
+31
@@ -127,3 +127,34 @@ data class CallNotifyContent(
|
||||
) : EventContent
|
||||
|
||||
data object UnknownContent : EventContent
|
||||
|
||||
fun EventContent.isMediaContent(): Boolean {
|
||||
return when (this) {
|
||||
is MessageContent -> type is MessageTypeWithAttachment || type is GalleryMessageType
|
||||
is StickerContent -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun EventContent.mediaSources(): List<MediaSource> {
|
||||
return when (this) {
|
||||
is MessageContent -> mediaSources()
|
||||
is StickerContent -> listOfNotNull(source, info.thumbnailSource)
|
||||
else -> emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
fun MessageContent.mediaSources(): List<MediaSource> {
|
||||
return when (val messageType = type) {
|
||||
is MessageTypeWithAttachment -> when (messageType) {
|
||||
is ImageMessageType -> listOfNotNull(messageType.source, messageType.info?.thumbnailSource)
|
||||
is VideoMessageType -> listOfNotNull(messageType.source, messageType.info?.thumbnailSource)
|
||||
is AudioMessageType -> listOf(messageType.source)
|
||||
is VoiceMessageType -> listOf(messageType.source)
|
||||
is FileMessageType -> listOfNotNull(messageType.source, messageType.info?.thumbnailSource)
|
||||
else -> emptyList()
|
||||
}
|
||||
is GalleryMessageType -> messageType.items.flatMap { it.mediaSources() }
|
||||
else -> emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -115,6 +115,14 @@ sealed interface GalleryItemType {
|
||||
data class Video(val content: VideoMessageType) : GalleryItemType
|
||||
data class File(val content: FileMessageType) : GalleryItemType
|
||||
data class Other(val itemType: String, val body: String) : GalleryItemType
|
||||
|
||||
fun mediaSources(): List<MediaSource> = when (this) {
|
||||
is Image -> listOfNotNull(content.source, content.info?.thumbnailSource)
|
||||
is Audio -> listOf(content.source)
|
||||
is Video -> listOfNotNull(content.source, content.info?.thumbnailSource)
|
||||
is File -> listOfNotNull(content.source, content.info?.thumbnailSource)
|
||||
is Other -> emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
data class OtherMessageType(
|
||||
|
||||
Reference in New Issue
Block a user