From 615fe5558e5edea8e4b03c4b983a0cf33b035328 Mon Sep 17 00:00:00 2001 From: Manuel Jenny Date: Wed, 17 Mar 2021 07:04:57 +0100 Subject: [PATCH] fix: move() only rename if relocationResult has different name than target --- .../org/cryptomator/data/cloud/pcloud/PCloudImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java index f8a9ed89..c1dd58c5 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java +++ b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java @@ -214,12 +214,15 @@ class PCloudImpl { } if (source instanceof PCloudFolder) { - //TODO: check if this can be reached at all relocationResult = client().moveFolder(source.getId(), target.getParent().getId()).execute(); - relocationResult = client().renameFolder(relocationResult.asFolder(), target.getName()).execute(); + if (!relocationResult.name().equals(target.getName())) { + relocationResult = client().renameFolder(relocationResult.asFolder(), target.getName()).execute(); + } } else { - relocationResult = client().moveFile(source.getId(), target.getParent().getId()).execute().asFile(); - relocationResult = client().renameFile(relocationResult.asFile(), target.getName()).execute(); + relocationResult = client().moveFile(source.getId(), target.getParent().getId()).execute(); + if (!relocationResult.name().equals(target.getName())) { + relocationResult = client().renameFile(relocationResult.asFile(), target.getName()).execute(); + } } idCache.remove(source);