1
0
Fork 0

Objectbox (#400)

* replaced SQLite/RoomDb with Objectbox for improved dictionary performance

* SQLite words are automatically cleaned up when opening the Preferences

* added protection against deleting dictionaries while loading other dictionaries

* enabled adding words with apostrophes in Ukrainian

* updated system requirements
This commit is contained in:
Dimo Karaivanov 2023-12-21 14:30:27 +02:00 committed by GitHub
parent 7fb1ca7b5b
commit c02b4149e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 693 additions and 691 deletions

View file

@ -9,10 +9,13 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:8.0.2'
classpath 'gradle.plugin.at.zierler:yaml-validator-plugin:1.5.0'
classpath("io.objectbox:objectbox-gradle-plugin:3.7.1")
}
}
apply plugin: 'com.android.application'
apply plugin: 'at.zierler.yamlvalidator'
apply plugin: "io.objectbox"
apply from: 'gradle/scripts/constants.gradle'
apply from: 'gradle/scripts/dictionary-tools.gradle'
@ -20,10 +23,6 @@ apply from: 'gradle/scripts/validate-languages.gradle'
apply from: 'gradle/scripts/version-tools.gradle'
configurations.configureEach {
// fixes 'duplicate class error', when using these combine: androidx.core:1.10.1, androidx.preference:1.2.0 and androidx.room:2.5.1
// see: https://stackoverflow.com/questions/75274720/a-failure-occurred-while-executing-appcheckdebugduplicateclasses/75315276#75315276
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
yamlValidator {
searchPaths = ['languages/definitions']
}
@ -32,8 +31,10 @@ configurations.configureEach {
dependencies {
implementation 'androidx.core:core:1.10.1'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.room:room-runtime:2.5.2'
annotationProcessor 'androidx.room:room-compiler:2.5.2'
// fixes 'duplicate class error' when using "androidx.core" > 1.9.0
// see: https://stackoverflow.com/a/77323424
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
}
repositories {