diff --git a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt index 4222f8f3..bdac767f 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt @@ -219,10 +219,10 @@ internal class CryptoImplVaultFormatPre7( requireNotNull(target.dirFile) target.parent?.let { assertCryptoFolderAlreadyExists(target) - val result = folder(it, target.name, cloudContentRepository.move(source.dirFile, target.dirFile)) - evictFromCache(source) - evictFromCache(target) - return result + return folder(it, target.name, cloudContentRepository.move(source.dirFile, target.dirFile)).also { + evictFromCache(source) + evictFromCache(target) + } } ?: throw ParentFolderIsNullException(target.name) } diff --git a/data/src/main/java/org/cryptomator/data/cloud/s3/S3Impl.kt b/data/src/main/java/org/cryptomator/data/cloud/s3/S3Impl.kt index a5ff3f28..f283d6eb 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/s3/S3Impl.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/s3/S3Impl.kt @@ -127,7 +127,6 @@ internal class S3Impl(context: Context, cloud: S3Cloud) { } } ?: throw ParentFolderIsNullException(folder.name) - folder.parent?.let { parentFolder -> try { val putObjectArgs = PutObjectArgs // diff --git a/data/src/notFoss/java/org/cryptomator/data/cloud/googledrive/GoogleDriveImpl.kt b/data/src/notFoss/java/org/cryptomator/data/cloud/googledrive/GoogleDriveImpl.kt index 2e1c107b..efd281c0 100644 --- a/data/src/notFoss/java/org/cryptomator/data/cloud/googledrive/GoogleDriveImpl.kt +++ b/data/src/notFoss/java/org/cryptomator/data/cloud/googledrive/GoogleDriveImpl.kt @@ -183,20 +183,22 @@ internal class GoogleDriveImpl(context: Context, googleDriveCloud: GoogleDriveCl throw CloudNodeAlreadyExistsException(target.name) } - target.parent?.let { targetsParent -> - val metadata = File() - metadata.name = target.name - val movedFile = client() // - .files() // - .update(source.driveId, metadata) // - .setFields("id,mimeType,modifiedTime,name,size") // - .setAddParents(targetsParent.driveId) // - .setRemoveParents(targetsParent.driveId) // - .setSupportsAllDrives(true) // - .execute() - idCache.remove(source) - return idCache.cache(GoogleDriveCloudNodeFactory.from(targetsParent, movedFile)) - } ?: throw ParentFolderIsNullException(target.name) + source.parent?.let { sourcesParent -> + target.parent?.let { targetsParent -> + val metadata = File() + metadata.name = target.name + val movedFile = client() // + .files() // + .update(source.driveId, metadata) // + .setFields("id,mimeType,modifiedTime,name,size") // + .setAddParents(targetsParent.driveId) // + .setRemoveParents(sourcesParent.driveId) // + .setSupportsAllDrives(true) // + .execute() + idCache.remove(source) + return idCache.cache(GoogleDriveCloudNodeFactory.from(targetsParent, movedFile)) + } ?: throw ParentFolderIsNullException(target.name) + } ?: throw ParentFolderIsNullException(source.name) } @Throws(IOException::class, BackendException::class)