mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-02-19 21:20:39 +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() {
|
private fun setupThread() {
|
||||||
val privateCursor = getMyContactsCursor()?.loadInBackground()
|
val privateCursor = getMyContactsCursor()?.loadInBackground()
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
|
val cachedMessagesCode = messages.hashCode()
|
||||||
messages = getMessages(threadId)
|
messages = getMessages(threadId)
|
||||||
|
if (messages.hashCode() == cachedMessagesCode) {
|
||||||
|
return@ensureBackgroundThread
|
||||||
|
}
|
||||||
|
|
||||||
setupParticipants()
|
setupParticipants()
|
||||||
|
|
||||||
// check if no participant came from a privately stored contact in Simple Contacts
|
// check if no participant came from a privately stored contact in Simple Contacts
|
||||||
@ -139,6 +144,10 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
participants.add(contact)
|
participants.add(contact)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
messages.chunked(30).forEach { currentMessages ->
|
||||||
|
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
||||||
|
}
|
||||||
|
|
||||||
setupAttachmentSizes()
|
setupAttachmentSizes()
|
||||||
setupAdapter()
|
setupAdapter()
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
|
@ -105,10 +105,6 @@ fun Context.getMessages(threadId: Long): ArrayList<Message> {
|
|||||||
messages = messages.filter { it.participants.isNotEmpty() }
|
messages = messages.filter { it.participants.isNotEmpty() }
|
||||||
.sortedWith(compareBy<Message> { it.date }.thenBy { it.id }).toMutableList() as ArrayList<Message>
|
.sortedWith(compareBy<Message> { it.date }.thenBy { it.id }).toMutableList() as ArrayList<Message>
|
||||||
|
|
||||||
messages.chunked(30).forEach { currentMessages ->
|
|
||||||
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
|
||||||
}
|
|
||||||
|
|
||||||
return messages
|
return messages
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user