diff --git a/ElementX/Sources/Services/Timeline/TimelineItemContent/TimelineEventContent.swift b/ElementX/Sources/Services/Timeline/TimelineItemContent/TimelineEventContent.swift index 04d53e91e..d92d013b9 100644 --- a/ElementX/Sources/Services/Timeline/TimelineItemContent/TimelineEventContent.swift +++ b/ElementX/Sources/Services/Timeline/TimelineItemContent/TimelineEventContent.swift @@ -8,9 +8,22 @@ import Foundation -nonisolated enum TimelineEventContent: Hashable { +nonisolated enum TimelineEventContent: Hashable, CustomStringConvertible { case message(EventBasedMessageTimelineItemContentType) case poll(question: String) case liveLocation case redacted + + var description: String { + switch self { + case .message(let eventBasedMessageTimelineItemContentType): + eventBasedMessageTimelineItemContentType.description + case .poll: + "poll" + case .liveLocation: + "liveLocation" + case .redacted: + "redacted" + } + } } diff --git a/ElementX/Sources/Services/Timeline/TimelineItems/EventBasedMessageTimelineItemProtocol.swift b/ElementX/Sources/Services/Timeline/TimelineItems/EventBasedMessageTimelineItemProtocol.swift index 87217a5c0..54907b3df 100644 --- a/ElementX/Sources/Services/Timeline/TimelineItems/EventBasedMessageTimelineItemProtocol.swift +++ b/ElementX/Sources/Services/Timeline/TimelineItems/EventBasedMessageTimelineItemProtocol.swift @@ -8,7 +8,7 @@ import Foundation -nonisolated enum EventBasedMessageTimelineItemContentType: Hashable { +nonisolated enum EventBasedMessageTimelineItemContentType: Hashable, CustomStringConvertible { case audio(AudioRoomTimelineItemContent) case emote(EmoteRoomTimelineItemContent) case file(FileRoomTimelineItemContent) @@ -19,6 +19,31 @@ nonisolated enum EventBasedMessageTimelineItemContentType: Hashable { case location(LocationRoomTimelineItemContent) case voice(AudioRoomTimelineItemContent) case gallery(GalleryRoomTimelineItemContent) + + var description: String { + switch self { + case .audio: + "audio" + case .emote: + "emote" + case .file: + "file" + case .image: + "image" + case .notice: + "notice" + case .text: + "text" + case .video: + "video" + case .location: + "location" + case .voice: + "voice" + case .gallery: + "gallery" + } + } } nonisolated protocol EventBasedMessageTimelineItemProtocol: EventBasedTimelineItemProtocol {