mirror of
https://github.com/Matte23/circolapp.git
synced 2025-12-06 07:29:10 +00:00
Update database in a worker thread
This commit is contained in:
@@ -20,7 +20,9 @@ package net.underdesk.circolapp.viewmodels
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import net.underdesk.circolapp.data.AppDatabase
|
||||
import net.underdesk.circolapp.data.Circular
|
||||
import net.underdesk.circolapp.server.DataFetcher
|
||||
@@ -51,11 +53,13 @@ class CircularLetterViewModel(application: Application) : AndroidViewModel(appli
|
||||
val fetcher = DataFetcher()
|
||||
|
||||
try {
|
||||
withContext(Dispatchers.IO) {
|
||||
val newCirculars = fetcher.getCircularsFromServer()
|
||||
if (newCirculars.size != circulars.value?.size ?: true) {
|
||||
AppDatabase.getInstance(getApplication()).circularDao()
|
||||
.insertAll(newCirculars)
|
||||
}
|
||||
}
|
||||
} catch (exception: IOException) {
|
||||
showMessage.postValue(true)
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user