Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ buildscript {
dependencies {
// before upgrading AGP, check https://gitlab.com/fdroid/admin/-/issues/593
classpath 'com.android.tools.build:gradle:8.13.2'
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1"
}
Expand Down
6 changes: 3 additions & 3 deletions buildsystem/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,7 @@ ext {

lruFileCacheVersion = '1.2'

// KEEP IN SYNC WITH GENERATOR VERSION IN root build.gradle
greenDaoVersion = '3.3.0'
roomVersion = '2.8.5'

// cloud provider libs
// todo updaten
Expand Down Expand Up @@ -168,7 +167,6 @@ ext {
googlePlayServicesAuth : "com.google.android.gms:play-services-auth:${googlePlayServicesVersion}",
trackingFreeGoogleCLient : "com.github.cryptomator.google-http-java-client:google-http-client:${trackingFreeGoogleCLientVersion}",
trackingFreeGoogleAndroidCLient: "com.github.cryptomator.google-http-java-client:google-http-client-android:${trackingFreeGoogleCLientVersion}",
greenDao : "org.greenrobot:greendao:${greenDaoVersion}",
gson : "com.google.code.gson:gson:${gsonVersion}",
hamcrest : "org.hamcrest:hamcrest-all:${hamcrestVersion}",
javaxAnnotation : "javax.annotation:jsr250-api:${javaxAnnotationVersion}",
Expand All @@ -190,6 +188,8 @@ ext {
okHttpDigest : "io.github.rburgst:okhttp-digest:${okHttpDigestVersion}",
pcloud : "com.github.cryptomator.pcloud-sdk-java:java-core:${pcloudVersion}",
recyclerViewFastScroll : "com.simplecityapps:recyclerview-fastscroll:${recyclerViewFastScrollVersion}",
roomRuntime : "androidx.room:room-runtime:${roomVersion}",
roomCompiler : "androidx.room:room-compiler:${roomVersion}",
rxJava : "io.reactivex.rxjava2:rxjava:${rxJavaVersion}",
rxAndroid : "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}",
rxBinding : "com.jakewharton.rxbinding2:rxbinding:${rxBindingVersion}",
Expand Down
20 changes: 13 additions & 7 deletions data/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'de.mannodermaus.android-junit5'
Expand All @@ -17,6 +16,12 @@ android {
buildConfigField "String", "VERSION_NAME", "\"${globalConfiguration["androidVersionName"]}\""

testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}

compileOptions {
Expand Down Expand Up @@ -71,6 +76,10 @@ android {
}

sourceSets {
androidTest {
assets.srcDirs += files("$projectDir/schemas".toString())
}

playstore {
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/apkStorePlaystore/java/']
}
Expand Down Expand Up @@ -109,10 +118,6 @@ android {
namespace 'org.cryptomator.data'
}

greendao {
schemaVersion 14
}

configurations.all {
// Check for updates every build (use for cryptolib snapshot)
//resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
Expand Down Expand Up @@ -140,8 +145,9 @@ dependencies {
// cryptomator
implementation dependencies.cryptolib

// greendao
api dependencies.greenDao
// room
api dependencies.roomRuntime
annotationProcessor dependencies.roomCompiler
// dagger
annotationProcessor dependencies.daggerCompiler
implementation dependencies.dagger
Expand Down
211 changes: 211 additions & 0 deletions data/schemas/org.cryptomator.data.db.CryptomatorDatabase/14.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
{
"formatVersion": 1,
"database": {
"version": 14,
"identityHash": "2ddff851b0943dea5f3c6586134086a8",
"entities": [
{
"tableName": "CLOUD_ENTITY",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `TYPE` TEXT NOT NULL, `ACCESS_TOKEN` TEXT, `ACCESS_TOKEN_CRYPTO_MODE` TEXT, `URL` TEXT, `USERNAME` TEXT, `WEBDAV_CERTIFICATE` TEXT, `S3_BUCKET` TEXT, `S3_REGION` TEXT, `S3_SECRET_KEY` TEXT, `S3_SECRET_KEY_CRYPTO_MODE` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "_id",
"affinity": "INTEGER"
},
{
"fieldPath": "type",
"columnName": "TYPE",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "accessToken",
"columnName": "ACCESS_TOKEN",
"affinity": "TEXT"
},
{
"fieldPath": "accessTokenCryptoMode",
"columnName": "ACCESS_TOKEN_CRYPTO_MODE",
"affinity": "TEXT"
},
{
"fieldPath": "url",
"columnName": "URL",
"affinity": "TEXT"
},
{
"fieldPath": "username",
"columnName": "USERNAME",
"affinity": "TEXT"
},
{
"fieldPath": "webdavCertificate",
"columnName": "WEBDAV_CERTIFICATE",
"affinity": "TEXT"
},
{
"fieldPath": "s3Bucket",
"columnName": "S3_BUCKET",
"affinity": "TEXT"
},
{
"fieldPath": "s3Region",
"columnName": "S3_REGION",
"affinity": "TEXT"
},
{
"fieldPath": "s3SecretKey",
"columnName": "S3_SECRET_KEY",
"affinity": "TEXT"
},
{
"fieldPath": "s3SecretKeyCryptoMode",
"columnName": "S3_SECRET_KEY_CRYPTO_MODE",
"affinity": "TEXT"
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"_id"
]
}
},
{
"tableName": "UPDATE_CHECK_ENTITY",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `RELEASE_NOTE` TEXT, `VERSION` TEXT, `URL_TO_APK` TEXT, `APK_SHA256` TEXT, `URL_TO_RELEASE_NOTE` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "_id",
"affinity": "INTEGER"
},
{
"fieldPath": "releaseNote",
"columnName": "RELEASE_NOTE",
"affinity": "TEXT"
},
{
"fieldPath": "version",
"columnName": "VERSION",
"affinity": "TEXT"
},
{
"fieldPath": "urlToApk",
"columnName": "URL_TO_APK",
"affinity": "TEXT"
},
{
"fieldPath": "apkSha256",
"columnName": "APK_SHA256",
"affinity": "TEXT"
},
{
"fieldPath": "urlToReleaseNote",
"columnName": "URL_TO_RELEASE_NOTE",
"affinity": "TEXT"
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"_id"
]
}
},
{
"tableName": "VAULT_ENTITY",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `FOLDER_CLOUD_ID` INTEGER, `FOLDER_PATH` TEXT, `FOLDER_NAME` TEXT, `CLOUD_TYPE` TEXT NOT NULL, `PASSWORD` TEXT, `PASSWORD_CRYPTO_MODE` TEXT, `POSITION` INTEGER, `FORMAT` INTEGER, `SHORTENING_THRESHOLD` INTEGER, FOREIGN KEY(`FOLDER_CLOUD_ID`) REFERENCES `CLOUD_ENTITY`(`_id`) ON UPDATE NO ACTION ON DELETE SET NULL )",
"fields": [
{
"fieldPath": "id",
"columnName": "_id",
"affinity": "INTEGER"
},
{
"fieldPath": "folderCloudId",
"columnName": "FOLDER_CLOUD_ID",
"affinity": "INTEGER"
},
{
"fieldPath": "folderPath",
"columnName": "FOLDER_PATH",
"affinity": "TEXT"
},
{
"fieldPath": "folderName",
"columnName": "FOLDER_NAME",
"affinity": "TEXT"
},
{
"fieldPath": "cloudType",
"columnName": "CLOUD_TYPE",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "password",
"columnName": "PASSWORD",
"affinity": "TEXT"
},
{
"fieldPath": "passwordCryptoMode",
"columnName": "PASSWORD_CRYPTO_MODE",
"affinity": "TEXT"
},
{
"fieldPath": "position",
"columnName": "POSITION",
"affinity": "INTEGER"
},
{
"fieldPath": "format",
"columnName": "FORMAT",
"affinity": "INTEGER"
},
{
"fieldPath": "shorteningThreshold",
"columnName": "SHORTENING_THRESHOLD",
"affinity": "INTEGER"
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"_id"
]
},
"indices": [
{
"name": "IDX_VAULT_ENTITY_FOLDER_PATH_FOLDER_CLOUD_ID",
"unique": true,
"columnNames": [
"FOLDER_PATH",
"FOLDER_CLOUD_ID"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `IDX_VAULT_ENTITY_FOLDER_PATH_FOLDER_CLOUD_ID` ON `${TABLE_NAME}` (`FOLDER_PATH`, `FOLDER_CLOUD_ID`)"
}
],
"foreignKeys": [
{
"table": "CLOUD_ENTITY",
"onDelete": "SET NULL",
"onUpdate": "NO ACTION",
"columns": [
"FOLDER_CLOUD_ID"
],
"referencedColumns": [
"_id"
]
}
]
}
],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2ddff851b0943dea5f3c6586134086a8')"
]
}
}
Loading
Loading