From 657e2877ba793336358f31c2503403ac74170ab0 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Mon, 1 Feb 2021 00:37:31 +0100 Subject: [PATCH] #168 final clean-up --- .../java/org/cryptomator/data/db/Upgrade3To4.kt | 8 ++++---- .../domain/usecases/vault/MoveVaultHelper.kt | 10 ++++------ .../{MoveVault.java => MoveVaultPosition.java} | 14 +++++++------- .../presentation/presenter/VaultListPresenter.kt | 9 +++++---- .../presentation/ui/activity/VaultListActivity.kt | 8 ++++---- .../presentation/ui/activity/view/VaultListView.kt | 2 +- .../presenter/VaultListPresenterTest.java | 6 +++--- 7 files changed, 28 insertions(+), 29 deletions(-) rename domain/src/main/java/org/cryptomator/domain/usecases/vault/{MoveVault.java => MoveVaultPosition.java} (65%) diff --git a/data/src/main/java/org/cryptomator/data/db/Upgrade3To4.kt b/data/src/main/java/org/cryptomator/data/db/Upgrade3To4.kt index 8c011b7e..e31364e2 100644 --- a/data/src/main/java/org/cryptomator/data/db/Upgrade3To4.kt +++ b/data/src/main/java/org/cryptomator/data/db/Upgrade3To4.kt @@ -14,15 +14,15 @@ internal class Upgrade3To4 @Inject constructor() : DatabaseUpgrade(3, 4) { override fun internalApplyTo(db: Database, origin: Int) { db.beginTransaction() try { - upgradeDatabaseSchema(db) - updateVaultPositions(db) + addPositionToVaultSchema(db) + initVaultPositionUsingCurrentSortOrder(db) db.setTransactionSuccessful() } finally { db.endTransaction() } } - private fun upgradeDatabaseSchema(db: Database) { + private fun addPositionToVaultSchema(db: Database) { Sql.alterTable("VAULT_ENTITY").renameTo("VAULT_ENTITY_OLD").executeOn(db) Sql.createTable("VAULT_ENTITY") // .id() // @@ -53,7 +53,7 @@ internal class Upgrade3To4 @Inject constructor() : DatabaseUpgrade(3, 4) { Sql.dropTable("VAULT_ENTITY_OLD").executeOn(db) } - private fun updateVaultPositions(db: Database) { + private fun initVaultPositionUsingCurrentSortOrder(db: Database) { CloudEntityDao(DaoConfig(db, VaultEntityDao::class.java)) // .loadAll() // .map { diff --git a/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultHelper.kt b/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultHelper.kt index 7bd498c6..b405550d 100644 --- a/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultHelper.kt +++ b/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultHelper.kt @@ -7,17 +7,17 @@ import java.util.* class MoveVaultHelper { companion object { - fun updateVaultPosition(from: Int, to: Int, vaultRepository: VaultRepository): List { + fun updateVaultPosition(fromPosition: Int, toPosition: Int, vaultRepository: VaultRepository): List { val vaults = vaultRepository.vaults() vaults.sortWith(VaultComparator()) - if (from < to) { - for (i in from until to) { + if (fromPosition < toPosition) { + for (i in fromPosition until toPosition) { Collections.swap(vaults, i, i + 1) } } else { - for (i in from downTo to + 1) { + for (i in fromPosition downTo toPosition + 1) { Collections.swap(vaults, i, i - 1) } } @@ -26,8 +26,6 @@ class MoveVaultHelper { vaults[i] = Vault.aCopyOf(vaults[i]).withPosition(i + 1).build() } - vaults.forEach { vault -> vaultRepository.store(vault) } - return vaults } diff --git a/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVault.java b/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultPosition.java similarity index 65% rename from domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVault.java rename to domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultPosition.java index 10bce6a5..fd7c43d3 100644 --- a/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVault.java +++ b/domain/src/main/java/org/cryptomator/domain/usecases/vault/MoveVaultPosition.java @@ -9,20 +9,20 @@ import org.cryptomator.generator.UseCase; import java.util.List; @UseCase -class MoveVault { +class MoveVaultPosition { private final VaultRepository vaultRepository; - private final int from; - private final int to; + private final int fromPosition; + private final int toPosition; - public MoveVault(VaultRepository vaultRepository, @Parameter Integer from, @Parameter Integer to) { + public MoveVaultPosition(VaultRepository vaultRepository, @Parameter Integer fromPosition, @Parameter Integer toPosition) { this.vaultRepository = vaultRepository; - this.from = from; - this.to = to; + this.fromPosition = fromPosition; + this.toPosition = toPosition; } public List execute() throws BackendException { - List vaults = MoveVaultHelper.Companion.updateVaultPosition(from, to, vaultRepository); + List vaults = MoveVaultHelper.Companion.updateVaultPosition(fromPosition, toPosition, vaultRepository); return MoveVaultHelper.Companion.updateVaultsInDatabase(vaults, vaultRepository); } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt b/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt index 50930743..d4e1867b 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt @@ -53,7 +53,7 @@ class VaultListPresenter @Inject constructor( // private val addExistingVaultWorkflow: AddExistingVaultWorkflow, // private val createNewVaultWorkflow: CreateNewVaultWorkflow, // private val saveVaultUseCase: SaveVaultUseCase, // - private val moveVaultUseCase: MoveVaultUseCase, // + private val moveVaultPositionUseCase: MoveVaultPositionUseCase, // private val changePasswordUseCase: ChangePasswordUseCase, // private val removeStoredVaultPasswordsUseCase: RemoveStoredVaultPasswordsUseCase, // private val licenseCheckUseCase: DoLicenseCheckUseCase, // @@ -609,9 +609,9 @@ class VaultListPresenter @Inject constructor( // } fun onVaultMoved(fromPosition: Int, toPosition: Int) { - moveVaultUseCase - .withFrom(fromPosition) // - .andTo(toPosition) // + moveVaultPositionUseCase + .withFromPosition(fromPosition) // + .andToPosition(toPosition) // .run(object : DefaultResultHandler>() { override fun onSuccess(vaults: List) { view?.vaultMoved(vaults.mapTo(ArrayList()) { VaultModel(it) }) @@ -710,6 +710,7 @@ class VaultListPresenter @Inject constructor( // lockVaultUseCase, // getVaultListUseCase, // saveVaultUseCase, // + moveVaultPositionUseCase, // removeStoredVaultPasswordsUseCase, // unlockVaultUseCase, // prepareUnlockUseCase, // diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt index 73778681..b3784a71 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt @@ -150,14 +150,14 @@ class VaultListActivity : BaseActivity(), // return biometricAuthentication?.stoppedBiometricAuthDuringCloudAuthentication() == true } - override fun vaultMoved(vaults: List) { - vaultListFragment().vaultMoved(vaults) - } - override fun rowMoved(fromPosition: Int, toPosition: Int) { vaultListFragment().rowMoved(fromPosition, toPosition) } + override fun vaultMoved(vaults: List) { + vaultListFragment().vaultMoved(vaults) + } + override fun showVaultSettingsDialog(vaultModel: VaultModel) { val vaultSettingDialog = // SettingsVaultBottomSheet.newInstance(vaultModel) diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/view/VaultListView.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/view/VaultListView.kt index d5d25fb7..4551f245 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/view/VaultListView.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/view/VaultListView.kt @@ -23,7 +23,7 @@ interface VaultListView : View { fun isVaultLocked(vaultModel: VaultModel): Boolean fun cancelBasicAuthIfRunning() fun stoppedBiometricAuthDuringCloudAuthentication(): Boolean - fun vaultMoved(vaults: List) fun rowMoved(fromPosition: Int, toPosition: Int) + fun vaultMoved(vaults: List) } diff --git a/presentation/src/test/java/org/cryptomator/presentation/presenter/VaultListPresenterTest.java b/presentation/src/test/java/org/cryptomator/presentation/presenter/VaultListPresenterTest.java index 2f1e9248..30e66dc2 100644 --- a/presentation/src/test/java/org/cryptomator/presentation/presenter/VaultListPresenterTest.java +++ b/presentation/src/test/java/org/cryptomator/presentation/presenter/VaultListPresenterTest.java @@ -17,7 +17,7 @@ import org.cryptomator.domain.usecases.vault.ChangePasswordUseCase; import org.cryptomator.domain.usecases.vault.DeleteVaultUseCase; import org.cryptomator.domain.usecases.vault.GetVaultListUseCase; import org.cryptomator.domain.usecases.vault.LockVaultUseCase; -import org.cryptomator.domain.usecases.vault.MoveVaultUseCase; +import org.cryptomator.domain.usecases.vault.MoveVaultPositionUseCase; import org.cryptomator.domain.usecases.vault.PrepareUnlockUseCase; import org.cryptomator.domain.usecases.vault.RemoveStoredVaultPasswordsUseCase; import org.cryptomator.domain.usecases.vault.RenameVaultUseCase; @@ -124,7 +124,7 @@ public class VaultListPresenterTest { private SaveVaultUseCase saveVaultUseCase = Mockito.mock(SaveVaultUseCase.class); - private MoveVaultUseCase moveVaultUseCase = Mockito.mock(MoveVaultUseCase.class); + private MoveVaultPositionUseCase moveVaultPositionUseCase = Mockito.mock(MoveVaultPositionUseCase.class); private ChangePasswordUseCase changePasswordUseCase = Mockito.mock(ChangePasswordUseCase.class); @@ -163,7 +163,7 @@ public class VaultListPresenterTest { addExistingVaultWorkflow, // createNewVaultWorkflow, // saveVaultUseCase, // - moveVaultUseCase, // + moveVaultPositionUseCase, // changePasswordUseCase, // removeStoredVaultPasswordsUseCase, // doLicenceCheckUsecase, //