Signal-iOS/Signal/src/ViewControllers/ConversationView/DefaultDisappearingMessageTimerInteraction.swift
2021-04-29 15:46:43 -07:00

52 lines
1.4 KiB
Swift

//
// Copyright (c) 2021 Open Whisper Systems. All rights reserved.
//
import Foundation
@objc(OWSDefaultDisappearingMessageTimerInteraction)
public class DefaultDisappearingMessageTimerInteraction: TSInteraction {
@objc
public override func isDynamicInteraction() -> Bool {
return true
}
@objc
public override func interactionType() -> OWSInteractionType {
return .defaultDisappearingMessageTimer
}
@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 init(thread: TSThread, timestamp: UInt64) {
// Include timestamp in uniqueId to ensure invariant that
// interactions don't move in the chat history ordering.
super.init(
uniqueId: "DefaultDisappearingMessageTimer_\(timestamp)",
timestamp: timestamp,
thread: thread
)
}
public override var shouldBeSaved: Bool {
return false
}
@objc
public override func anyWillInsert(with transaction: SDSAnyWriteTransaction) {
owsFailDebug("The transient interaction should not be saved in the database.")
}
}