From 0ecc97d5ff74436c2b86ff0af9ccb68e03a076c8 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 6 Jul 2018 15:28:53 -0600 Subject: [PATCH] date header should break cluster --- .../ConversationView/ConversationViewController.m | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m index 8b985dc8e..a4ddb7b0c 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m @@ -4897,8 +4897,11 @@ typedef enum : NSUInteger { } else { isFirstInCluster = previousViewItem.interaction.interactionType != OWSInteractionType_OutgoingMessage; } + if (nextViewItem == nil) { isLastInCluster = YES; + } else if (nextViewItem.shouldShowDate) { + isLastInCluster = YES; } else { isLastInCluster = nextViewItem.interaction.interactionType != OWSInteractionType_OutgoingMessage; } @@ -4924,15 +4927,20 @@ typedef enum : NSUInteger { } // clustering - if (previousViewItem == nil - || previousViewItem.interaction.interactionType != OWSInteractionType_IncomingMessage) { + if (previousViewItem == nil) { + isFirstInCluster = YES; + } else if (previousViewItem.interaction.interactionType != OWSInteractionType_IncomingMessage) { isFirstInCluster = YES; } else { TSIncomingMessage *previousIncomingMessage = (TSIncomingMessage *)previousViewItem.interaction; isFirstInCluster = ![incomingSenderId isEqual:previousIncomingMessage.authorId]; } - if (nextViewItem == nil || nextViewItem.interaction.interactionType != OWSInteractionType_IncomingMessage) { + if (nextViewItem == nil) { + isLastInCluster = YES; + } else if (nextViewItem.interaction.interactionType != OWSInteractionType_IncomingMessage) { + isLastInCluster = YES; + } else if (nextViewItem.shouldShowDate) { isLastInCluster = YES; } else { TSIncomingMessage *nextIncomingMessage = (TSIncomingMessage *)nextViewItem.interaction;