mirror of https://github.com/readrops/Readrops.git
Do not run database queries on UI Thread in MainActivity (fixes #223)
This commit is contained in:
parent
c88c175596
commit
d306bff63e
|
@ -37,6 +37,7 @@ import kotlinx.coroutines.flow.first
|
|||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.koin.androidx.compose.KoinAndroidContext
|
||||
import org.koin.core.annotation.KoinExperimentalAPI
|
||||
import org.koin.core.component.KoinComponent
|
||||
|
@ -115,12 +116,12 @@ class MainActivity : ComponentActivity(), KoinComponent {
|
|||
override fun onNewIntent(intent: Intent) {
|
||||
super.onNewIntent(intent)
|
||||
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
lifecycleScope.launch {
|
||||
handleIntent(intent)
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun handleIntent(intent: Intent) {
|
||||
private suspend fun handleIntent(intent: Intent) = withContext(Dispatchers.IO) {
|
||||
when {
|
||||
intent.hasExtra(SyncWorker.ACCOUNT_ID_KEY) -> {
|
||||
val accountId = intent.getIntExtra(SyncWorker.ACCOUNT_ID_KEY, -1)
|
||||
|
|
|
@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.Flow
|
|||
abstract class ItemDao : BaseDao<Item> {
|
||||
|
||||
@Query("Select * From Item Where id = :itemId")
|
||||
abstract fun select(itemId: Int): Item
|
||||
abstract suspend fun select(itemId: Int): Item
|
||||
|
||||
@RawQuery(observedEntities = [Item::class, Feed::class, Folder::class, ItemState::class])
|
||||
abstract fun selectAll(query: SupportSQLiteQuery): PagingSource<Int, ItemWithFeed>
|
||||
|
|
Loading…
Reference in New Issue