package com.rosetta.messenger.database import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase @Database( entities = [EncryptedAccountEntity::class], version = 1, exportSchema = false ) abstract class RosettaDatabase : RoomDatabase() { abstract fun accountDao(): AccountDao companion object { @Volatile private var INSTANCE: RosettaDatabase? = null fun getDatabase(context: Context): RosettaDatabase { return INSTANCE ?: synchronized(this) { val instance = Room.databaseBuilder( context.applicationContext, RosettaDatabase::class.java, "rosetta_secure.db" ) .setJournalMode(JournalMode.WRITE_AHEAD_LOGGING) // WAL mode for performance .build() INSTANCE = instance instance } } } }