// // Copyright (c) 2018 Open Whisper Systems. All rights reserved. // import Foundation @objc(OWSTypingIndicatorInteraction) public class TypingIndicatorInteraction: TSInteraction { @objc public static let TypingIndicatorId = "TypingIndicator" @objc public override func isDynamicInteraction() -> Bool { return true } @objc public override func interactionType() -> OWSInteractionType { return .typingIndicator } @available(*, unavailable, message:"use other constructor instead.") @objc public required init(coder aDecoder: NSCoder) { notImplemented() } @available(*, unavailable, message:"use other constructor instead.") @objc public required init(dictionary dictionaryValue: [String: Any]!) throws { notImplemented() } @objc public let recipientId: String @objc public init(thread: TSThread, timestamp: UInt64, recipientId: String) { self.recipientId = recipientId super.init(interactionWithUniqueId: TypingIndicatorInteraction.TypingIndicatorId, timestamp: timestamp, in: thread) } @objc public override func save(with transaction: YapDatabaseReadWriteTransaction) { owsFailDebug("The transient interaction should not be saved in the database.") } }