mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 19:57:04 +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