diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m index a85bf7cc4..e2ed14ca6 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m @@ -404,9 +404,9 @@ NS_ASSUME_NONNULL_BEGIN [self.viewConstraints addObjectsFromArray:@[ [bodyTextView autoPinLeadingToSuperviewMarginWithInset:textInsets.leading], [bodyTextView autoPinTrailingToSuperviewMarginWithInset:textInsets.trailing], + [bodyTextView autoSetDimension:ALDimensionWidth toSize:bodyTextContentSize.width], + [bodyTextView autoSetDimension:ALDimensionHeight toSize:bodyTextContentSize.height], ]]; - [self.viewConstraints - addObject:[bodyTextView autoSetDimension:ALDimensionHeight toSize:bodyTextContentSize.height]]; if (lastSubview) { [self.viewConstraints addObject:[bodyTextView autoPinEdge:ALEdgeTop diff --git a/Signal/src/ViewControllers/ConversationView/ConversationLayoutInfo.swift b/Signal/src/ViewControllers/ConversationView/ConversationLayoutInfo.swift index 5e398ae02..e77b8b15a 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationLayoutInfo.swift +++ b/Signal/src/ViewControllers/ConversationView/ConversationLayoutInfo.swift @@ -114,7 +114,7 @@ public class ConversationLayoutInfo: NSObject { fullWidthContentWidth = viewWidth - (fullWidthGutterLeading + fullWidthGutterTrailing) - maxMessageWidth = floor(contentWidth * 0.8) + maxMessageWidth = floor(contentWidth * 0.9) // TODO: Should this be different? maxFooterWidth = maxMessageWidth - 10 diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m b/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m index 2cb4e15eb..757e4e201 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m @@ -261,12 +261,18 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType) return measurementCell; } -- (CGFloat)vSpacingWithPreviousLayoutItem:(id)lastLayoutItem +- (CGFloat)vSpacingWithPreviousLayoutItem:(ConversationViewItem *)previousLayoutItem { - OWSAssert(lastLayoutItem); + OWSAssert(previousLayoutItem); + + if (self.interaction.interactionType == OWSInteractionType_UnreadIndicator + || previousLayoutItem.interaction.interactionType == OWSInteractionType_UnreadIndicator) { + // The unread indicator has its own v-margins. + return 0.f; + } // TODO: - return 0.f; + return 4.f; } - (ConversationViewCell *)dequeueCellForCollectionView:(UICollectionView *)collectionView diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewLayout.h b/Signal/src/ViewControllers/ConversationView/ConversationViewLayout.h index 5fc3b17be..f7f0910ad 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewLayout.h +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewLayout.h @@ -23,7 +23,7 @@ typedef NS_ENUM(NSInteger, ConversationViewLayoutAlignment) { - (ConversationViewLayoutAlignment)layoutAlignment; -- (CGFloat)vSpacingWithPreviousLayoutItem:(id)lastLayoutItem; +- (CGFloat)vSpacingWithPreviousLayoutItem:(id)previousLayoutItem; @end diff --git a/Signal/src/ViewControllers/MessageDetailViewController.swift b/Signal/src/ViewControllers/MessageDetailViewController.swift index 5ecc93616..62d837129 100644 --- a/Signal/src/ViewControllers/MessageDetailViewController.swift +++ b/Signal/src/ViewControllers/MessageDetailViewController.swift @@ -345,7 +345,8 @@ class MessageDetailViewController: OWSViewController, MediaGalleryDataSourceDele self.messageBubbleView = messageBubbleView messageBubbleView.viewItem = viewItem messageBubbleView.cellMediaCache = NSCache() - messageBubbleView.layoutInfo = self.conversationLayoutInfo + let conversationLayoutInfo = ConversationLayoutInfo(thread: thread) + messageBubbleView.layoutInfo = conversationLayoutInfo messageBubbleView.configureViews() messageBubbleView.loadContent()