fetch messages on background threads

This commit is contained in:
tibbi
2020-04-05 11:00:08 +02:00
parent 7f2470567d
commit a8a74e7eb0
2 changed files with 22 additions and 16 deletions

View File

@@ -10,10 +10,7 @@ import android.view.Menu
import android.view.MenuItem
import com.simplemobiletools.commons.extensions.appLaunched
import com.simplemobiletools.commons.extensions.checkAppSideloading
import com.simplemobiletools.commons.helpers.LICENSE_EVENT_BUS
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.commons.helpers.PERMISSION_READ_SMS
import com.simplemobiletools.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R
@@ -128,16 +125,20 @@ class MainActivity : SimpleActivity() {
private fun initMessenger() {
storeStateVariables()
val messages = getMessages()
MessagesAdapter(this, messages, messages_list, messages_fastscroller) {
Intent(this, ThreadActivity::class.java).apply {
putExtra(THREAD_ID, (it as Message).thread)
putExtra(THREAD_NAME, it.senderName)
putExtra(THREAD_NUMBER, it.senderNumber)
startActivity(this)
ensureBackgroundThread {
val messages = getMessages()
runOnUiThread {
MessagesAdapter(this, messages, messages_list, messages_fastscroller) {
Intent(this, ThreadActivity::class.java).apply {
putExtra(THREAD_ID, (it as Message).thread)
putExtra(THREAD_NAME, it.senderName)
putExtra(THREAD_NUMBER, it.senderNumber)
startActivity(this)
}
}.apply {
messages_list.adapter = this
}
}
}.apply {
messages_list.adapter = this
}
}

View File

@@ -6,6 +6,7 @@ import android.telephony.SmsManager
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.onTextChangeListener
import com.simplemobiletools.commons.extensions.value
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter
import com.simplemobiletools.smsmessenger.extensions.config
@@ -37,7 +38,9 @@ class ThreadActivity : SimpleActivity() {
bus = EventBus.getDefault()
bus!!.register(this)
setupAdapter()
ensureBackgroundThread {
setupAdapter()
}
setupButtons()
}
@@ -50,8 +53,10 @@ class ThreadActivity : SimpleActivity() {
val threadID = intent.getIntExtra(THREAD_ID, 0)
val items = getThreadItems(threadID)
val adapter = ThreadAdapter(this, items, thread_messages_list, thread_messages_fastscroller) {}
thread_messages_list.adapter = adapter
runOnUiThread {
val adapter = ThreadAdapter(this, items, thread_messages_list, thread_messages_fastscroller) {}
thread_messages_list.adapter = adapter
}
}
private fun setupButtons() {