|
|
@ -71,11 +71,13 @@ struct MessageActionBuilder {
|
|
|
|
class ConversationViewItemActions: NSObject {
|
|
|
|
class ConversationViewItemActions: NSObject {
|
|
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@objc
|
|
|
|
class func textActions(conversationViewItem: ConversationViewItem, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
class func textActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
var actions: [MenuAction] = []
|
|
|
|
var actions: [MenuAction] = []
|
|
|
|
|
|
|
|
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
if shouldAllowReply {
|
|
|
|
actions.append(replyAction)
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
actions.append(replyAction)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if conversationViewItem.hasBodyTextActionContent {
|
|
|
|
if conversationViewItem.hasBodyTextActionContent {
|
|
|
|
let copyTextAction = MessageActionBuilder.copyText(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
let copyTextAction = MessageActionBuilder.copyText(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
@ -92,11 +94,13 @@ class ConversationViewItemActions: NSObject {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@objc
|
|
|
|
class func mediaActions(conversationViewItem: ConversationViewItem, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
class func mediaActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
var actions: [MenuAction] = []
|
|
|
|
var actions: [MenuAction] = []
|
|
|
|
|
|
|
|
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
if shouldAllowReply {
|
|
|
|
actions.append(replyAction)
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
actions.append(replyAction)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if conversationViewItem.hasMediaActionContent {
|
|
|
|
if conversationViewItem.hasMediaActionContent {
|
|
|
|
if conversationViewItem.canCopyMedia() {
|
|
|
|
if conversationViewItem.canCopyMedia() {
|
|
|
@ -119,18 +123,26 @@ class ConversationViewItemActions: NSObject {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@objc
|
|
|
|
class func quotedMessageActions(conversationViewItem: ConversationViewItem, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
class func quotedMessageActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
var actions: [MenuAction] = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if shouldAllowReply {
|
|
|
|
|
|
|
|
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
actions.append(replyAction)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
let deleteAction = MessageActionBuilder.deleteMessage(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
let deleteAction = MessageActionBuilder.deleteMessage(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
actions.append(deleteAction)
|
|
|
|
|
|
|
|
|
|
|
|
let showDetailsAction = MessageActionBuilder.showDetails(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
let showDetailsAction = MessageActionBuilder.showDetails(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
actions.append(showDetailsAction)
|
|
|
|
|
|
|
|
|
|
|
|
return [replyAction, deleteAction, showDetailsAction]
|
|
|
|
return actions
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@objc
|
|
|
|
class func infoMessageActions(conversationViewItem: ConversationViewItem, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
class func infoMessageActions(conversationViewItem: ConversationViewItem, delegate: MessageActionsDelegate) -> [MenuAction] {
|
|
|
|
let deleteAction = MessageActionBuilder.deleteMessage(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
let deleteAction = MessageActionBuilder.deleteMessage(conversationViewItem: conversationViewItem, delegate: delegate)
|
|
|
|
|
|
|
|
return [deleteAction ]
|
|
|
|
return [deleteAction]
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|