Biblib/app/src/main/java/com/pixelized/biblib/module/PersistenceModule.kt
2022-07-04 18:44:45 +02:00

42 lines
No EOL
1.1 KiB
Kotlin

package com.pixelized.biblib.module
import android.content.Context
import android.content.SharedPreferences
import androidx.room.Room
import com.pixelized.biblib.database.BibLibDatabase
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
class PersistenceModule {
@Provides
@Singleton
fun provideDatabase(
@ApplicationContext context: Context,
): BibLibDatabase {
val builder = Room.databaseBuilder(
context,
BibLibDatabase::class.java,
BibLibDatabase.DATABASE_NAME
)
return builder.fallbackToDestructiveMigration().build()
}
@Provides
@Singleton
fun providePreferences(
@ApplicationContext context: Context,
): SharedPreferences {
return context.getSharedPreferences(SHARED_PREF, Context.MODE_PRIVATE)
}
companion object {
private const val SHARED_PREF = "BIB_LIB_SHARED_PREF"
}
}