2020-09-23 22:47:45 -04:00
|
|
|
package com.geeksville.mesh.database
|
|
|
|
|
|
2022-07-29 21:28:09 -03:00
|
|
|
import android.content.Context
|
2023-09-05 08:19:26 -03:00
|
|
|
import androidx.room.AutoMigration
|
2020-09-23 22:47:45 -04:00
|
|
|
import androidx.room.Database
|
2022-07-29 21:28:09 -03:00
|
|
|
import androidx.room.Room
|
2020-09-23 22:47:45 -04:00
|
|
|
import androidx.room.RoomDatabase
|
2022-09-14 01:54:13 -03:00
|
|
|
import androidx.room.TypeConverters
|
2023-09-05 08:19:26 -03:00
|
|
|
import com.geeksville.mesh.MyNodeInfo
|
|
|
|
|
import com.geeksville.mesh.NodeInfo
|
2022-09-14 01:54:13 -03:00
|
|
|
import com.geeksville.mesh.database.dao.PacketDao
|
2022-09-13 22:49:38 -03:00
|
|
|
import com.geeksville.mesh.database.dao.MeshLogDao
|
2023-09-05 08:19:26 -03:00
|
|
|
import com.geeksville.mesh.database.dao.NodeInfoDao
|
2022-08-11 16:43:26 +01:00
|
|
|
import com.geeksville.mesh.database.dao.QuickChatActionDao
|
2022-09-13 22:49:38 -03:00
|
|
|
import com.geeksville.mesh.database.entity.MeshLog
|
2022-09-14 01:54:13 -03:00
|
|
|
import com.geeksville.mesh.database.entity.Packet
|
2022-08-11 16:43:26 +01:00
|
|
|
import com.geeksville.mesh.database.entity.QuickChatAction
|
2020-09-23 22:47:45 -04:00
|
|
|
|
2023-09-05 08:19:26 -03:00
|
|
|
@Database(
|
|
|
|
|
entities = [
|
|
|
|
|
MyNodeInfo::class,
|
|
|
|
|
NodeInfo::class,
|
|
|
|
|
Packet::class,
|
|
|
|
|
MeshLog::class,
|
|
|
|
|
QuickChatAction::class
|
|
|
|
|
],
|
|
|
|
|
autoMigrations = [
|
|
|
|
|
AutoMigration (from = 3, to = 4),
|
|
|
|
|
],
|
|
|
|
|
version = 4,
|
|
|
|
|
exportSchema = true,
|
|
|
|
|
)
|
2022-09-14 01:54:13 -03:00
|
|
|
@TypeConverters(Converters::class)
|
2020-09-23 22:47:45 -04:00
|
|
|
abstract class MeshtasticDatabase : RoomDatabase() {
|
2023-09-05 08:19:26 -03:00
|
|
|
abstract fun nodeInfoDao(): NodeInfoDao
|
2022-09-14 01:54:13 -03:00
|
|
|
abstract fun packetDao(): PacketDao
|
2022-09-13 22:49:38 -03:00
|
|
|
abstract fun meshLogDao(): MeshLogDao
|
2022-08-11 16:43:26 +01:00
|
|
|
abstract fun quickChatActionDao(): QuickChatActionDao
|
2022-07-29 21:28:09 -03:00
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|
fun getDatabase(context: Context): MeshtasticDatabase {
|
|
|
|
|
|
|
|
|
|
return Room.databaseBuilder(
|
|
|
|
|
context.applicationContext,
|
|
|
|
|
MeshtasticDatabase::class.java,
|
|
|
|
|
"meshtastic_database"
|
|
|
|
|
)
|
|
|
|
|
.fallbackToDestructiveMigration()
|
|
|
|
|
.build()
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-05 08:19:26 -03:00
|
|
|
}
|