diff --git a/Android.bp b/Android.bp index cf5d6f51..9e4e1550 100644 --- a/Android.bp +++ b/Android.bp @@ -32,11 +32,8 @@ android_app { "androidx.lifecycle_lifecycle-livedata-ktx", "androidx-constraintlayout_constraintlayout", "com.google.android.material_material", - // storage - "seedvault-lib-storage", // did not manage to add this as transitive dependency - "seedvault-lib-tink-android", - "androidx.room_room-runtime", - "libprotobuf-java-lite", + // storage backup lib + "seedvault-lib-storage", // koin "seedvault-lib-koin-core-jvm", // did not manage to add this as transitive dependency "seedvault-lib-koin-android", diff --git a/app/build.gradle b/app/build.gradle index eb78fa33..d4134c83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -112,7 +112,6 @@ dependencies { * Storage Dependencies */ implementation project(':storage:lib') -// implementation fileTree(include: ['storage.aar'], dir: "${rootProject.rootDir}/storage/lib/libs") /** * External Dependencies diff --git a/storage/lib/.gitignore b/storage/lib/.gitignore index 1f46c2d6..a007feab 100644 --- a/storage/lib/.gitignore +++ b/storage/lib/.gitignore @@ -1,2 +1 @@ build/* -!build/outputs/aar/lib-release.aar diff --git a/storage/lib/Android.bp b/storage/lib/Android.bp index 53927ddf..88113b1d 100644 --- a/storage/lib/Android.bp +++ b/storage/lib/Android.bp @@ -1,11 +1,38 @@ -android_library_import { +android_library { name: "seedvault-lib-storage", - aars: ["libs/storage.aar"], sdk_version: "current", + srcs: [ + "src/main/java/**/*.kt", + "src/main/java/**/*.java", + "src/main/proto/*.proto", + ], + resource_dirs: [ + "src/main/res", + ], + proto: { + type: "lite", + local_include_dirs: ["src/main/proto"], + }, static_libs: [ + "seedvault-lib-tink-android", + "libprotobuf-java-lite", + "androidx.core_core-ktx", + "androidx.documentfile_documentfile", + "androidx.lifecycle_lifecycle-viewmodel-ktx", + "androidx.room_room-runtime", "androidx-constraintlayout_constraintlayout", "com.google.android.material_material", - ] + ], + plugins: [ + "androidx.room_room-compiler-plugin", + ], + manifest: "src/main/AndroidManifest.xml", + optimize: { + enabled: false, + }, + kotlincflags: [ + "-Xopt-in=kotlin.RequiresOptIn", + ], } java_import { diff --git a/storage/lib/build.gradle b/storage/lib/build.gradle index 1384e5d5..e96751f6 100644 --- a/storage/lib/build.gradle +++ b/storage/lib/build.gradle @@ -19,11 +19,6 @@ android { testInstrumentationRunnerArguments disableAnalytics: 'true' consumerProguardFiles "consumer-rules.pro" - javaCompileOptions { - annotationProcessorOptions { - arguments += ["room.schemaLocation": "$projectDir/schemas".toString()] - } - } } buildTypes { diff --git a/storage/lib/build/outputs/aar/lib-release.aar b/storage/lib/build/outputs/aar/lib-release.aar deleted file mode 100644 index 942397d3..00000000 Binary files a/storage/lib/build/outputs/aar/lib-release.aar and /dev/null differ diff --git a/storage/lib/libs/storage.aar b/storage/lib/libs/storage.aar deleted file mode 120000 index 7af9e82b..00000000 --- a/storage/lib/libs/storage.aar +++ /dev/null @@ -1 +0,0 @@ -../build/outputs/aar/lib-release.aar \ No newline at end of file diff --git a/storage/lib/schemas/org.calyxos.backup.storage.db.Db/1.json b/storage/lib/schemas/org.calyxos.backup.storage.db.Db/1.json deleted file mode 100644 index 695a8a9c..00000000 --- a/storage/lib/schemas/org.calyxos.backup.storage.db.Db/1.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "formatVersion": 1, - "database": { - "version": 1, - "identityHash": "6286a22113131a780d1a28ba059d5a6d", - "entities": [ - { - "tableName": "StoredUri", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uri` TEXT NOT NULL, PRIMARY KEY(`uri`))", - "fields": [ - { - "fieldPath": "uri", - "columnName": "uri", - "affinity": "TEXT", - "notNull": true - } - ], - "primaryKey": { - "columnNames": [ - "uri" - ], - "autoGenerate": false - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "CachedFile", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uri` TEXT NOT NULL, `size` INTEGER NOT NULL, `last_modified` INTEGER, `generation_modified` INTEGER, `chunks` TEXT NOT NULL, `zip_index` INTEGER, `last_seen` INTEGER NOT NULL, PRIMARY KEY(`uri`))", - "fields": [ - { - "fieldPath": "uri", - "columnName": "uri", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "size", - "columnName": "size", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "lastModified", - "columnName": "last_modified", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "generationModified", - "columnName": "generation_modified", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "chunks", - "columnName": "chunks", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "zipIndex", - "columnName": "zip_index", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "lastSeen", - "columnName": "last_seen", - "affinity": "INTEGER", - "notNull": true - } - ], - "primaryKey": { - "columnNames": [ - "uri" - ], - "autoGenerate": false - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "CachedChunk", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `ref_count` INTEGER NOT NULL, `size` INTEGER NOT NULL, `version` INTEGER NOT NULL, PRIMARY KEY(`id`))", - "fields": [ - { - "fieldPath": "id", - "columnName": "id", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "refCount", - "columnName": "ref_count", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "size", - "columnName": "size", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "version", - "columnName": "version", - "affinity": "INTEGER", - "notNull": true - } - ], - "primaryKey": { - "columnNames": [ - "id" - ], - "autoGenerate": false - }, - "indices": [], - "foreignKeys": [] - } - ], - "views": [], - "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, '6286a22113131a780d1a28ba059d5a6d')" - ] - } -} \ No newline at end of file diff --git a/storage/lib/src/main/java/org/calyxos/backup/storage/db/Db.kt b/storage/lib/src/main/java/org/calyxos/backup/storage/db/Db.kt index 33b09b7c..a8c8f7cb 100644 --- a/storage/lib/src/main/java/org/calyxos/backup/storage/db/Db.kt +++ b/storage/lib/src/main/java/org/calyxos/backup/storage/db/Db.kt @@ -8,7 +8,11 @@ import androidx.room.TypeConverters internal const val DB_MAX_OP = 750 -@Database(entities = [StoredUri::class, CachedFile::class, CachedChunk::class], version = 1) +@Database( + version = 1, + exportSchema = false, + entities = [StoredUri::class, CachedFile::class, CachedChunk::class], +) @TypeConverters(Converters::class) internal abstract class Db : RoomDatabase() { abstract fun getUriStore(): UriStore