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 android.view.MenuItem
import com.simplemobiletools.commons.extensions.appLaunched import com.simplemobiletools.commons.extensions.appLaunched
import com.simplemobiletools.commons.extensions.checkAppSideloading import com.simplemobiletools.commons.extensions.checkAppSideloading
import com.simplemobiletools.commons.helpers.LICENSE_EVENT_BUS import com.simplemobiletools.commons.helpers.*
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.models.FAQItem import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.smsmessenger.BuildConfig import com.simplemobiletools.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
@@ -128,16 +125,20 @@ class MainActivity : SimpleActivity() {
private fun initMessenger() { private fun initMessenger() {
storeStateVariables() storeStateVariables()
val messages = getMessages() ensureBackgroundThread {
MessagesAdapter(this, messages, messages_list, messages_fastscroller) { val messages = getMessages()
Intent(this, ThreadActivity::class.java).apply { runOnUiThread {
putExtra(THREAD_ID, (it as Message).thread) MessagesAdapter(this, messages, messages_list, messages_fastscroller) {
putExtra(THREAD_NAME, it.senderName) Intent(this, ThreadActivity::class.java).apply {
putExtra(THREAD_NUMBER, it.senderNumber) putExtra(THREAD_ID, (it as Message).thread)
startActivity(this) 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.applyColorFilter
import com.simplemobiletools.commons.extensions.onTextChangeListener import com.simplemobiletools.commons.extensions.onTextChangeListener
import com.simplemobiletools.commons.extensions.value import com.simplemobiletools.commons.extensions.value
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter
import com.simplemobiletools.smsmessenger.extensions.config import com.simplemobiletools.smsmessenger.extensions.config
@@ -37,7 +38,9 @@ class ThreadActivity : SimpleActivity() {
bus = EventBus.getDefault() bus = EventBus.getDefault()
bus!!.register(this) bus!!.register(this)
setupAdapter() ensureBackgroundThread {
setupAdapter()
}
setupButtons() setupButtons()
} }
@@ -50,8 +53,10 @@ class ThreadActivity : SimpleActivity() {
val threadID = intent.getIntExtra(THREAD_ID, 0) val threadID = intent.getIntExtra(THREAD_ID, 0)
val items = getThreadItems(threadID) val items = getThreadItems(threadID)
val adapter = ThreadAdapter(this, items, thread_messages_list, thread_messages_fastscroller) {} runOnUiThread {
thread_messages_list.adapter = adapter val adapter = ThreadAdapter(this, items, thread_messages_list, thread_messages_fastscroller) {}
thread_messages_list.adapter = adapter
}
} }
private fun setupButtons() { private fun setupButtons() {