package org.terst.feedreader.data import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase @Database( entities = [FeedEntity::class, ArticleEntity::class, FilterRuleEntity::class], version = 1, exportSchema = false ) abstract class AppDatabase : RoomDatabase() { abstract fun feedDao(): FeedDao abstract fun articleDao(): ArticleDao abstract fun filterRuleDao(): FilterRuleDao companion object { @Volatile private var instance: AppDatabase? = null fun get(context: Context): AppDatabase = instance ?: synchronized(this) { instance ?: Room.databaseBuilder( context.applicationContext, AppDatabase::class.java, "feedreader.db" ).build().also { instance = it } } } }