mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-07 06:39:45 +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 =
|
val isThereANewNotice =
|
||||||
shouldAddNewMessagesNotice || adapter?.getMessagePositionByIdInReverse("-1") != -1
|
shouldAddNewMessagesNotice || adapter?.getMessagePositionByIdInReverse("-1") != -1
|
||||||
|
|
||||||
var previousMessageId = NO_PREVIOUS_MESSAGE_ID
|
determinePreviousMessageIds(chatMessageList)
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i in chatMessageList.indices) {
|
for (i in chatMessageList.indices) {
|
||||||
chatMessage = chatMessageList[i]
|
chatMessage = chatMessageList[i]
|
||||||
@ -2446,22 +2431,7 @@ class ChatController(args: Bundle) :
|
|||||||
|
|
||||||
private fun processMessagesNotFromTheFuture(chatMessageList: List<ChatMessage>) {
|
private fun processMessagesNotFromTheFuture(chatMessageList: List<ChatMessage>) {
|
||||||
var countGroupedMessages = 0
|
var countGroupedMessages = 0
|
||||||
var previousMessageId = NO_PREVIOUS_MESSAGE_ID
|
determinePreviousMessageIds(chatMessageList)
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i in chatMessageList.indices) {
|
for (i in chatMessageList.indices) {
|
||||||
if (chatMessageList.size > i + 1) {
|
if (chatMessageList.size > i + 1) {
|
||||||
@ -2488,6 +2458,25 @@ class ChatController(args: Bundle) :
|
|||||||
scrollToRequestedMessageIfNeeded()
|
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) {
|
private fun processHeaderChatLastGiven(response: Response<*>, isFromTheFuture: Boolean) {
|
||||||
val xChatLastGivenHeader: String? = response.headers()["X-Chat-Last-Given"]
|
val xChatLastGivenHeader: String? = response.headers()["X-Chat-Last-Given"]
|
||||||
if (response.headers().size > 0 && !TextUtils.isEmpty(xChatLastGivenHeader)) {
|
if (response.headers().size > 0 && !TextUtils.isEmpty(xChatLastGivenHeader)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user