diff --git a/app/src/androidTest/java/com/stevesoltys/seedvault/PluginTest.kt b/app/src/androidTest/java/com/stevesoltys/seedvault/PluginTest.kt index bd92deeb4..c9624eb52 100644 --- a/app/src/androidTest/java/com/stevesoltys/seedvault/PluginTest.kt +++ b/app/src/androidTest/java/com/stevesoltys/seedvault/PluginTest.kt @@ -10,7 +10,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.MediumTest import androidx.test.platform.app.InstrumentationRegistry import com.stevesoltys.seedvault.backend.LegacyStoragePlugin -import com.stevesoltys.seedvault.backend.getAvailableBackupFileHandles import com.stevesoltys.seedvault.backend.saf.DocumentsProviderLegacyPlugin import com.stevesoltys.seedvault.backend.saf.DocumentsStorage import com.stevesoltys.seedvault.settings.SettingsManager diff --git a/app/src/androidTest/java/com/stevesoltys/seedvault/transport/backup/KvBackupInstrumentationTest.kt b/app/src/androidTest/java/com/stevesoltys/seedvault/transport/backup/KvBackupInstrumentationTest.kt index b71907533..611d99742 100644 --- a/app/src/androidTest/java/com/stevesoltys/seedvault/transport/backup/KvBackupInstrumentationTest.kt +++ b/app/src/androidTest/java/com/stevesoltys/seedvault/transport/backup/KvBackupInstrumentationTest.kt @@ -13,7 +13,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.MediumTest import com.stevesoltys.seedvault.repo.BackupData import com.stevesoltys.seedvault.repo.BackupReceiver -import com.stevesoltys.seedvault.settings.SettingsManager import io.mockk.CapturingSlot import io.mockk.Runs import io.mockk.coEvery @@ -34,7 +33,6 @@ import kotlin.test.assertEquals @MediumTest class KvBackupInstrumentationTest : KoinComponent { - private val settingsManager: SettingsManager by inject() private val backupReceiver: BackupReceiver = mockk() private val inputFactory: InputFactory = mockk() private val dbManager: KvDbManager by inject() diff --git a/app/src/main/java/com/stevesoltys/seedvault/App.kt b/app/src/main/java/com/stevesoltys/seedvault/App.kt index 0abc535b0..1d3bfd2e8 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/App.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/App.kt @@ -86,11 +86,9 @@ open class App : Application() { settingsManager = get(), keyManager = get(), backendManager = get(), - metadataManager = get(), appListRetriever = get(), storageBackup = get(), backupManager = get(), - backupInitializer = get(), backupStateManager = get(), ) } diff --git a/app/src/main/java/com/stevesoltys/seedvault/backend/saf/DocumentsStorage.kt b/app/src/main/java/com/stevesoltys/seedvault/backend/saf/DocumentsStorage.kt index 1f61dbd05..48e10ede7 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/backend/saf/DocumentsStorage.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/backend/saf/DocumentsStorage.kt @@ -29,7 +29,6 @@ import org.calyxos.seedvault.core.backends.saf.SafProperties import org.calyxos.seedvault.core.backends.saf.getTreeDocumentFile import java.io.IOException import java.io.InputStream -import java.io.OutputStream import kotlin.coroutines.resume @Deprecated("") @@ -51,7 +50,7 @@ internal class DocumentsStorage( private val context: Context get() = appContext.getStorageContext { safStorage.isUsb } private val contentResolver: ContentResolver get() = context.contentResolver - internal var rootBackupDir: DocumentFile? = null + private var rootBackupDir: DocumentFile? = null get() = runBlocking { if (field == null) { val parent = safStorage.getDocumentFile(context) @@ -94,16 +93,6 @@ internal class DocumentsStorage( } } - @Throws(IOException::class) - fun getOutputStream(file: DocumentFile): OutputStream { - return try { - contentResolver.openOutputStream(file.uri, "wt") ?: throw IOException() - } catch (e: Exception) { - // SAF can throw all sorts of exceptions, so wrap it in IOException - throw IOException(e) - } - } - } /** @@ -192,7 +181,7 @@ suspend fun DocumentFile.findFileBlocking(context: Context, displayName: String) @Throws(IOException::class, TimeoutCancellationException::class) internal suspend fun getLoadedCursor(timeout: Long = 15_000, query: () -> Cursor?) = withTimeout(timeout) { - suspendCancellableCoroutine { cont -> + suspendCancellableCoroutine { cont -> val cursor = query() ?: throw IOException() cont.invokeOnCancellation { cursor.close() } val loading = cursor.extras.getBoolean(EXTRA_LOADING, false) diff --git a/app/src/main/java/com/stevesoltys/seedvault/backend/saf/StorageRootResolver.kt b/app/src/main/java/com/stevesoltys/seedvault/backend/saf/StorageRootResolver.kt index 12dc1dc5d..7e2e7c458 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/backend/saf/StorageRootResolver.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/backend/saf/StorageRootResolver.kt @@ -139,17 +139,6 @@ internal object StorageRootResolver { return if (index != -1) getInt(index) else 0 } - private fun Cursor.getLong(columnName: String): Long? { - val index = getColumnIndex(columnName) - if (index == -1) return null - val value = getString(index) ?: return null - return try { - java.lang.Long.parseLong(value) - } catch (e: NumberFormatException) { - null - } - } - fun getIcon(context: Context, authority: String, rootId: String, icon: Int): Drawable? { return getPackageIcon(context, authority, icon) ?: when { authority == AUTHORITY_STORAGE && rootId == ROOT_ID_DEVICE -> { diff --git a/app/src/main/java/com/stevesoltys/seedvault/metadata/MetadataWriter.kt b/app/src/main/java/com/stevesoltys/seedvault/metadata/MetadataWriter.kt index ce9c317bb..f1f543ce4 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/metadata/MetadataWriter.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/metadata/MetadataWriter.kt @@ -33,12 +33,6 @@ internal class MetadataWriterImpl : MetadataWriter { if (packageMetadata.size != null) { put(JSON_PACKAGE_SIZE, packageMetadata.size) } - if (packageMetadata.system) { - put(JSON_PACKAGE_SYSTEM, true) - } - if (packageMetadata.isLaunchableSystemApp) { - put(JSON_PACKAGE_SYSTEM_LAUNCHER, true) - } }) } return json.toString().toByteArray(Utf8) diff --git a/app/src/main/java/com/stevesoltys/seedvault/repo/RepoModule.kt b/app/src/main/java/com/stevesoltys/seedvault/repo/RepoModule.kt index c05ae656a..8aa720643 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/repo/RepoModule.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/repo/RepoModule.kt @@ -19,6 +19,6 @@ val repoModule = module { val snapshotFolder = File(androidContext().filesDir, FOLDER_SNAPSHOTS) SnapshotManager(snapshotFolder, get(), get(), get()) } - factory { SnapshotCreatorFactory(androidContext(), get(), get(), get(), get()) } + factory { SnapshotCreatorFactory(androidContext(), get(), get(), get()) } factory { Pruner(get(), get(), get()) } } diff --git a/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreator.kt b/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreator.kt index 15d9df26e..eda04826f 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreator.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreator.kt @@ -23,7 +23,6 @@ import com.stevesoltys.seedvault.proto.Snapshot import com.stevesoltys.seedvault.proto.Snapshot.Apk import com.stevesoltys.seedvault.proto.Snapshot.App import com.stevesoltys.seedvault.proto.Snapshot.Blob -import com.stevesoltys.seedvault.settings.SettingsManager import com.stevesoltys.seedvault.transport.backup.PackageService import com.stevesoltys.seedvault.transport.backup.isSystemApp import io.github.oshai.kotlinlogging.KotlinLogging @@ -38,7 +37,6 @@ internal class SnapshotCreator( private val context: Context, private val clock: Clock, private val packageService: PackageService, - private val settingsManager: SettingsManager, private val metadataManager: MetadataManager, ) { diff --git a/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreatorFactory.kt b/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreatorFactory.kt index 905dc9adc..ac2abd4f0 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreatorFactory.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/repo/SnapshotCreatorFactory.kt @@ -8,7 +8,6 @@ package com.stevesoltys.seedvault.repo import android.content.Context import com.stevesoltys.seedvault.Clock import com.stevesoltys.seedvault.metadata.MetadataManager -import com.stevesoltys.seedvault.settings.SettingsManager import com.stevesoltys.seedvault.transport.backup.PackageService /** @@ -18,9 +17,8 @@ internal class SnapshotCreatorFactory( private val context: Context, private val clock: Clock, private val packageService: PackageService, - private val settingsManager: SettingsManager, private val metadataManager: MetadataManager, ) { fun createSnapshotCreator() = - SnapshotCreator(context, clock, packageService, settingsManager, metadataManager) + SnapshotCreator(context, clock, packageService, metadataManager) } diff --git a/app/src/main/java/com/stevesoltys/seedvault/restore/AppDataRestoreManager.kt b/app/src/main/java/com/stevesoltys/seedvault/restore/AppDataRestoreManager.kt index 33c8333f5..2180d140e 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/restore/AppDataRestoreManager.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/restore/AppDataRestoreManager.kt @@ -27,7 +27,6 @@ import com.stevesoltys.seedvault.backend.BackendManager import com.stevesoltys.seedvault.metadata.PackageMetadataMap import com.stevesoltys.seedvault.metadata.PackageState import com.stevesoltys.seedvault.restore.install.isInstalled -import com.stevesoltys.seedvault.settings.SettingsManager import com.stevesoltys.seedvault.transport.TRANSPORT_ID import com.stevesoltys.seedvault.transport.restore.RestorableBackup import com.stevesoltys.seedvault.transport.restore.RestoreCoordinator @@ -55,7 +54,6 @@ internal data class AppRestoreResult( internal class AppDataRestoreManager( private val context: Context, private val backupManager: IBackupManager, - private val settingsManager: SettingsManager, private val restoreCoordinator: RestoreCoordinator, private val backendManager: BackendManager, ) { diff --git a/app/src/main/java/com/stevesoltys/seedvault/restore/RestoreViewModel.kt b/app/src/main/java/com/stevesoltys/seedvault/restore/RestoreViewModel.kt index cad46317c..f9112cb09 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/restore/RestoreViewModel.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/restore/RestoreViewModel.kt @@ -83,7 +83,7 @@ internal class RestoreViewModel( private val appSelectionManager = AppSelectionManager(app, backendManager, iconManager, viewModelScope) private val appDataRestoreManager = AppDataRestoreManager( - app, backupManager, settingsManager, restoreCoordinator, backendManager + app, backupManager, restoreCoordinator, backendManager ) private val mDisplayFragment = MutableLiveEvent() diff --git a/app/src/main/java/com/stevesoltys/seedvault/restore/install/InstallProgressAdapter.kt b/app/src/main/java/com/stevesoltys/seedvault/restore/install/InstallProgressAdapter.kt index e92a4f7bd..0a14703d0 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/restore/install/InstallProgressAdapter.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/restore/install/InstallProgressAdapter.kt @@ -84,7 +84,7 @@ internal class InstallProgressAdapter( if (item.icon == null) iconJob = scope.launch { iconLoader(item, appIcon::setImageDrawable) } else appIcon.setImageDrawable(item.icon) - appName.text = item.name ?: getAppName(v.context, item.packageName.toString()) + appName.text = item.name ?: getAppName(v.context, item.packageName) appInfo.visibility = GONE when (item.state) { IN_PROGRESS -> { diff --git a/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt b/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt index 38336882b..66a432751 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt @@ -80,8 +80,7 @@ internal class AppListRetriever( AppStatus( packageName = packageName, enabled = settingsManager.isBackupEnabled(packageName), - icon = data.iconRes?.let { getDrawable(context, it) } - ?: getIconFromPackageManager(packageName), + icon = getDrawable(context, data.iconRes) ?: getIconFromPackageManager(packageName), name = context.getString(data.nameRes), time = metadata?.time ?: 0, size = metadata?.size, diff --git a/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt b/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt index 70e44d0e9..adfc7aa15 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt @@ -38,13 +38,11 @@ import androidx.work.WorkManager import com.stevesoltys.seedvault.BackupStateManager import com.stevesoltys.seedvault.R import com.stevesoltys.seedvault.crypto.KeyManager -import com.stevesoltys.seedvault.metadata.MetadataManager import com.stevesoltys.seedvault.permitDiskReads import com.stevesoltys.seedvault.backend.BackendManager import com.stevesoltys.seedvault.storage.StorageBackupJobService import com.stevesoltys.seedvault.storage.StorageBackupService import com.stevesoltys.seedvault.storage.StorageBackupService.Companion.EXTRA_START_APP_BACKUP -import com.stevesoltys.seedvault.transport.backup.BackupInitializer import com.stevesoltys.seedvault.ui.LiveEvent import com.stevesoltys.seedvault.ui.MutableLiveEvent import com.stevesoltys.seedvault.ui.RequireProvisioningViewModel @@ -71,11 +69,9 @@ internal class SettingsViewModel( settingsManager: SettingsManager, keyManager: KeyManager, backendManager: BackendManager, - private val metadataManager: MetadataManager, private val appListRetriever: AppListRetriever, private val storageBackup: StorageBackup, private val backupManager: IBackupManager, - private val backupInitializer: BackupInitializer, backupStateManager: BackupStateManager, ) : RequireProvisioningViewModel(app, settingsManager, keyManager, backendManager) { diff --git a/app/src/main/java/com/stevesoltys/seedvault/transport/ConfigurableBackupTransport.kt b/app/src/main/java/com/stevesoltys/seedvault/transport/ConfigurableBackupTransport.kt index e5dbe02cf..02c8c5b3a 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/transport/ConfigurableBackupTransport.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/transport/ConfigurableBackupTransport.kt @@ -17,7 +17,6 @@ import android.os.ParcelFileDescriptor import android.util.Log import com.stevesoltys.seedvault.R import com.stevesoltys.seedvault.settings.SettingsActivity -import com.stevesoltys.seedvault.settings.SettingsManager import com.stevesoltys.seedvault.transport.backup.BackupCoordinator import com.stevesoltys.seedvault.transport.restore.RestoreCoordinator import kotlinx.coroutines.runBlocking @@ -43,7 +42,6 @@ class ConfigurableBackupTransport internal constructor(private val context: Cont private val backupCoordinator by inject() private val restoreCoordinator by inject() - private val settingsManager by inject() override fun transportDirName(): String { return TRANSPORT_DIRECTORY_NAME diff --git a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinator.kt b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinator.kt index 291c6df4b..617312802 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinator.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinator.kt @@ -20,7 +20,6 @@ import android.content.pm.PackageInfo import android.os.ParcelFileDescriptor import android.util.Log import androidx.annotation.WorkerThread -import com.stevesoltys.seedvault.Clock import com.stevesoltys.seedvault.backend.BackendManager import com.stevesoltys.seedvault.metadata.BackupType import com.stevesoltys.seedvault.metadata.MetadataManager @@ -64,14 +63,12 @@ internal class BackupCoordinator( private val appBackupManager: AppBackupManager, private val kv: KVBackup, private val full: FullBackup, - private val clock: Clock, private val packageService: PackageService, private val metadataManager: MetadataManager, private val settingsManager: SettingsManager, private val nm: BackupNotificationManager, ) { - private val backend get() = backendManager.backend private val snapshotCreator get() = appBackupManager.snapshotCreator ?: error("No SnapshotCreator") private val state = CoordinatorState( diff --git a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupModule.kt b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupModule.kt index 318c7a166..dda4b55d0 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupModule.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/BackupModule.kt @@ -41,7 +41,6 @@ val backupModule = module { appBackupManager = get(), kv = get(), full = get(), - clock = get(), packageService = get(), metadataManager = get(), settingsManager = get(), diff --git a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/PackageService.kt b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/PackageService.kt index aeca44085..a53c33f98 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/transport/backup/PackageService.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/transport/backup/PackageService.kt @@ -125,11 +125,6 @@ internal class PackageService( packageInfo.allowsBackup() } - /** - * A list of apps that do not allow backup. - */ - val userNotAllowedApps: List = emptyList() - val launchableSystemApps: List @WorkerThread get() { diff --git a/app/src/main/java/com/stevesoltys/seedvault/ui/notification/NotificationBackupObserver.kt b/app/src/main/java/com/stevesoltys/seedvault/ui/notification/NotificationBackupObserver.kt index fece4e966..b61c75698 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/ui/notification/NotificationBackupObserver.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/ui/notification/NotificationBackupObserver.kt @@ -18,7 +18,6 @@ import android.util.Log.isLoggable import com.stevesoltys.seedvault.ERROR_BACKUP_CANCELLED import com.stevesoltys.seedvault.MAGIC_PACKAGE_MANAGER import com.stevesoltys.seedvault.R -import com.stevesoltys.seedvault.metadata.MetadataManager import com.stevesoltys.seedvault.settings.SettingsManager import com.stevesoltys.seedvault.repo.AppBackupManager import com.stevesoltys.seedvault.transport.backup.PackageService @@ -38,7 +37,6 @@ internal class NotificationBackupObserver( ) : IBackupObserver.Stub(), KoinComponent { private val nm: BackupNotificationManager by inject() - private val metadataManager: MetadataManager by inject() private val packageService: PackageService by inject() private val settingsManager: SettingsManager by inject() private val appBackupManager: AppBackupManager by inject() diff --git a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageActivity.kt b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageActivity.kt index f3f2244a1..f4d607b9f 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageActivity.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageActivity.kt @@ -24,8 +24,6 @@ import com.stevesoltys.seedvault.ui.INTENT_EXTRA_IS_RESTORE import com.stevesoltys.seedvault.ui.INTENT_EXTRA_IS_SETUP_WIZARD import org.koin.androidx.viewmodel.ext.android.getViewModel -private val TAG = StorageActivity::class.java.name - class StorageActivity : BackupActivity() { private lateinit var viewModel: StorageViewModel diff --git a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageViewModel.kt b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageViewModel.kt index 79a843fca..91a305b44 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageViewModel.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/StorageViewModel.kt @@ -48,8 +48,6 @@ internal abstract class StorageViewModel( private var safOption: SafOption? = null internal var isSetupWizard: Boolean = false - internal val hasStorageSet: Boolean - get() = backendManager.backendProperties != null abstract val isRestoreOperation: Boolean internal fun loadStorageRoots() { diff --git a/app/src/test/java/com/stevesoltys/seedvault/crypto/KeyManagerImplTest.kt b/app/src/test/java/com/stevesoltys/seedvault/crypto/KeyManagerImplTest.kt index c91df6074..c42b83f4d 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/crypto/KeyManagerImplTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/crypto/KeyManagerImplTest.kt @@ -11,8 +11,8 @@ import io.mockk.every import io.mockk.just import io.mockk.mockk import io.mockk.slot -import junit.framework.Assert.assertTrue -import org.junit.Assert.assertArrayEquals +import org.junit.jupiter.api.Assertions.assertArrayEquals +import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestInstance.Lifecycle.PER_METHOD diff --git a/app/src/test/java/com/stevesoltys/seedvault/metadata/MetadataManagerTest.kt b/app/src/test/java/com/stevesoltys/seedvault/metadata/MetadataManagerTest.kt index 152d93d0b..073554899 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/metadata/MetadataManagerTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/metadata/MetadataManagerTest.kt @@ -21,7 +21,6 @@ import com.stevesoltys.seedvault.metadata.PackageState.APK_AND_DATA import com.stevesoltys.seedvault.metadata.PackageState.NOT_ALLOWED import com.stevesoltys.seedvault.metadata.PackageState.NO_DATA import com.stevesoltys.seedvault.metadata.PackageState.WAS_STOPPED -import com.stevesoltys.seedvault.settings.SettingsManager import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -49,7 +48,6 @@ class MetadataManagerTest { private val clock: Clock = mockk() private val metadataWriter: MetadataWriter = mockk() private val metadataReader: MetadataReader = mockk() - private val settingsManager: SettingsManager = mockk() private val manager = MetadataManager( context = context, diff --git a/app/src/test/java/com/stevesoltys/seedvault/repo/BackupReceiverTest.kt b/app/src/test/java/com/stevesoltys/seedvault/repo/BackupReceiverTest.kt index d7f72f4aa..384dce233 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/repo/BackupReceiverTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/repo/BackupReceiverTest.kt @@ -86,7 +86,7 @@ internal class BackupReceiverTest : TransportTest() { } @Test - fun `readFromStream`() = runBlocking { + fun readFromStream() = runBlocking { val bytes = getRandomByteArray() val chunkBytes1 = getRandomByteArray() val chunkBytes2 = getRandomByteArray() diff --git a/app/src/test/java/com/stevesoltys/seedvault/repo/SnapshotCreatorTest.kt b/app/src/test/java/com/stevesoltys/seedvault/repo/SnapshotCreatorTest.kt index 6affd4841..d4e4005a2 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/repo/SnapshotCreatorTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/repo/SnapshotCreatorTest.kt @@ -38,8 +38,7 @@ internal class SnapshotCreatorTest : TransportTest() { private val ctx: Context = ApplicationProvider.getApplicationContext() private val packageService: PackageService = mockk() - private val snapshotCreator = - SnapshotCreator(ctx, clock, packageService, settingsManager, metadataManager) + private val snapshotCreator = SnapshotCreator(ctx, clock, packageService, metadataManager) @Test fun `test onApkBackedUp`() { diff --git a/app/src/test/java/com/stevesoltys/seedvault/restore/install/ApkSplitCompatibilityCheckerTest.kt b/app/src/test/java/com/stevesoltys/seedvault/restore/install/ApkSplitCompatibilityCheckerTest.kt index f142ba5f1..996def8f3 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/restore/install/ApkSplitCompatibilityCheckerTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/restore/install/ApkSplitCompatibilityCheckerTest.kt @@ -9,9 +9,9 @@ import com.stevesoltys.seedvault.getRandomString import com.stevesoltys.seedvault.transport.TransportTest import io.mockk.every import io.mockk.mockk -import org.junit.Assert.assertEquals -import org.junit.Assert.assertFalse -import org.junit.Assert.assertTrue +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test import kotlin.random.Random diff --git a/app/src/test/java/com/stevesoltys/seedvault/transport/CoordinatorIntegrationTest.kt b/app/src/test/java/com/stevesoltys/seedvault/transport/CoordinatorIntegrationTest.kt index f3d1f0f3e..950451b21 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/transport/CoordinatorIntegrationTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/transport/CoordinatorIntegrationTest.kt @@ -93,16 +93,15 @@ internal class CoordinatorIntegrationTest : TransportTest() { ) private val packageService: PackageService = mockk() private val backup = BackupCoordinator( - context, - backendManager, - appBackupManager, - kvBackup, - fullBackup, - clock, - packageService, - metadataManager, - settingsManager, - notificationManager + context = context, + backendManager = backendManager, + appBackupManager = appBackupManager, + kv = kvBackup, + full = fullBackup, + packageService = packageService, + metadataManager = metadataManager, + settingsManager = settingsManager, + nm = notificationManager, ) private val kvRestore = KVRestore( diff --git a/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinatorTest.kt b/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinatorTest.kt index 30c5cf622..b2e408350 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinatorTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCoordinatorTest.kt @@ -13,7 +13,6 @@ import android.os.ParcelFileDescriptor import com.stevesoltys.seedvault.backend.BackendManager import com.stevesoltys.seedvault.getRandomString import com.stevesoltys.seedvault.metadata.BackupType -import com.stevesoltys.seedvault.metadata.PackageMetadata import com.stevesoltys.seedvault.metadata.PackageState.NO_DATA import com.stevesoltys.seedvault.metadata.PackageState.QUOTA_EXCEEDED import com.stevesoltys.seedvault.metadata.PackageState.UNKNOWN_ERROR @@ -51,7 +50,6 @@ internal class BackupCoordinatorTest : BackupTest() { appBackupManager = appBackupManager, kv = kv, full = full, - clock = clock, packageService = packageService, metadataManager = metadataManager, settingsManager = settingsManager, @@ -60,7 +58,6 @@ internal class BackupCoordinatorTest : BackupTest() { private val backend = mockk() private val fileDescriptor: ParcelFileDescriptor = mockk() - private val packageMetadata: PackageMetadata = mockk() private val safProperties = SafProperties( config = Uri.EMPTY, name = getRandomString(), diff --git a/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCreationTest.kt b/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCreationTest.kt index 307c7acd5..36900de79 100644 --- a/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCreationTest.kt +++ b/app/src/test/java/com/stevesoltys/seedvault/transport/backup/BackupCreationTest.kt @@ -66,7 +66,7 @@ internal class BackupCreationTest : BackupTest() { private val appBackupManager = mockk() private val packageService = mockk() private val snapshotCreator = - SnapshotCreator(context, clock, packageService, settingsManager, mockk(relaxed = true)) + SnapshotCreator(context, clock, packageService, mockk(relaxed = true)) private val notificationManager = mockk() private val db = TestKvDbManager() @@ -80,7 +80,6 @@ internal class BackupCreationTest : BackupTest() { appBackupManager = appBackupManager, kv = kvBackup, full = fullBackup, - clock = clock, packageService = packageService, metadataManager = metadataManager, settingsManager = settingsManager, diff --git a/core/src/main/java/org/calyxos/seedvault/core/backends/Constants.kt b/core/src/main/java/org/calyxos/seedvault/core/backends/Constants.kt index 717640bae..08854a552 100644 --- a/core/src/main/java/org/calyxos/seedvault/core/backends/Constants.kt +++ b/core/src/main/java/org/calyxos/seedvault/core/backends/Constants.kt @@ -23,6 +23,5 @@ public object Constants { public val appSnapshotRegex: Regex = Regex("(^[a-f0-9]{64})\\.snapshot$") public val fileSnapshotRegex: Regex = Regex("(^[0-9]{13})\\.SeedSnap$") // good until year 2286 public const val MIME_TYPE: String = "application/octet-stream" - public const val CHUNK_FOLDER_COUNT: Int = 256 } diff --git a/storage/demo/src/main/java/de/grobox/storagebackuptester/backup/BackupStats.kt b/storage/demo/src/main/java/de/grobox/storagebackuptester/backup/BackupStats.kt index e96ab4fd4..51d6c91ef 100644 --- a/storage/demo/src/main/java/de/grobox/storagebackuptester/backup/BackupStats.kt +++ b/storage/demo/src/main/java/de/grobox/storagebackuptester/backup/BackupStats.kt @@ -16,7 +16,6 @@ import org.calyxos.backup.storage.api.BackupFile import org.calyxos.backup.storage.api.StorageBackup import org.calyxos.backup.storage.backup.NotificationBackupObserver import kotlin.time.DurationUnit -import kotlin.time.ExperimentalTime import kotlin.time.toDuration data class BackupProgress( @@ -91,7 +90,6 @@ internal class BackupStats( liveData.postValue(BackupProgress(filesProcessed, totalFiles, null)) } - @OptIn(ExperimentalTime::class) override suspend fun onBackupComplete(backupDuration: Long?) { super.onBackupComplete(backupDuration) @@ -162,7 +160,6 @@ internal class BackupStats( liveData.postValue(BackupProgress(filesProcessed, totalFiles, text)) } - @OptIn(ExperimentalTime::class) override suspend fun onPruneComplete(pruneDuration: Long) { super.onPruneComplete(pruneDuration) diff --git a/storage/demo/src/main/java/de/grobox/storagebackuptester/crypto/KeyManager.kt b/storage/demo/src/main/java/de/grobox/storagebackuptester/crypto/KeyManager.kt index 3a0e077ac..1554912c7 100644 --- a/storage/demo/src/main/java/de/grobox/storagebackuptester/crypto/KeyManager.kt +++ b/storage/demo/src/main/java/de/grobox/storagebackuptester/crypto/KeyManager.kt @@ -10,17 +10,17 @@ import android.security.keystore.KeyProperties.PURPOSE_ENCRYPT import android.security.keystore.KeyProperties.PURPOSE_SIGN import android.security.keystore.KeyProperties.PURPOSE_VERIFY import android.security.keystore.KeyProtection +import org.calyxos.seedvault.core.crypto.CoreCrypto.ALGORITHM_HMAC import java.security.KeyStore import javax.crypto.SecretKey import javax.crypto.spec.SecretKeySpec -object KeyManager: org.calyxos.seedvault.core.crypto.KeyManager { +object KeyManager : org.calyxos.seedvault.core.crypto.KeyManager { private const val KEY_SIZE = 256 - internal const val KEY_SIZE_BYTES = KEY_SIZE / 8 + private const val KEY_SIZE_BYTES = KEY_SIZE / 8 private const val KEY_ALIAS_MASTER = "com.stevesoltys.seedvault.master" private const val ANDROID_KEY_STORE = "AndroidKeyStore" - private const val ALGORITHM_HMAC = "HmacSHA256" private const val FAKE_SEED = "This is a legacy backup key 1234" diff --git a/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/DocumentScanner.kt b/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/DocumentScanner.kt index ad44f0462..fa19c358b 100644 --- a/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/DocumentScanner.kt +++ b/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/DocumentScanner.kt @@ -14,10 +14,8 @@ import org.calyxos.backup.storage.api.BackupFile import org.calyxos.backup.storage.scanner.DocumentScanner import java.text.SimpleDateFormat import java.util.Date -import kotlin.time.ExperimentalTime import kotlin.time.measureTimedValue -@OptIn(ExperimentalTime::class) fun scanTree(context: Context, documentScanner: DocumentScanner, treeUri: Uri): String { val sb = StringBuilder() val timedResult = measureTimedValue { diff --git a/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/MediaScanner.kt b/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/MediaScanner.kt index dd4d4e0a3..25a8f7ba6 100644 --- a/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/MediaScanner.kt +++ b/storage/demo/src/main/java/de/grobox/storagebackuptester/scanner/MediaScanner.kt @@ -13,7 +13,6 @@ import org.calyxos.backup.storage.api.BackupFile import org.calyxos.backup.storage.scanner.MediaScanner import java.text.SimpleDateFormat import java.util.Date -import kotlin.time.ExperimentalTime import kotlin.time.TimedValue import kotlin.time.measureTimedValue @@ -27,7 +26,6 @@ data class ScanResult( } } -@OptIn(ExperimentalTime::class) fun scanUri(context: Context, mediaScanner: MediaScanner, uri: Uri): String { val sb = StringBuilder() val timedResult = measureTimedValue { @@ -57,7 +55,6 @@ fun dump(context: Context, mediaFiles: List, sb: StringBuilder? = nu return ScanResult(itemsFound, totalSize) } -@OptIn(ExperimentalTime::class) fun appendStats( context: Context, sb: StringBuilder, diff --git a/storage/demo/src/main/java/de/grobox/storagebackuptester/settings/SettingsFragment.kt b/storage/demo/src/main/java/de/grobox/storagebackuptester/settings/SettingsFragment.kt index 940a8331a..ad68b18ae 100644 --- a/storage/demo/src/main/java/de/grobox/storagebackuptester/settings/SettingsFragment.kt +++ b/storage/demo/src/main/java/de/grobox/storagebackuptester/settings/SettingsFragment.kt @@ -17,7 +17,6 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import android.widget.Toast.LENGTH_SHORT -import androidx.appcompat.app.AlertDialog import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder import de.grobox.storagebackuptester.MainViewModel diff --git a/storage/demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/storage/demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index a62b276d5..66002d194 100644 --- a/storage/demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/storage/demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -6,4 +6,5 @@ + diff --git a/storage/demo/src/main/res/values-night/themes.xml b/storage/demo/src/main/res/values-night/themes.xml index fc987bfdc..cf583c51c 100644 --- a/storage/demo/src/main/res/values-night/themes.xml +++ b/storage/demo/src/main/res/values-night/themes.xml @@ -14,7 +14,7 @@ @color/teal_200 @color/black - ?attr/colorPrimaryVariant + ?attr/colorPrimaryVariant @color/matrix diff --git a/storage/demo/src/main/res/values/colors.xml b/storage/demo/src/main/res/values/colors.xml index 891610dfa..f6d4334b3 100644 --- a/storage/demo/src/main/res/values/colors.xml +++ b/storage/demo/src/main/res/values/colors.xml @@ -4,8 +4,6 @@ SPDX-License-Identifier: Apache-2.0 --> - #FFBB86FC - #FF6200EE #FF3700B3 #FF03DAC5 #FF018786 diff --git a/storage/lib/src/main/java/org/calyxos/backup/storage/TimeUtils.kt b/storage/lib/src/main/java/org/calyxos/backup/storage/TimeUtils.kt index ef88077dd..c598df927 100644 --- a/storage/lib/src/main/java/org/calyxos/backup/storage/TimeUtils.kt +++ b/storage/lib/src/main/java/org/calyxos/backup/storage/TimeUtils.kt @@ -11,7 +11,6 @@ import kotlin.contracts.InvocationKind import kotlin.contracts.contract import kotlin.time.Duration import kotlin.time.DurationUnit -import kotlin.time.ExperimentalTime import kotlin.time.toDuration /** @@ -20,7 +19,7 @@ import kotlin.time.toDuration * So when building with AOSP 11, things will blow up. */ -@OptIn(ExperimentalContracts::class, ExperimentalTime::class) +@OptIn(ExperimentalContracts::class) internal inline fun measure(block: () -> Unit): Duration { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) @@ -30,7 +29,7 @@ internal inline fun measure(block: () -> Unit): Duration { return (System.currentTimeMillis() - start).toDuration(DurationUnit.MILLISECONDS) } -@OptIn(ExperimentalContracts::class, ExperimentalTime::class) +@OptIn(ExperimentalContracts::class) internal inline fun measure(text: String, block: () -> T): T { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE)