mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 22:29:09 +00:00
Extract duplicated code to function
The newly created function 'ChatController#determinePreviousMessageIds' contains now the duplicated code from functions 'ChatCtonroller#processMessagesFromTheFuture' and 'ChatController#processMessagesNotFromTheFuture'. Signed-off-by: Tim Krüger <t@timkrueger.me>
This commit is contained in:
parent
4cab75f6ed
commit
57ddf9af60
@ -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<ChatMessage>) {
|
||||
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<ChatMessage>) {
|
||||
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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user