mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 17:37:05 +05:30
android: add Hilt module for database
This commit is contained in:
parent
6037f41d03
commit
de93f32b96
1 changed files with 36 additions and 0 deletions
|
@ -0,0 +1,36 @@
|
|||
package dev.msfjarvis.claw.android.injection
|
||||
|
||||
import android.content.Context
|
||||
import com.squareup.sqldelight.db.SqlDriver
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dev.msfjarvis.claw.database.LobstersDatabase
|
||||
import dev.msfjarvis.claw.database.local.DriverFactory
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import dev.msfjarvis.claw.database.model.TagsAdapter
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object DatabaseModule {
|
||||
|
||||
@Provides
|
||||
fun provideDriverFactory(@ApplicationContext context: Context): SqlDriver {
|
||||
return DriverFactory(context).createDriver()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideSavedPostsAdapter(): SavedPost.Adapter {
|
||||
return SavedPost.Adapter(TagsAdapter())
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideDatabase(
|
||||
driver: SqlDriver,
|
||||
adapter: SavedPost.Adapter,
|
||||
): LobstersDatabase {
|
||||
return LobstersDatabase(driver, adapter)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue