Audio Timeline Item support (#612)

* audio timeline item support

* improved the code to reduce cognitive complexity

* no need anymore for this swiftlint disabling of a rule

* pr comments
This commit is contained in:
Mauro
2023-02-23 12:06:31 +01:00
committed by GitHub
parent e48676e4eb
commit 698b0aea44
17 changed files with 204 additions and 70 deletions
@@ -0,0 +1,33 @@
//
// Copyright 2023 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
struct AudioRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hashable {
let id: String
let body: String
let timestamp: String
let groupState: TimelineItemGroupState
let isOutgoing: Bool
let isEditable: Bool
let sender: TimelineItemSender
let duration: UInt64
let source: MediaSourceProxy?
var cachedAudioURL: URL?
var properties = RoomTimelineItemProperties()
}
@@ -29,11 +29,3 @@ struct EmoteRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hash
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension EmoteRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}
@@ -32,11 +32,3 @@ struct FileRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hasha
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension FileRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}
@@ -38,11 +38,3 @@ struct ImageRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hash
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension ImageRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}
@@ -29,11 +29,3 @@ struct NoticeRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Has
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension NoticeRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}
@@ -29,11 +29,3 @@ struct TextRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hasha
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension TextRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}
@@ -38,11 +38,3 @@ struct VideoRoomTimelineItem: EventBasedTimelineItemProtocol, Identifiable, Hash
var properties = RoomTimelineItemProperties()
}
// MARK: - Redact content from logs
extension VideoRoomTimelineItem: CustomStringConvertible {
var description: String {
"\(String(describing: Self.self)): id: \(id), timestamp: \(timestamp), isOutgoing: \(isOutgoing), properties: \(properties)"
}
}