session-ios/SessionMessagingKit/Sending & Receiving/Data Extraction/DataExtractionNotificationI...

39 lines
1.4 KiB
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import GRDB
import SessionUtilitiesKit
@objc(SNDataExtractionNotificationInfoMessage)
final class DataExtractionNotificationInfoMessage : TSInfoMessage {
init(type: TSInfoMessageType, sentTimestamp: UInt64, thread: TSThread, referencedAttachmentTimestamp: UInt64?) {
super.init(timestamp: sentTimestamp, in: thread, messageType: type)
}
required init(coder: NSCoder) {
super.init(coder: coder)
}
required init(dictionary dictionaryValue: [String: Any]!) throws {
try super.init(dictionary: dictionaryValue)
}
override func previewText(with transaction: YapDatabaseReadTransaction) -> String {
guard let thread = thread as? TSContactThread else { return "" } // Should never occur
let displayName = Profile.displayName(for: thread.contactSessionID())
switch messageType {
case .screenshotNotification:
return String(format: NSLocalizedString("screenshot_taken", comment: ""), displayName)
case .mediaSavedNotification:
// TODO: Use referencedAttachmentTimestamp to tell the user * which * media was saved
return String(format: NSLocalizedString("meida_saved", comment: ""), displayName)
default: preconditionFailure()
}
}
}