mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-02-16 19:50:40 +01:00
compare cached messages with new ones asap, continue only if necessary
This commit is contained in:
parent
189e60ac32
commit
2f6ca40953
@ -104,7 +104,12 @@ class ThreadActivity : SimpleActivity() {
|
||||
private fun setupThread() {
|
||||
val privateCursor = getMyContactsCursor()?.loadInBackground()
|
||||
ensureBackgroundThread {
|
||||
val cachedMessagesCode = messages.hashCode()
|
||||
messages = getMessages(threadId)
|
||||
if (messages.hashCode() == cachedMessagesCode) {
|
||||
return@ensureBackgroundThread
|
||||
}
|
||||
|
||||
setupParticipants()
|
||||
|
||||
// check if no participant came from a privately stored contact in Simple Contacts
|
||||
@ -139,6 +144,10 @@ class ThreadActivity : SimpleActivity() {
|
||||
participants.add(contact)
|
||||
}
|
||||
|
||||
messages.chunked(30).forEach { currentMessages ->
|
||||
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
||||
}
|
||||
|
||||
setupAttachmentSizes()
|
||||
setupAdapter()
|
||||
runOnUiThread {
|
||||
|
@ -105,10 +105,6 @@ fun Context.getMessages(threadId: Long): ArrayList<Message> {
|
||||
messages = messages.filter { it.participants.isNotEmpty() }
|
||||
.sortedWith(compareBy<Message> { it.date }.thenBy { it.id }).toMutableList() as ArrayList<Message>
|
||||
|
||||
messages.chunked(30).forEach { currentMessages ->
|
||||
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
||||
}
|
||||
|
||||
return messages
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user