From 0a0aece7d0e25eee956123ac7f7fc1d6ceb51e03 Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Fri, 13 Sep 2019 12:13:27 +0200 Subject: [PATCH] Partly fix messages loading Signed-off-by: Mario Danic --- .../talk/controllers/ChatController.java | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java index 050d99d87..a165be714 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java @@ -1091,6 +1091,19 @@ public class ChatController extends BaseController implements MessagesListAdapte private void processMessages(Response response, boolean isFromTheFuture, int timeout) { if (response.code() == 200) { + + String xChatLastGivenHeader; + if (response.headers().size() > 0 && !TextUtils.isEmpty((xChatLastGivenHeader = response.headers().get + ("X-Chat-Last-Given")))) { + if (xChatLastGivenHeader != null) { + if (isFromTheFuture) { + globalLastKnownFutureMessageId = Integer.parseInt(xChatLastGivenHeader); + } else { + globalLastKnownPastMessageId = Integer.parseInt(xChatLastGivenHeader); + } + } + } + ChatOverall chatOverall = (ChatOverall) response.body(); List chatMessageList = chatOverall.getOcs().getData(); @@ -1129,17 +1142,6 @@ public class ChatController extends BaseController implements MessagesListAdapte chatMessage.setOneToOneConversation(currentConversation.getType().equals(Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL)); chatMessage.setLinkPreviewAllowed(isLinkPreviewAllowed); chatMessage.setActiveUser(conversationUser); - - if (globalLastKnownPastMessageId == -1 || chatMessageList.get(i).getJsonMessageId() < - globalLastKnownPastMessageId) { - globalLastKnownPastMessageId = chatMessageList.get(i).getJsonMessageId(); - } - - if (globalLastKnownFutureMessageId == -1) { - if (chatMessageList.get(i).getJsonMessageId() > globalLastKnownFutureMessageId) { - globalLastKnownFutureMessageId = chatMessageList.get(i).getJsonMessageId(); - } - } } if (adapter != null) { @@ -1203,13 +1205,6 @@ public class ChatController extends BaseController implements MessagesListAdapte layoutManager.scrollToPositionWithOffset(adapter.getMessagePositionByIdInReverse("-1"), messagesListView.getHeight() / 2); } - String xChatLastGivenHeader; - if (response.headers().size() > 0 && !TextUtils.isEmpty((xChatLastGivenHeader = response.headers().get - ("X-Chat-Last-Given")))) { - if (xChatLastGivenHeader != null) { - globalLastKnownFutureMessageId = Integer.parseInt(xChatLastGivenHeader); - } - } } if (!lookingIntoFuture && inChat) {