mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 21:07:04 +05:30
feat(database): use Requery's repackaged SQLite for databases
This commit is contained in:
parent
558062a915
commit
3347224018
5 changed files with 18 additions and 4 deletions
|
@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
* Directly use Material Icons from upstream artifacts
|
* Directly use Material Icons from upstream artifacts
|
||||||
* Upgrade dependencies
|
* Upgrade dependencies
|
||||||
* Add adaptive navigation support (thanks @Yash-Garg)
|
* Add adaptive navigation support (thanks @Yash-Garg)
|
||||||
|
* Use latest SQLite for backing databases
|
||||||
|
|
||||||
## [1.26.0] - 2023-05-03
|
## [1.26.0] - 2023-05-03
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ dependencies {
|
||||||
implementation(libs.dagger)
|
implementation(libs.dagger)
|
||||||
implementation(libs.sqldelight.androidDriver)
|
implementation(libs.sqldelight.androidDriver)
|
||||||
implementation(libs.sqldelight.primitiveAdapters)
|
implementation(libs.sqldelight.primitiveAdapters)
|
||||||
|
implementation(libs.sqlite.android)
|
||||||
|
|
||||||
testImplementation(libs.sqldelight.jvmDriver)
|
testImplementation(libs.sqldelight.jvmDriver)
|
||||||
addTestDependencies(project)
|
addTestDependencies(project)
|
||||||
|
|
|
@ -18,6 +18,7 @@ import dev.msfjarvis.claw.database.LobstersDatabase
|
||||||
import dev.msfjarvis.claw.database.local.PostComments
|
import dev.msfjarvis.claw.database.local.PostComments
|
||||||
import dev.msfjarvis.claw.database.local.SavedPost
|
import dev.msfjarvis.claw.database.local.SavedPost
|
||||||
import dev.msfjarvis.claw.database.model.CSVAdapter
|
import dev.msfjarvis.claw.database.model.CSVAdapter
|
||||||
|
import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@ContributesTo(ApplicationScope::class)
|
@ContributesTo(ApplicationScope::class)
|
||||||
|
@ -27,11 +28,17 @@ object DatabaseModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
fun provideDatabase(@ForScope(ApplicationScope::class) context: Context): LobstersDatabase {
|
fun provideDatabase(@ForScope(ApplicationScope::class) context: Context): LobstersDatabase {
|
||||||
val driver = AndroidSqliteDriver(LobstersDatabase.Schema, context, LOBSTERS_DATABASE_NAME)
|
val driver =
|
||||||
|
AndroidSqliteDriver(
|
||||||
|
schema = LobstersDatabase.Schema,
|
||||||
|
context = context,
|
||||||
|
name = LOBSTERS_DATABASE_NAME,
|
||||||
|
factory = RequerySQLiteOpenHelperFactory(),
|
||||||
|
)
|
||||||
return LobstersDatabase(
|
return LobstersDatabase(
|
||||||
driver,
|
driver = driver,
|
||||||
PostComments.Adapter(CSVAdapter()),
|
PostCommentsAdapter = PostComments.Adapter(CSVAdapter()),
|
||||||
SavedPost.Adapter(IntColumnAdapter, CSVAdapter()),
|
SavedPostAdapter = SavedPost.Adapter(IntColumnAdapter, CSVAdapter()),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,6 +89,7 @@ sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", vers
|
||||||
sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" }
|
sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" }
|
||||||
sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }
|
sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }
|
||||||
sqldelight-primitiveAdapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" }
|
sqldelight-primitiveAdapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" }
|
||||||
|
sqlite-android = "com.github.requery:sqlite-android:3.42.0"
|
||||||
testparameterinjector = "com.google.testparameterinjector:test-parameter-injector:1.12"
|
testparameterinjector = "com.google.testparameterinjector:test-parameter-injector:1.12"
|
||||||
truth = "com.google.truth:truth:1.1.4"
|
truth = "com.google.truth:truth:1.1.4"
|
||||||
whetstone = { module = "com.deliveryhero.whetstone:whetstone", version.ref = "whetstone" }
|
whetstone = { module = "com.deliveryhero.whetstone:whetstone", version.ref = "whetstone" }
|
||||||
|
|
|
@ -131,6 +131,10 @@ dependencyResolutionManagement {
|
||||||
forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") }
|
forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") }
|
||||||
filter { includeGroup("dev.msfjarvis.whetstone") }
|
filter { includeGroup("dev.msfjarvis.whetstone") }
|
||||||
}
|
}
|
||||||
|
exclusiveContent {
|
||||||
|
forRepository { maven("https://jitpack.io") }
|
||||||
|
filter { includeGroup("com.github.requery") }
|
||||||
|
}
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue