From 5235f6eee92ceb5399af2ff47186bedb53fb4221 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 4 Apr 2018 15:45:35 -0400 Subject: [PATCH] Refine appearance of quoted reply message cells. --- .../ConversationView/Cells/OWSMessageCell.m | 8 +++---- .../Cells/OWSQuotedMessageView.m | 21 +++++++++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m index 161e5d906..4c83320dc 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m @@ -367,9 +367,9 @@ NS_ASSUME_NONNULL_BEGIN OWSAssert(!lastSubview); TSMessage *message = (TSMessage *)self.viewItem.interaction; - OWSQuotedMessageView *quotedMessageView = - [OWSQuotedMessageView quotedMessageViewForConversation:message.quotedMessage - displayableQuotedText:self.viewItem.displayableQuotedText]; + OWSQuotedMessageView *quotedMessageView = [OWSQuotedMessageView + quotedMessageViewForConversation:message.quotedMessage + displayableQuotedText:(self.viewItem.hasQuotedText ? self.viewItem.displayableQuotedText : nil)]; [quotedMessageView createContents]; [self.bubbleView addSubview:quotedMessageView]; @@ -1178,7 +1178,7 @@ NS_ASSUME_NONNULL_BEGIN OWSAssert(self.viewItem); OWSAssert([self.viewItem.interaction isKindOfClass:[TSMessage class]]); - if (!self.isQuotedReply) { + if (!self.isQuotedReply || !self.hasQuotedText) { return CGSizeZero; } diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m index 8a69d2922..0fa2932a7 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m @@ -65,7 +65,6 @@ NS_ASSUME_NONNULL_BEGIN } OWSAssert(quotedMessage); - OWSAssert(displayableQuotedText); _quotedMessage = quotedMessage; _displayableQuotedText = displayableQuotedText; @@ -74,6 +73,11 @@ NS_ASSUME_NONNULL_BEGIN return self; } +- (BOOL)hasQuotedAttachment +{ + return self.quotedMessage.contentType.length > 0; +} + - (BOOL)hasQuotedAttachmentThumbnail { return (self.quotedMessage.contentType.length > 0 && @@ -99,8 +103,7 @@ NS_ASSUME_NONNULL_BEGIN UIView *_Nullable quotedAttachmentView = nil; // TODO: - // if (self.hasQuotedAttachmentThumbnail) - { + if (self.hasQuotedAttachment) { // TODO: quotedAttachmentView = [UIView containerView]; quotedAttachmentView.userInteractionEnabled = NO; @@ -162,7 +165,7 @@ NS_ASSUME_NONNULL_BEGIN } else { [stripeAndTextContainer autoPinTrailingToSuperviewMarginWithInset:self.quotedContentHInset]; } - [stripeAndTextContainer autoPinBottomToSuperviewMarginWithInset:self.quotedContentHInset]; + [stripeAndTextContainer autoPinBottomToSuperviewMarginWithInset:self.quotedTextBottomInset]; [stripeAndTextContainer setContentHuggingLow]; [stripeAndTextContainer setCompressionResistanceLow]; @@ -204,7 +207,7 @@ NS_ASSUME_NONNULL_BEGIN result.width += self.quotedContentHInset; CGFloat thumbnailHeight = 0.f; - if (self.hasQuotedAttachmentThumbnail) { + if (self.hasQuotedAttachment) { result.width += self.quotedAttachmentHSpacing; result.width += self.quotedAttachmentSize; @@ -249,7 +252,6 @@ NS_ASSUME_NONNULL_BEGIN CGSize textSize = CGSizeCeil([quotedTextLabel sizeThatFits:CGSizeMake(maxQuotedTextWidth, CGFLOAT_MAX)]); quotedTextWidth = textSize.width + self.quotedReplyStripeThickness + self.quotedReplyStripeHSpacing; - result.height += self.quotedAuthorBottomSpacing; result.height += textSize.height + self.quotedReplyStripeVExtension * 2; } @@ -371,6 +373,13 @@ NS_ASSUME_NONNULL_BEGIN return 8.f; } +#pragma mark - + +- (CGSize)sizeThatFits:(CGSize)size +{ + return [self sizeForMaxWidth:CGFLOAT_MAX]; +} + @end NS_ASSUME_NONNULL_END