diff options
author | Álvaro Brey <alvaro.brey@nextcloud.com> | 2022-10-24 18:30:52 +0300 |
---|---|---|
committer | Álvaro Brey <alvaro.brey@nextcloud.com> | 2022-10-24 18:30:52 +0300 |
commit | 1c33fadb1fcba713722af6a7c48c77f655d1722c (patch) | |
tree | 8c52382d00ef36a1aa2e7764f936389775fb6771 | |
parent | 9e55bad4ec3e0c9a6c1b602d844d6341ae3a3e4c (diff) |
Preserve local file behaviour when uploading files with new upload worker
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
-rw-r--r-- | app/src/main/java/com/owncloud/android/files/services/FileUploader.java | 37 | ||||
-rw-r--r-- | app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt | 4 |
2 files changed, 24 insertions, 17 deletions
diff --git a/app/src/main/java/com/owncloud/android/files/services/FileUploader.java b/app/src/main/java/com/owncloud/android/files/services/FileUploader.java index fd789a22a0..5e825c96a9 100644 --- a/app/src/main/java/com/owncloud/android/files/services/FileUploader.java +++ b/app/src/main/java/com/owncloud/android/files/services/FileUploader.java @@ -912,19 +912,7 @@ public class FileUploader extends Service boolean requiresCharging, NameCollisionPolicy nameCollisionPolicy ) { - Intent intent = new Intent(context, FileUploader.class); - intent.putExtra(FileUploader.KEY_ACCOUNT, user.toPlatformAccount()); - intent.putExtra(FileUploader.KEY_USER, user); - intent.putExtra(FileUploader.KEY_LOCAL_FILE, localPaths); - intent.putExtra(FileUploader.KEY_REMOTE_FILE, remotePaths); - intent.putExtra(FileUploader.KEY_MIME_TYPE, mimeTypes); - intent.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, behaviour); - intent.putExtra(FileUploader.KEY_CREATE_REMOTE_FOLDER, createRemoteFolder); - intent.putExtra(FileUploader.KEY_CREATED_BY, createdBy); - intent.putExtra(FileUploader.KEY_WHILE_ON_WIFI_ONLY, requiresWifi); - intent.putExtra(FileUploader.KEY_WHILE_CHARGING_ONLY, requiresCharging); - intent.putExtra(FileUploader.KEY_NAME_COLLISION_POLICY, nameCollisionPolicy); if (useFilesUploadWorker(context)) { new FilesUploadHelper().uploadNewFiles(user, @@ -934,11 +922,28 @@ public class FileUploader extends Service createdBy, requiresWifi, requiresCharging, - nameCollisionPolicy); - } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - context.startForegroundService(intent); + nameCollisionPolicy, + behaviour); } else { - context.startService(intent); + Intent intent = new Intent(context, FileUploader.class); + + intent.putExtra(FileUploader.KEY_ACCOUNT, user.toPlatformAccount()); + intent.putExtra(FileUploader.KEY_USER, user); + intent.putExtra(FileUploader.KEY_LOCAL_FILE, localPaths); + intent.putExtra(FileUploader.KEY_REMOTE_FILE, remotePaths); + intent.putExtra(FileUploader.KEY_MIME_TYPE, mimeTypes); + intent.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, behaviour); + intent.putExtra(FileUploader.KEY_CREATE_REMOTE_FOLDER, createRemoteFolder); + intent.putExtra(FileUploader.KEY_CREATED_BY, createdBy); + intent.putExtra(FileUploader.KEY_WHILE_ON_WIFI_ONLY, requiresWifi); + intent.putExtra(FileUploader.KEY_WHILE_CHARGING_ONLY, requiresCharging); + intent.putExtra(FileUploader.KEY_NAME_COLLISION_POLICY, nameCollisionPolicy); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + context.startForegroundService(intent); + } else { + context.startService(intent); + } } } diff --git a/app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt b/app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt index 5670943def..16f8017e62 100644 --- a/app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt +++ b/app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt @@ -52,7 +52,8 @@ class FilesUploadHelper { createdBy: Int, requiresWifi: Boolean, requiresCharging: Boolean, - nameCollisionPolicy: NameCollisionPolicy + nameCollisionPolicy: NameCollisionPolicy, + localBehavior: Int ) { for (i in localPaths.indices) { OCUpload(localPaths[i], remotePaths[i], user.accountName).apply { @@ -62,6 +63,7 @@ class FilesUploadHelper { uploadStatus = UploadsStorageManager.UploadStatus.UPLOAD_IN_PROGRESS this.createdBy = createdBy isCreateRemoteFolder = createRemoteFolder + localAction = localBehavior }.also { uploadsStorageManager.storeUpload(it) } |