From 6cb4ea55f650abd7dad1b82df1ecce99bf54b13f Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Mon, 21 Nov 2022 16:52:15 +0100 Subject: [PATCH] Fix scrollBadge and markAsRead in chat conversation --- Classes/ChatConversationTableView.m | 7 +++++++ Classes/ChatConversationView.m | 1 + 2 files changed, 8 insertions(+) diff --git a/Classes/ChatConversationTableView.m b/Classes/ChatConversationTableView.m index 376262a19..f7d93687f 100644 --- a/Classes/ChatConversationTableView.m +++ b/Classes/ChatConversationTableView.m @@ -380,6 +380,13 @@ static const int BASIC_EVENT_LIST=15; [_chatRoomDelegate tableViewIsScrolling]; } +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + if (scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)) { + if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) + [ChatConversationView markAsRead:_chatRoom]; + } +} + static const CGFloat MESSAGE_SPACING_PERCENTAGE = 1.f; - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { diff --git a/Classes/ChatConversationView.m b/Classes/ChatConversationView.m index ea3c860de..b975a721f 100644 --- a/Classes/ChatConversationView.m +++ b/Classes/ChatConversationView.m @@ -1451,6 +1451,7 @@ void on_chat_room_chat_message_received(LinphoneChatRoom *cr, const LinphoneEven if (isDisplayingBottomOfTable) { [view.tableController scrollToBottom:TRUE]; } else { + [[view.tableController scrollBadge] setHidden:FALSE]; int unread_msg = linphone_chat_room_get_unread_messages_count(cr); [[view.tableController scrollBadge] setText:[NSString stringWithFormat:@"%d", unread_msg]]; }