From 57ddf9af60b2d90e295b25f2d624dc3ad0729879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Kr=C3=BCger?= Date: Wed, 7 Sep 2022 10:34:45 +0200 Subject: [PATCH] Extract duplicated code to function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The newly created function 'ChatController#determinePreviousMessageIds' contains now the duplicated code from functions 'ChatCtonroller#processMessagesFromTheFuture' and 'ChatController#processMessagesNotFromTheFuture'. Signed-off-by: Tim Krüger --- .../talk/controllers/ChatController.kt | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index 4d5092772..f03ee2ecb 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -2382,22 +2382,7 @@ class ChatController(args: Bundle) : val isThereANewNotice = shouldAddNewMessagesNotice || adapter?.getMessagePositionByIdInReverse("-1") != -1 - var previousMessageId = NO_PREVIOUS_MESSAGE_ID - for (i in chatMessageList.indices.reversed()) { - val chatMessageItem = chatMessageList[i] - - if (previousMessageId > NO_PREVIOUS_MESSAGE_ID) { - chatMessageItem.previousMessageId = previousMessageId - } else if (adapter?.isEmpty != true) { - if (adapter!!.items[0].item is ChatMessage) { - chatMessageItem.previousMessageId = (adapter!!.items[0].item as ChatMessage).jsonMessageId - } else if (adapter!!.items.size > 1 && adapter!!.items[1].item is ChatMessage) { - chatMessageItem.previousMessageId = (adapter!!.items[1].item as ChatMessage).jsonMessageId - } - } - - previousMessageId = chatMessageItem.jsonMessageId - } + determinePreviousMessageIds(chatMessageList) for (i in chatMessageList.indices) { chatMessage = chatMessageList[i] @@ -2446,22 +2431,7 @@ class ChatController(args: Bundle) : private fun processMessagesNotFromTheFuture(chatMessageList: List) { var countGroupedMessages = 0 - var previousMessageId = NO_PREVIOUS_MESSAGE_ID - for (i in chatMessageList.indices.reversed()) { - val chatMessage = chatMessageList[i] - - if (previousMessageId > NO_PREVIOUS_MESSAGE_ID) { - chatMessage.previousMessageId = previousMessageId - } else if (adapter?.isEmpty != true) { - if (adapter!!.items[0].item is ChatMessage) { - chatMessage.previousMessageId = (adapter!!.items[0].item as ChatMessage).jsonMessageId - } else if (adapter!!.items.size > 1 && adapter!!.items[1].item is ChatMessage) { - chatMessage.previousMessageId = (adapter!!.items[1].item as ChatMessage).jsonMessageId - } - } - - previousMessageId = chatMessage.jsonMessageId - } + determinePreviousMessageIds(chatMessageList) for (i in chatMessageList.indices) { if (chatMessageList.size > i + 1) { @@ -2488,6 +2458,25 @@ class ChatController(args: Bundle) : scrollToRequestedMessageIfNeeded() } + private fun determinePreviousMessageIds(chatMessageList: List) { + var previousMessageId = NO_PREVIOUS_MESSAGE_ID + for (i in chatMessageList.indices.reversed()) { + val chatMessage = chatMessageList[i] + + if (previousMessageId > NO_PREVIOUS_MESSAGE_ID) { + chatMessage.previousMessageId = previousMessageId + } else if (adapter?.isEmpty != true) { + if (adapter!!.items[0].item is ChatMessage) { + chatMessage.previousMessageId = (adapter!!.items[0].item as ChatMessage).jsonMessageId + } else if (adapter!!.items.size > 1 && adapter!!.items[1].item is ChatMessage) { + chatMessage.previousMessageId = (adapter!!.items[1].item as ChatMessage).jsonMessageId + } + } + + previousMessageId = chatMessage.jsonMessageId + } + } + private fun processHeaderChatLastGiven(response: Response<*>, isFromTheFuture: Boolean) { val xChatLastGivenHeader: String? = response.headers()["X-Chat-Last-Given"] if (response.headers().size > 0 && !TextUtils.isEmpty(xChatLastGivenHeader)) {