From 492cd68a750e1d36d4f0cc299ab2cbda0d6e2348 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 24 Aug 2021 15:00:22 -0300 Subject: [PATCH] Fix message forwarding issues. --- .../CV/CVComponents/CVComponentMessage.swift | 2 +- Signal/src/ViewControllers/LongTextViewController.swift | 2 +- .../ConversationPicker/ConversationPicker.swift | 4 ++++ SignalMessaging/Views/ContactCellView.swift | 5 ++++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/CV/CVComponents/CVComponentMessage.swift b/Signal/src/ViewControllers/ConversationView/CV/CVComponents/CVComponentMessage.swift index 5f07f05bd4..2c10c5bc75 100644 --- a/Signal/src/ViewControllers/ConversationView/CV/CVComponents/CVComponentMessage.swift +++ b/Signal/src/ViewControllers/ConversationView/CV/CVComponents/CVComponentMessage.swift @@ -457,7 +457,7 @@ public class CVComponentMessage: CVComponentBase, CVRootComponent { // // This bakes in the assumption that the group sender avatar will // be bottom-aligned with the bottom of the message bubble. - let bottomMidY = bodyTextFrame.midY.average(outerContentFrame.maxY) + let bottomMidY = bodyTextFrame.minY.average(outerContentFrame.maxY) let bottomY = bottomMidY - size.height * 0.5 bottomSelectionView.frame = CGRect(origin: CGPoint(x: 0, y: bottomY), size: size) } diff --git a/Signal/src/ViewControllers/LongTextViewController.swift b/Signal/src/ViewControllers/LongTextViewController.swift index 2a763b3e20..494f993f8d 100644 --- a/Signal/src/ViewControllers/LongTextViewController.swift +++ b/Signal/src/ViewControllers/LongTextViewController.swift @@ -186,7 +186,7 @@ public class LongTextViewController: OWSViewController { // Only forward text. let selectionType: CVSelectionType = (itemViewModel.componentState.hasPrimaryAndSecondaryContentForSelection ? .secondaryContent - : .primaryContent) + : .allContent) let selectionItem = CVSelectionItem(interactionId: itemViewModel.interaction.uniqueId, interactionType: itemViewModel.interaction.interactionType, isForwardable: true, diff --git a/SignalMessaging/ViewControllers/ConversationPicker/ConversationPicker.swift b/SignalMessaging/ViewControllers/ConversationPicker/ConversationPicker.swift index 3edefa32af..70828c4ec5 100644 --- a/SignalMessaging/ViewControllers/ConversationPicker/ConversationPicker.swift +++ b/SignalMessaging/ViewControllers/ConversationPicker/ConversationPicker.swift @@ -322,6 +322,10 @@ open class ConversationPickerViewController: OWSTableViewController2 { private func updateTableContents() { AssertIsOnMainThread() + self.defaultSeparatorInsetLeading = (OWSTableViewController2.cellHInnerMargin + + CGFloat(ContactCellView.avatarDiameterPoints) + + ContactCellView.avatarTextHSpacing) + let conversationCollection = self.conversationCollection let contents = OWSTableContents() diff --git a/SignalMessaging/Views/ContactCellView.swift b/SignalMessaging/Views/ContactCellView.swift index 2f72d2aa22..9727ebd64b 100644 --- a/SignalMessaging/Views/ContactCellView.swift +++ b/SignalMessaging/Views/ContactCellView.swift @@ -111,8 +111,11 @@ public class ContactCellView: ManualStackView { private var content: ConversationContent? { configuration?.content } + @objc + public static var avatarDiameterPoints: UInt { AvatarBuilder.smallAvatarSizePoints } + // TODO: Update localUserDisplayMode. - private let avatarView = ConversationAvatarView(diameterPoints: AvatarBuilder.smallAvatarSizePoints, + private let avatarView = ConversationAvatarView(diameterPoints: ContactCellView.avatarDiameterPoints, localUserDisplayMode: .asUser) @objc