Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit1c33fadb1fcba713722af6a7c48c77f655d1722c (patch)
tree8c52382d00ef36a1aa2e7764f936389775fb6771
parent9e55bad4ec3e0c9a6c1b602d844d6341ae3a3e4c (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.java37
-rw-r--r--app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt4
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)
}