#168 final clean-up
This commit is contained in:
parent
a6b327f264
commit
657e2877ba
@ -14,15 +14,15 @@ internal class Upgrade3To4 @Inject constructor() : DatabaseUpgrade(3, 4) {
|
|||||||
override fun internalApplyTo(db: Database, origin: Int) {
|
override fun internalApplyTo(db: Database, origin: Int) {
|
||||||
db.beginTransaction()
|
db.beginTransaction()
|
||||||
try {
|
try {
|
||||||
upgradeDatabaseSchema(db)
|
addPositionToVaultSchema(db)
|
||||||
updateVaultPositions(db)
|
initVaultPositionUsingCurrentSortOrder(db)
|
||||||
db.setTransactionSuccessful()
|
db.setTransactionSuccessful()
|
||||||
} finally {
|
} finally {
|
||||||
db.endTransaction()
|
db.endTransaction()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun upgradeDatabaseSchema(db: Database) {
|
private fun addPositionToVaultSchema(db: Database) {
|
||||||
Sql.alterTable("VAULT_ENTITY").renameTo("VAULT_ENTITY_OLD").executeOn(db)
|
Sql.alterTable("VAULT_ENTITY").renameTo("VAULT_ENTITY_OLD").executeOn(db)
|
||||||
Sql.createTable("VAULT_ENTITY") //
|
Sql.createTable("VAULT_ENTITY") //
|
||||||
.id() //
|
.id() //
|
||||||
@ -53,7 +53,7 @@ internal class Upgrade3To4 @Inject constructor() : DatabaseUpgrade(3, 4) {
|
|||||||
Sql.dropTable("VAULT_ENTITY_OLD").executeOn(db)
|
Sql.dropTable("VAULT_ENTITY_OLD").executeOn(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateVaultPositions(db: Database) {
|
private fun initVaultPositionUsingCurrentSortOrder(db: Database) {
|
||||||
CloudEntityDao(DaoConfig(db, VaultEntityDao::class.java)) //
|
CloudEntityDao(DaoConfig(db, VaultEntityDao::class.java)) //
|
||||||
.loadAll() //
|
.loadAll() //
|
||||||
.map {
|
.map {
|
||||||
|
@ -7,17 +7,17 @@ import java.util.*
|
|||||||
class MoveVaultHelper {
|
class MoveVaultHelper {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun updateVaultPosition(from: Int, to: Int, vaultRepository: VaultRepository): List<Vault> {
|
fun updateVaultPosition(fromPosition: Int, toPosition: Int, vaultRepository: VaultRepository): List<Vault> {
|
||||||
val vaults = vaultRepository.vaults()
|
val vaults = vaultRepository.vaults()
|
||||||
|
|
||||||
vaults.sortWith(VaultComparator())
|
vaults.sortWith(VaultComparator())
|
||||||
|
|
||||||
if (from < to) {
|
if (fromPosition < toPosition) {
|
||||||
for (i in from until to) {
|
for (i in fromPosition until toPosition) {
|
||||||
Collections.swap(vaults, i, i + 1)
|
Collections.swap(vaults, i, i + 1)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i in from downTo to + 1) {
|
for (i in fromPosition downTo toPosition + 1) {
|
||||||
Collections.swap(vaults, i, i - 1)
|
Collections.swap(vaults, i, i - 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -26,8 +26,6 @@ class MoveVaultHelper {
|
|||||||
vaults[i] = Vault.aCopyOf(vaults[i]).withPosition(i + 1).build()
|
vaults[i] = Vault.aCopyOf(vaults[i]).withPosition(i + 1).build()
|
||||||
}
|
}
|
||||||
|
|
||||||
vaults.forEach { vault -> vaultRepository.store(vault) }
|
|
||||||
|
|
||||||
return vaults
|
return vaults
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,20 +9,20 @@ import org.cryptomator.generator.UseCase;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@UseCase
|
@UseCase
|
||||||
class MoveVault {
|
class MoveVaultPosition {
|
||||||
|
|
||||||
private final VaultRepository vaultRepository;
|
private final VaultRepository vaultRepository;
|
||||||
private final int from;
|
private final int fromPosition;
|
||||||
private final int to;
|
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.vaultRepository = vaultRepository;
|
||||||
this.from = from;
|
this.fromPosition = fromPosition;
|
||||||
this.to = to;
|
this.toPosition = toPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Vault> execute() throws BackendException {
|
public List<Vault> execute() throws BackendException {
|
||||||
List<Vault> vaults = MoveVaultHelper.Companion.updateVaultPosition(from, to, vaultRepository);
|
List<Vault> vaults = MoveVaultHelper.Companion.updateVaultPosition(fromPosition, toPosition, vaultRepository);
|
||||||
return MoveVaultHelper.Companion.updateVaultsInDatabase(vaults, vaultRepository);
|
return MoveVaultHelper.Companion.updateVaultsInDatabase(vaults, vaultRepository);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -53,7 +53,7 @@ class VaultListPresenter @Inject constructor( //
|
|||||||
private val addExistingVaultWorkflow: AddExistingVaultWorkflow, //
|
private val addExistingVaultWorkflow: AddExistingVaultWorkflow, //
|
||||||
private val createNewVaultWorkflow: CreateNewVaultWorkflow, //
|
private val createNewVaultWorkflow: CreateNewVaultWorkflow, //
|
||||||
private val saveVaultUseCase: SaveVaultUseCase, //
|
private val saveVaultUseCase: SaveVaultUseCase, //
|
||||||
private val moveVaultUseCase: MoveVaultUseCase, //
|
private val moveVaultPositionUseCase: MoveVaultPositionUseCase, //
|
||||||
private val changePasswordUseCase: ChangePasswordUseCase, //
|
private val changePasswordUseCase: ChangePasswordUseCase, //
|
||||||
private val removeStoredVaultPasswordsUseCase: RemoveStoredVaultPasswordsUseCase, //
|
private val removeStoredVaultPasswordsUseCase: RemoveStoredVaultPasswordsUseCase, //
|
||||||
private val licenseCheckUseCase: DoLicenseCheckUseCase, //
|
private val licenseCheckUseCase: DoLicenseCheckUseCase, //
|
||||||
@ -609,9 +609,9 @@ class VaultListPresenter @Inject constructor( //
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onVaultMoved(fromPosition: Int, toPosition: Int) {
|
fun onVaultMoved(fromPosition: Int, toPosition: Int) {
|
||||||
moveVaultUseCase
|
moveVaultPositionUseCase
|
||||||
.withFrom(fromPosition) //
|
.withFromPosition(fromPosition) //
|
||||||
.andTo(toPosition) //
|
.andToPosition(toPosition) //
|
||||||
.run(object : DefaultResultHandler<List<Vault>>() {
|
.run(object : DefaultResultHandler<List<Vault>>() {
|
||||||
override fun onSuccess(vaults: List<Vault>) {
|
override fun onSuccess(vaults: List<Vault>) {
|
||||||
view?.vaultMoved(vaults.mapTo(ArrayList()) { VaultModel(it) })
|
view?.vaultMoved(vaults.mapTo(ArrayList()) { VaultModel(it) })
|
||||||
@ -710,6 +710,7 @@ class VaultListPresenter @Inject constructor( //
|
|||||||
lockVaultUseCase, //
|
lockVaultUseCase, //
|
||||||
getVaultListUseCase, //
|
getVaultListUseCase, //
|
||||||
saveVaultUseCase, //
|
saveVaultUseCase, //
|
||||||
|
moveVaultPositionUseCase, //
|
||||||
removeStoredVaultPasswordsUseCase, //
|
removeStoredVaultPasswordsUseCase, //
|
||||||
unlockVaultUseCase, //
|
unlockVaultUseCase, //
|
||||||
prepareUnlockUseCase, //
|
prepareUnlockUseCase, //
|
||||||
|
@ -150,14 +150,14 @@ class VaultListActivity : BaseActivity(), //
|
|||||||
return biometricAuthentication?.stoppedBiometricAuthDuringCloudAuthentication() == true
|
return biometricAuthentication?.stoppedBiometricAuthDuringCloudAuthentication() == true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun vaultMoved(vaults: List<VaultModel>) {
|
|
||||||
vaultListFragment().vaultMoved(vaults)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun rowMoved(fromPosition: Int, toPosition: Int) {
|
override fun rowMoved(fromPosition: Int, toPosition: Int) {
|
||||||
vaultListFragment().rowMoved(fromPosition, toPosition)
|
vaultListFragment().rowMoved(fromPosition, toPosition)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun vaultMoved(vaults: List<VaultModel>) {
|
||||||
|
vaultListFragment().vaultMoved(vaults)
|
||||||
|
}
|
||||||
|
|
||||||
override fun showVaultSettingsDialog(vaultModel: VaultModel) {
|
override fun showVaultSettingsDialog(vaultModel: VaultModel) {
|
||||||
val vaultSettingDialog = //
|
val vaultSettingDialog = //
|
||||||
SettingsVaultBottomSheet.newInstance(vaultModel)
|
SettingsVaultBottomSheet.newInstance(vaultModel)
|
||||||
|
@ -23,7 +23,7 @@ interface VaultListView : View {
|
|||||||
fun isVaultLocked(vaultModel: VaultModel): Boolean
|
fun isVaultLocked(vaultModel: VaultModel): Boolean
|
||||||
fun cancelBasicAuthIfRunning()
|
fun cancelBasicAuthIfRunning()
|
||||||
fun stoppedBiometricAuthDuringCloudAuthentication(): Boolean
|
fun stoppedBiometricAuthDuringCloudAuthentication(): Boolean
|
||||||
fun vaultMoved(vaults: List<VaultModel>)
|
|
||||||
fun rowMoved(fromPosition: Int, toPosition: Int)
|
fun rowMoved(fromPosition: Int, toPosition: Int)
|
||||||
|
fun vaultMoved(vaults: List<VaultModel>)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import org.cryptomator.domain.usecases.vault.ChangePasswordUseCase;
|
|||||||
import org.cryptomator.domain.usecases.vault.DeleteVaultUseCase;
|
import org.cryptomator.domain.usecases.vault.DeleteVaultUseCase;
|
||||||
import org.cryptomator.domain.usecases.vault.GetVaultListUseCase;
|
import org.cryptomator.domain.usecases.vault.GetVaultListUseCase;
|
||||||
import org.cryptomator.domain.usecases.vault.LockVaultUseCase;
|
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.PrepareUnlockUseCase;
|
||||||
import org.cryptomator.domain.usecases.vault.RemoveStoredVaultPasswordsUseCase;
|
import org.cryptomator.domain.usecases.vault.RemoveStoredVaultPasswordsUseCase;
|
||||||
import org.cryptomator.domain.usecases.vault.RenameVaultUseCase;
|
import org.cryptomator.domain.usecases.vault.RenameVaultUseCase;
|
||||||
@ -124,7 +124,7 @@ public class VaultListPresenterTest {
|
|||||||
|
|
||||||
private SaveVaultUseCase saveVaultUseCase = Mockito.mock(SaveVaultUseCase.class);
|
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);
|
private ChangePasswordUseCase changePasswordUseCase = Mockito.mock(ChangePasswordUseCase.class);
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ public class VaultListPresenterTest {
|
|||||||
addExistingVaultWorkflow, //
|
addExistingVaultWorkflow, //
|
||||||
createNewVaultWorkflow, //
|
createNewVaultWorkflow, //
|
||||||
saveVaultUseCase, //
|
saveVaultUseCase, //
|
||||||
moveVaultUseCase, //
|
moveVaultPositionUseCase, //
|
||||||
changePasswordUseCase, //
|
changePasswordUseCase, //
|
||||||
removeStoredVaultPasswordsUseCase, //
|
removeStoredVaultPasswordsUseCase, //
|
||||||
doLicenceCheckUsecase, //
|
doLicenceCheckUsecase, //
|
||||||
|
Loading…
x
Reference in New Issue
Block a user