diff --git a/Classes/ChatConversationTableView.m b/Classes/ChatConversationTableView.m index 46257a299..573801ba0 100644 --- a/Classes/ChatConversationTableView.m +++ b/Classes/ChatConversationTableView.m @@ -166,6 +166,8 @@ [self reloadData]; } +static const int MAX_AGGLOMERATED_TIME=300; + - (BOOL)isFirstIndexInTableView:(NSIndexPath *)indexPath chat:(LinphoneChatMessage *)chat { LinphoneEventLog *previousEvent = nil; NSInteger indexOfPreviousEvent = indexPath.row - 1; @@ -183,6 +185,10 @@ if (!linphone_address_equal(linphone_chat_message_get_from_address(previousChat), linphone_chat_message_get_from_address(chat))) { return TRUE; } + // the maximum interval between 2 agglomerated chats at 5mn + if ((linphone_chat_message_get_time(chat)-linphone_chat_message_get_time(previousChat)) > MAX_AGGLOMERATED_TIME) { + return TRUE; + } return FALSE; }