Added database persistence ability

This commit is contained in:
denizk0461
2023-04-08 17:30:05 +02:00
parent 9accebc68c
commit 3c65ccddb1
15 changed files with 176 additions and 68 deletions
@@ -0,0 +1,13 @@
package com.denizk0461.studip.viewmodel
import android.app.Application
import androidx.lifecycle.LiveData
import com.denizk0461.studip.data.StudIPEvent
class EventViewModel(app: Application) : TemplateViewModel(app) {
val allEvents: LiveData<List<StudIPEvent>> = repo.allEvents
fun insertEvent(event: StudIPEvent) { repo.insertEvent(event) }
fun nukeEvents() { repo.nukeEvents() }
}
@@ -0,0 +1,25 @@
package com.denizk0461.studip.viewmodel
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import com.denizk0461.studip.data.Dependencies
import com.denizk0461.studip.db.EventRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
open class TemplateViewModel(app: Application) : AndroidViewModel(app) {
protected val repo: EventRepository = Dependencies.repo
fun doAsync(function: () -> Unit) {
viewModelScope.launch(Dispatchers.IO) {
function()
}
}
fun <T> returnBlocking(function: () -> T): T = runBlocking(Dispatchers.IO) {
function()
}
}