Respond to CR.

pull/1/head
Matthew Chen 6 years ago
parent dd836ef589
commit 039755c0df

@ -71,10 +71,10 @@ struct MessageActionBuilder {
class ConversationViewItemActions: NSObject { class ConversationViewItemActions: NSObject {
@objc @objc
class func textActions(conversationViewItem: ConversationViewItem, isFailedOrSending: Bool, delegate: MessageActionsDelegate) -> [MenuAction] { class func textActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
var actions: [MenuAction] = [] var actions: [MenuAction] = []
if !isFailedOrSending { if shouldAllowReply {
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate) let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
actions.append(replyAction) actions.append(replyAction)
} }
@ -94,10 +94,10 @@ class ConversationViewItemActions: NSObject {
} }
@objc @objc
class func mediaActions(conversationViewItem: ConversationViewItem, isFailedOrSending: Bool, delegate: MessageActionsDelegate) -> [MenuAction] { class func mediaActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
var actions: [MenuAction] = [] var actions: [MenuAction] = []
if !isFailedOrSending { if shouldAllowReply {
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate) let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
actions.append(replyAction) actions.append(replyAction)
} }
@ -123,10 +123,10 @@ class ConversationViewItemActions: NSObject {
} }
@objc @objc
class func quotedMessageActions(conversationViewItem: ConversationViewItem, isFailedOrSending: Bool, delegate: MessageActionsDelegate) -> [MenuAction] { class func quotedMessageActions(conversationViewItem: ConversationViewItem, shouldAllowReply: Bool, delegate: MessageActionsDelegate) -> [MenuAction] {
var actions: [MenuAction] = [] var actions: [MenuAction] = []
if !isFailedOrSending { if shouldAllowReply {
let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate) let replyAction = MessageActionBuilder.reply(conversationViewItem: conversationViewItem, delegate: delegate)
actions.append(replyAction) actions.append(replyAction)
} }

@ -22,13 +22,13 @@ NS_ASSUME_NONNULL_BEGIN
@protocol ConversationViewCellDelegate <NSObject> @protocol ConversationViewCellDelegate <NSObject>
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressTextViewItem:(id<ConversationViewItem>)viewItem; didLongpressTextViewItem:(id<ConversationViewItem>)viewItem;
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressMediaViewItem:(id<ConversationViewItem>)viewItem; didLongpressMediaViewItem:(id<ConversationViewItem>)viewItem;
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressQuoteViewItem:(id<ConversationViewItem>)viewItem; didLongpressQuoteViewItem:(id<ConversationViewItem>)viewItem;
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
didLongpressSystemMessageViewItem:(id<ConversationViewItem>)viewItem; didLongpressSystemMessageViewItem:(id<ConversationViewItem>)viewItem;

@ -423,15 +423,15 @@ NS_ASSUME_NONNULL_BEGIN
return; return;
} }
BOOL isFailedOrSending = NO; BOOL shouldAllowReply = YES;
if (self.viewItem.interaction.interactionType == OWSInteractionType_OutgoingMessage) { if (self.viewItem.interaction.interactionType == OWSInteractionType_OutgoingMessage) {
TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)self.viewItem.interaction; TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)self.viewItem.interaction;
if (outgoingMessage.messageState == TSOutgoingMessageStateFailed) { if (outgoingMessage.messageState == TSOutgoingMessageStateFailed) {
// Don't allow "delete" or "reply" on "failed" outgoing messages. // Don't allow "delete" or "reply" on "failed" outgoing messages.
isFailedOrSending = YES; shouldAllowReply = NO;
} else if (outgoingMessage.messageState == TSOutgoingMessageStateSending) { } else if (outgoingMessage.messageState == TSOutgoingMessageStateSending) {
// Don't allow "delete" or "reply" on "sending" outgoing messages. // Don't allow "delete" or "reply" on "sending" outgoing messages.
isFailedOrSending = YES; shouldAllowReply = NO;
} }
} }
@ -440,19 +440,19 @@ NS_ASSUME_NONNULL_BEGIN
case OWSMessageGestureLocation_Default: case OWSMessageGestureLocation_Default:
case OWSMessageGestureLocation_OversizeText: { case OWSMessageGestureLocation_OversizeText: {
[self.delegate conversationCell:self [self.delegate conversationCell:self
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
didLongpressTextViewItem:self.viewItem]; didLongpressTextViewItem:self.viewItem];
break; break;
} }
case OWSMessageGestureLocation_Media: { case OWSMessageGestureLocation_Media: {
[self.delegate conversationCell:self [self.delegate conversationCell:self
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
didLongpressMediaViewItem:self.viewItem]; didLongpressMediaViewItem:self.viewItem];
break; break;
} }
case OWSMessageGestureLocation_QuotedReply: { case OWSMessageGestureLocation_QuotedReply: {
[self.delegate conversationCell:self [self.delegate conversationCell:self
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
didLongpressQuoteViewItem:self.viewItem]; didLongpressQuoteViewItem:self.viewItem];
break; break;
} }

@ -1924,34 +1924,34 @@ typedef enum : NSUInteger {
#pragma mark - ConversationViewCellDelegate #pragma mark - ConversationViewCellDelegate
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressMediaViewItem:(id<ConversationViewItem>)viewItem didLongpressMediaViewItem:(id<ConversationViewItem>)viewItem
{ {
NSArray<MenuAction *> *messageActions = NSArray<MenuAction *> *messageActions =
[ConversationViewItemActions mediaActionsWithConversationViewItem:viewItem [ConversationViewItemActions mediaActionsWithConversationViewItem:viewItem
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
delegate:self]; delegate:self];
[self presentMessageActions:messageActions withFocusedCell:cell]; [self presentMessageActions:messageActions withFocusedCell:cell];
} }
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressTextViewItem:(id<ConversationViewItem>)viewItem didLongpressTextViewItem:(id<ConversationViewItem>)viewItem
{ {
NSArray<MenuAction *> *messageActions = NSArray<MenuAction *> *messageActions =
[ConversationViewItemActions textActionsWithConversationViewItem:viewItem [ConversationViewItemActions textActionsWithConversationViewItem:viewItem
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
delegate:self]; delegate:self];
[self presentMessageActions:messageActions withFocusedCell:cell]; [self presentMessageActions:messageActions withFocusedCell:cell];
} }
- (void)conversationCell:(ConversationViewCell *)cell - (void)conversationCell:(ConversationViewCell *)cell
isFailedOrSending:(BOOL)isFailedOrSending shouldAllowReply:(BOOL)shouldAllowReply
didLongpressQuoteViewItem:(id<ConversationViewItem>)viewItem didLongpressQuoteViewItem:(id<ConversationViewItem>)viewItem
{ {
NSArray<MenuAction *> *messageActions = NSArray<MenuAction *> *messageActions =
[ConversationViewItemActions quotedMessageActionsWithConversationViewItem:viewItem [ConversationViewItemActions quotedMessageActionsWithConversationViewItem:viewItem
isFailedOrSending:isFailedOrSending shouldAllowReply:shouldAllowReply
delegate:self]; delegate:self];
[self presentMessageActions:messageActions withFocusedCell:cell]; [self presentMessageActions:messageActions withFocusedCell:cell];
} }

Loading…
Cancel
Save