This repository has been archived on 2026-05-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
avh-plan-android/app/src/main/java/com/denizd/substitutionplan/SubstRepository.kt
T

66 lines
1.8 KiB
Kotlin
Raw Normal View History

2019-05-26 18:40:02 +02:00
package com.denizd.substitutionplan
import android.app.Application
import android.os.AsyncTask
import androidx.lifecycle.LiveData
public class SubstRepository(application: Application) {
private val substDao: SubstDao?
val allSubst: LiveData<List<Subst>>?
init {
val database = SubstDatabase.getInstance(application)
substDao = database?.substDao()
allSubst = substDao?.allSubst
}
fun insert(subst: Subst) {
InsertSubstAsync(substDao).execute(subst)
}
fun update(subst: Subst) {
UpdateSubstAsync(substDao).execute(subst)
}
fun delete(subst: Subst) {
DeleteSubstAsync(substDao).execute(subst)
}
fun deleteAllSubst() {
DeleteAllSubstAsync(substDao).execute()
}
class InsertSubstAsync(substDao: SubstDao?) : AsyncTask<Subst, Void, Void>() {
val mSubstDao = substDao
override fun doInBackground(vararg substs: Subst): Void? {
mSubstDao?.insert(substs[0])
return null
}
}
class UpdateSubstAsync(substDao: SubstDao?) : AsyncTask<Subst, Void, Void>() {
private val mSubstDao = substDao
override fun doInBackground(vararg substs: Subst): Void? {
mSubstDao?.update(substs[0])
return null
}
}
class DeleteSubstAsync(substDao: SubstDao?) : AsyncTask<Subst, Void, Void>() {
private val mSubstDao = substDao
override fun doInBackground(vararg substs: Subst): Void? {
mSubstDao?.delete(substs[0])
return null
}
}
class DeleteAllSubstAsync(substDao: SubstDao?) : AsyncTask<Void, Void, Void>() {
private val mSubstDao = substDao
override fun doInBackground(vararg voids: Void): Void? {
mSubstDao?.deleteAllSubst()
return null
}
}
}