Clean up libraries, move to where they are included
This commit is contained in:
parent
1aa5c68d0a
commit
1e5a4deedf
19 changed files with 48 additions and 73 deletions
|
@ -37,12 +37,13 @@ android_app {
|
|||
"com.google.android.material_material",
|
||||
"kotlinx-coroutines-android",
|
||||
"kotlinx-coroutines-core",
|
||||
"seedvault-lib-kotlin-logging-jvm",
|
||||
// app backup related libs
|
||||
"seedvault-lib-protobuf-kotlin-lite",
|
||||
"seedvault-lib-kotlin-logging-jvm",
|
||||
"seedvault-logback-android",
|
||||
"seedvault-lib-chunker",
|
||||
"seedvault-lib-zstd-jni",
|
||||
"okio-lib",
|
||||
// our own gradle module libs
|
||||
"seedvault-lib-core",
|
||||
"seedvault-lib-storage",
|
||||
|
@ -51,9 +52,6 @@ android_app {
|
|||
"seedvault-lib-koin-android",
|
||||
// bip39
|
||||
"seedvault-lib-kotlin-bip39",
|
||||
// WebDAV
|
||||
"seedvault-lib-dav4jvm",
|
||||
"seedvault-lib-okhttp",
|
||||
],
|
||||
use_embedded_native_libs: true,
|
||||
manifest: "app/src/main/AndroidManifest.xml",
|
||||
|
|
|
@ -185,8 +185,6 @@ dependencies {
|
|||
implementation(fileTree("${rootProject.rootDir}/libs").include("kotlin-bip39-jvm-1.0.8.jar"))
|
||||
implementation(fileTree("${rootProject.rootDir}/libs").include("logback-android-3.0.0.aar"))
|
||||
|
||||
implementation(fileTree("${rootProject.rootDir}/libs/dav4jvm").include("*.jar"))
|
||||
|
||||
/**
|
||||
* Test Dependencies (do not concern the AOSP build)
|
||||
*/
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2024 The Calyx Institute
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package com.stevesoltys.seedvault.backend
|
||||
|
||||
import at.bitfire.dav4jvm.exception.HttpException
|
||||
import org.calyxos.seedvault.core.backends.AppBackupFileType
|
||||
import org.calyxos.seedvault.core.backends.Backend
|
||||
import org.calyxos.seedvault.core.backends.FileHandle
|
||||
import org.calyxos.seedvault.core.backends.LegacyAppBackupFile
|
||||
import java.io.IOException
|
||||
|
||||
suspend fun Backend.getAvailableBackupFileHandles(): List<FileHandle> {
|
||||
// v1 get all restore set tokens in root folder that have a metadata file
|
||||
// v2 get all snapshots in all repository folders
|
||||
return ArrayList<FileHandle>().apply {
|
||||
list(
|
||||
null,
|
||||
AppBackupFileType.Snapshot::class,
|
||||
LegacyAppBackupFile.Metadata::class,
|
||||
) { fileInfo ->
|
||||
add(fileInfo.fileHandle)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Exception.isOutOfSpace(): Boolean {
|
||||
return when (this) {
|
||||
is IOException -> message?.contains("No space left on device") == true ||
|
||||
(cause as? HttpException)?.code == 507
|
||||
|
||||
is HttpException -> code == 507
|
||||
|
||||
else -> false
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@ import android.util.Log
|
|||
import androidx.annotation.WorkerThread
|
||||
import com.stevesoltys.seedvault.R
|
||||
import com.stevesoltys.seedvault.backend.BackendManager
|
||||
import com.stevesoltys.seedvault.backend.getAvailableBackupFileHandles
|
||||
import com.stevesoltys.seedvault.isMassStorage
|
||||
import com.stevesoltys.seedvault.settings.FlashDrive
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
|
|
|
@ -6,15 +6,14 @@
|
|||
package com.stevesoltys.seedvault.backend.webdav
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import androidx.annotation.WorkerThread
|
||||
import com.stevesoltys.seedvault.R
|
||||
import com.stevesoltys.seedvault.backend.BackendManager
|
||||
import com.stevesoltys.seedvault.backend.getAvailableBackupFileHandles
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
import org.calyxos.seedvault.core.backends.Backend
|
||||
import org.calyxos.seedvault.core.backends.BackendFactory
|
||||
import org.calyxos.seedvault.core.backends.webdav.WebDavConfig
|
||||
|
@ -43,7 +42,7 @@ internal class WebDavHandler(
|
|||
|
||||
companion object {
|
||||
fun createWebDavProperties(context: Context, config: WebDavConfig): WebDavProperties {
|
||||
val host = config.url.toHttpUrl().host
|
||||
val host = Uri.parse(config.url).host
|
||||
return WebDavProperties(
|
||||
config = config,
|
||||
name = context.getString(R.string.storage_webdav_name, host),
|
||||
|
|
|
@ -22,7 +22,6 @@ import android.util.Log
|
|||
import androidx.annotation.WorkerThread
|
||||
import com.stevesoltys.seedvault.Clock
|
||||
import com.stevesoltys.seedvault.backend.BackendManager
|
||||
import com.stevesoltys.seedvault.backend.isOutOfSpace
|
||||
import com.stevesoltys.seedvault.metadata.BackupType
|
||||
import com.stevesoltys.seedvault.metadata.MetadataManager
|
||||
import com.stevesoltys.seedvault.metadata.PackageState
|
||||
|
@ -32,6 +31,7 @@ import com.stevesoltys.seedvault.metadata.PackageState.UNKNOWN_ERROR
|
|||
import com.stevesoltys.seedvault.repo.AppBackupManager
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
import com.stevesoltys.seedvault.ui.notification.BackupNotificationManager
|
||||
import org.calyxos.seedvault.core.backends.isOutOfSpace
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.TimeUnit.DAYS
|
||||
import java.util.concurrent.TimeUnit.HOURS
|
||||
|
|
|
@ -13,11 +13,11 @@ import android.app.backup.BackupTransport.TRANSPORT_QUOTA_EXCEEDED
|
|||
import android.content.pm.PackageInfo
|
||||
import android.os.ParcelFileDescriptor
|
||||
import android.util.Log
|
||||
import com.stevesoltys.seedvault.backend.isOutOfSpace
|
||||
import com.stevesoltys.seedvault.repo.BackupData
|
||||
import com.stevesoltys.seedvault.repo.BackupReceiver
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
import com.stevesoltys.seedvault.ui.notification.BackupNotificationManager
|
||||
import org.calyxos.seedvault.core.backends.isOutOfSpace
|
||||
import java.io.Closeable
|
||||
import java.io.EOFException
|
||||
import java.io.IOException
|
||||
|
|
|
@ -19,7 +19,6 @@ import android.util.Log
|
|||
import com.stevesoltys.seedvault.MAGIC_PACKAGE_MANAGER
|
||||
import com.stevesoltys.seedvault.R
|
||||
import com.stevesoltys.seedvault.backend.BackendManager
|
||||
import com.stevesoltys.seedvault.backend.getAvailableBackupFileHandles
|
||||
import com.stevesoltys.seedvault.crypto.Crypto
|
||||
import com.stevesoltys.seedvault.header.UnsupportedVersionException
|
||||
import com.stevesoltys.seedvault.metadata.BackupType
|
||||
|
|
|
@ -8,16 +8,16 @@ package com.stevesoltys.seedvault.worker
|
|||
import android.content.Context
|
||||
import android.content.pm.PackageInfo
|
||||
import android.util.Log
|
||||
import com.stevesoltys.seedvault.backend.isOutOfSpace
|
||||
import com.stevesoltys.seedvault.metadata.MetadataManager
|
||||
import com.stevesoltys.seedvault.metadata.PackageState.NOT_ALLOWED
|
||||
import com.stevesoltys.seedvault.metadata.PackageState.WAS_STOPPED
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
import com.stevesoltys.seedvault.repo.SnapshotManager
|
||||
import com.stevesoltys.seedvault.settings.SettingsManager
|
||||
import com.stevesoltys.seedvault.transport.backup.PackageService
|
||||
import com.stevesoltys.seedvault.transport.backup.isStopped
|
||||
import com.stevesoltys.seedvault.ui.notification.BackupNotificationManager
|
||||
import com.stevesoltys.seedvault.ui.notification.getAppName
|
||||
import org.calyxos.seedvault.core.backends.isOutOfSpace
|
||||
import java.io.IOException
|
||||
|
||||
internal class ApkBackupManager(
|
||||
|
|
|
@ -14,11 +14,13 @@ android_library {
|
|||
"src/main/java/org/calyxos/seedvault/core/backends/BackendTest.kt",
|
||||
],
|
||||
static_libs: [
|
||||
"seedvault-lib-tink-android",
|
||||
"androidx.core_core-ktx",
|
||||
"androidx.documentfile_documentfile",
|
||||
"kotlinx-coroutines-android",
|
||||
"kotlinx-coroutines-core",
|
||||
// Crypto
|
||||
"seedvault-lib-tink-android",
|
||||
// Logging
|
||||
"seedvault-lib-kotlin-logging-jvm",
|
||||
"seedvault-lib-slf4j-api",
|
||||
// WebDAV
|
||||
|
@ -34,9 +36,3 @@ android_library {
|
|||
"-opt-in=kotlin.RequiresOptIn",
|
||||
],
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-tink-android",
|
||||
jars: ["libs/tink-android-1.15.0.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ dependencies {
|
|||
implementation(libs.androidx.documentfile)
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.google.tink.android)
|
||||
implementation(fileTree("${rootProject.rootDir}/libs/dav4jvm").include("*.jar"))
|
||||
implementation(fileTree("$projectDir/libs/dav4jvm").include("*.jar"))
|
||||
implementation(libs.squareup.okio)
|
||||
implementation(libs.kotlin.logging)
|
||||
implementation(libs.slf4j.api)
|
||||
|
|
22
core/libs/Android.bp
Normal file
22
core/libs/Android.bp
Normal file
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// SPDX-FileCopyrightText: 2024 The Calyx Institute
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-tink-android",
|
||||
jars: ["tink-android-1.15.0.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-kotlin-logging-jvm",
|
||||
jars: ["kotlin-logging-jvm-6.0.3.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-slf4j-api",
|
||||
jars: ["slf4j-api-2.0.16.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
|
@ -51,4 +51,18 @@ public interface Backend {
|
|||
* @return null if no package name could be found
|
||||
*/
|
||||
public val providerPackageName: String?
|
||||
|
||||
public suspend fun getAvailableBackupFileHandles(): List<FileHandle> {
|
||||
// v1 get all restore set tokens in root folder that have a metadata file
|
||||
// v2 get all snapshots in all repository folders
|
||||
return ArrayList<FileHandle>().apply {
|
||||
list(
|
||||
null,
|
||||
AppBackupFileType.Snapshot::class,
|
||||
LegacyAppBackupFile.Metadata::class,
|
||||
) { fileInfo ->
|
||||
add(fileInfo.fileHandle)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,15 +33,3 @@ java_import {
|
|||
jars: ["seedvault-chunker-0.1.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-kotlin-logging-jvm",
|
||||
jars: ["kotlin-logging-jvm-6.0.3.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "seedvault-lib-slf4j-api",
|
||||
jars: ["slf4j-api-2.0.16.jar"],
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue