diff --git a/CHANGELOG.md b/CHANGELOG.md index cfb1a72ce7f..f303b998955 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,8 +32,10 @@ ownCloud admins and users. * Bugfix - Some Null Pointer Exceptions in MainFileListViewModel: [#4065](https://github.com/owncloud/android/issues/4065) * Bugfix - Bugs related to Details view: [#4188](https://github.com/owncloud/android/issues/4188) * Bugfix - Some Null Pointer Exceptions fixed from Google Play: [#4207](https://github.com/owncloud/android/issues/4207) +* Bugfix - Conflict in copy with files without extension: [#4222](https://github.com/owncloud/android/issues/4222) * Bugfix - Add "scope" parameter to /token endpoint HTTP requests: [#4260](https://github.com/owncloud/android/pull/4260) * Bugfix - Fix in the handling of the base URL: [#4279](https://github.com/owncloud/android/issues/4279) +* Bugfix - Copy folder into descendant in different spaces: [#4293](https://github.com/owncloud/android/issues/4293) * Change - Android library as a module instead of submodule: [#3962](https://github.com/owncloud/android/issues/3962) * Enhancement - Koin DSL: [#3966](https://github.com/owncloud/android/pull/3966) * Enhancement - Unit tests for datasources classes - Part 1 & Fixes: [#4063](https://github.com/owncloud/android/issues/4063) @@ -97,6 +99,15 @@ ownCloud admins and users. https://github.com/owncloud/android/issues/4207 https://github.com/owncloud/android/pull/4238 +* Bugfix - Conflict in copy with files without extension: [#4222](https://github.com/owncloud/android/issues/4222) + + The check of files names that start in the same way has been removed from the + copy network operation, so that the copy use case takes care of that and works + properly with files without extension. + + https://github.com/owncloud/android/issues/4222 + https://github.com/owncloud/android/pull/4294 + * Bugfix - Add "scope" parameter to /token endpoint HTTP requests: [#4260](https://github.com/owncloud/android/pull/4260) The "scope" parameter is now always sent in the body of HTTP requests to the @@ -112,6 +123,14 @@ ownCloud admins and users. https://github.com/owncloud/android/issues/4279 https://github.com/owncloud/android/pull/4287 +* Bugfix - Copy folder into descendant in different spaces: [#4293](https://github.com/owncloud/android/issues/4293) + + Copying a folder into another folder with the same name in a different space now + works correctly. + + https://github.com/owncloud/android/issues/4293 + https://github.com/owncloud/android/pull/4295 + * Change - Android library as a module instead of submodule: [#3962](https://github.com/owncloud/android/issues/3962) Android library, containing all networking stuff, is now the 5th module in the diff --git a/changelog/unreleased/4294 b/changelog/unreleased/4294 new file mode 100644 index 00000000000..ba4d97f4375 --- /dev/null +++ b/changelog/unreleased/4294 @@ -0,0 +1,8 @@ +Bugfix: Conflict in copy with files without extension + +The check of files names that start in the same way has been removed from the copy +network operation, so that the copy use case takes care of that and works properly with +files without extension. + +https://github.com/owncloud/android/issues/4222 +https://github.com/owncloud/android/pull/4294 diff --git a/changelog/unreleased/4295 b/changelog/unreleased/4295 new file mode 100644 index 00000000000..faa1db7e745 --- /dev/null +++ b/changelog/unreleased/4295 @@ -0,0 +1,6 @@ +Bugfix: Copy folder into descendant in different spaces + +Copying a folder into another folder with the same name in a different space now works correctly. + +https://github.com/owncloud/android/issues/4293 +https://github.com/owncloud/android/pull/4295 diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.kt index ef653f0cb6f..a85d3a5a747 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.kt @@ -68,9 +68,6 @@ class CopyRemoteFileOperation( // nothing to do! return RemoteOperationResult(ResultCode.OK) } - if (targetRemotePath.startsWith(sourceRemotePath) && sourceSpaceWebDavUrl == targetSpaceWebDavUrl) { - return RemoteOperationResult(ResultCode.INVALID_COPY_INTO_DESCENDANT) - } /// perform remote operation var result: RemoteOperationResult diff --git a/owncloudDomain/src/main/java/com/owncloud/android/domain/files/usecases/CopyFileUseCase.kt b/owncloudDomain/src/main/java/com/owncloud/android/domain/files/usecases/CopyFileUseCase.kt index ceaf2a5a97e..db69cf74eac 100644 --- a/owncloudDomain/src/main/java/com/owncloud/android/domain/files/usecases/CopyFileUseCase.kt +++ b/owncloudDomain/src/main/java/com/owncloud/android/domain/files/usecases/CopyFileUseCase.kt @@ -49,7 +49,7 @@ class CopyFileUseCase( fun validateOrThrowException(listOfFilesToCopy: List, targetFolder: OCFile) { require(listOfFilesToCopy.isNotEmpty()) - if (listOfFilesToCopy.any { targetFolder.remotePath.startsWith(it.remotePath) }) { + if (listOfFilesToCopy.any { targetFolder.remotePath.startsWith(it.remotePath) && targetFolder.spaceId == it.spaceId }) { throw CopyIntoDescendantException() } }