diff --git a/CHANGELOG.md b/CHANGELOG.md index b42195ce..a208d984 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 * Upgrade dependencies * Add adaptive navigation support (thanks @Yash-Garg) +* Use latest SQLite for backing databases ## [1.26.0] - 2023-05-03 diff --git a/database/build.gradle.kts b/database/build.gradle.kts index 1c2ce131..6994c6ab 100644 --- a/database/build.gradle.kts +++ b/database/build.gradle.kts @@ -32,6 +32,7 @@ dependencies { implementation(libs.dagger) implementation(libs.sqldelight.androidDriver) implementation(libs.sqldelight.primitiveAdapters) + implementation(libs.sqlite.android) testImplementation(libs.sqldelight.jvmDriver) addTestDependencies(project) diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt b/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt index ce668538..17ceb416 100644 --- a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt +++ b/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt @@ -18,6 +18,7 @@ import dev.msfjarvis.claw.database.LobstersDatabase import dev.msfjarvis.claw.database.local.PostComments import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.database.model.CSVAdapter +import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory @Module @ContributesTo(ApplicationScope::class) @@ -27,11 +28,17 @@ object DatabaseModule { @Provides 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( - driver, - PostComments.Adapter(CSVAdapter()), - SavedPost.Adapter(IntColumnAdapter, CSVAdapter()), + driver = driver, + PostCommentsAdapter = PostComments.Adapter(CSVAdapter()), + SavedPostAdapter = SavedPost.Adapter(IntColumnAdapter, CSVAdapter()), ) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0345645c..61db5373 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", 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" truth = "com.google.truth:truth:1.1.4" whetstone = { module = "com.deliveryhero.whetstone:whetstone", version.ref = "whetstone" } diff --git a/settings.gradle.kts b/settings.gradle.kts index adbd0186..43378b54 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -131,6 +131,10 @@ dependencyResolutionManagement { forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") } filter { includeGroup("dev.msfjarvis.whetstone") } } + exclusiveContent { + forRepository { maven("https://jitpack.io") } + filter { includeGroup("com.github.requery") } + } mavenCentral() } }