Signal-iOS/Signal/ConversationView/DynamicInteractions/TypingIndicatorInteraction.swift
2024-03-25 13:26:31 -05:00

46 lines
1.3 KiB
Swift

//
// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import SignalServiceKit
public class TypingIndicatorInteraction: TSInteraction {
public static let TypingIndicatorId = "TypingIndicator"
public override var isDynamicInteraction: Bool {
true
}
public override var interactionType: OWSInteractionType {
.typingIndicator
}
@available(*, unavailable, message: "use other constructor instead.")
public required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@available(*, unavailable, message: "use other constructor instead.")
public required init(dictionary dictionaryValue: [String: Any]!) throws {
fatalError("init(dictionary:) has not been implemented")
}
public let address: SignalServiceAddress
public init(thread: TSThread, timestamp: UInt64, address: SignalServiceAddress) {
self.address = address
super.init(uniqueId: TypingIndicatorInteraction.TypingIndicatorId,
timestamp: timestamp, thread: thread)
}
public override var shouldBeSaved: Bool {
return false
}
public override func anyWillInsert(with transaction: SDSAnyWriteTransaction) {
owsFailDebug("The transient interaction should not be saved in the database.")
}
}