Skip to content

Commit 4ef4cc2

Browse files
committed
fix: added a condition to keep the local file after a local update
1 parent d459195 commit 4ef4cc2

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

owncloudApp/src/main/java/com/owncloud/android/usecases/transfers/uploads/UploadFileInConflictUseCase.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
*
44
* @author Abel García de Prada
55
* @author Juan Carlos Garrote Gascón
6+
* @author Jorge Aguado Recio
67
*
7-
* Copyright (C) 2023 ownCloud GmbH.
8+
* Copyright (C) 2024 ownCloud GmbH.
89
* <p>
910
* This program is free software: you can redistribute it and/or modify
1011
* it under the terms of the GNU General Public License version 2,
@@ -111,6 +112,7 @@ class UploadFileInConflictUseCase(
111112
UploadFileFromFileSystemWorker.KEY_PARAM_LAST_MODIFIED to lastModifiedInSeconds,
112113
UploadFileFromFileSystemWorker.KEY_PARAM_UPLOAD_PATH to uploadPath,
113114
UploadFileFromFileSystemWorker.KEY_PARAM_UPLOAD_ID to uploadIdInStorageManager,
115+
UploadFileFromFileSystemWorker.KEY_PARAM_REMOVE_LOCAL to false
114116
)
115117

116118
val constraints = Constraints.Builder()

owncloudApp/src/main/java/com/owncloud/android/workers/UploadFileFromFileSystemWorker.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
*
44
* @author Abel García de Prada
55
* @author Juan Carlos Garrote Gascón
6+
* @author Jorge Aguado Recio
67
*
7-
* Copyright (C) 2023 ownCloud GmbH.
8+
* Copyright (C) 2024 ownCloud GmbH.
89
*
910
* This program is free software: you can redistribute it and/or modify
1011
* it under the terms of the GNU General Public License version 2,
@@ -81,6 +82,7 @@ class UploadFileFromFileSystemWorker(
8182
private lateinit var behavior: UploadBehavior
8283
private lateinit var uploadPath: String
8384
private lateinit var mimetype: String
85+
private var removeLocal: Boolean = true
8486
private var uploadIdInStorageManager: Long = -1
8587
private lateinit var ocTransfer: OCTransfer
8688
private var fileSize: Long = 0
@@ -131,6 +133,7 @@ class UploadFileFromFileSystemWorker(
131133
val paramBehavior = workerParameters.inputData.getString(KEY_PARAM_BEHAVIOR)
132134
val paramFileSystemUri = workerParameters.inputData.getString(KEY_PARAM_LOCAL_PATH)
133135
val paramUploadId = workerParameters.inputData.getLong(KEY_PARAM_UPLOAD_ID, -1)
136+
val paramRemoveLocal = workerParameters.inputData.getBoolean(KEY_PARAM_REMOVE_LOCAL, true)
134137

135138
account = AccountUtils.getOwnCloudAccountByName(appContext, paramAccountName) ?: return false
136139
fileSystemPath = paramFileSystemUri.takeUnless { it.isNullOrBlank() } ?: return false
@@ -139,6 +142,7 @@ class UploadFileFromFileSystemWorker(
139142
lastModified = paramLastModified ?: return false
140143
uploadIdInStorageManager = paramUploadId.takeUnless { it == -1L } ?: return false
141144
ocTransfer = retrieveUploadInfoFromDatabase() ?: return false
145+
removeLocal = paramRemoveLocal
142146

143147
return true
144148
}
@@ -250,7 +254,7 @@ class UploadFileFromFileSystemWorker(
250254

251255
val result = executeRemoteOperation { uploadFileOperation.execute(client) }
252256

253-
if (result == Unit && behavior == UploadBehavior.MOVE) {
257+
if (result == Unit && removeLocal) {
254258
removeLocalFile() // Removed file from tmp folder
255259
}
256260
}
@@ -289,7 +293,7 @@ class UploadFileFromFileSystemWorker(
289293
)
290294

291295
// Step 4: Remove tmp file folder after uploading
292-
if (result == Unit && behavior == UploadBehavior.MOVE) {
296+
if (result == Unit && removeLocal) {
293297
removeLocalFile()
294298
}
295299
}
@@ -401,5 +405,6 @@ class UploadFileFromFileSystemWorker(
401405
const val KEY_PARAM_LAST_MODIFIED = "KEY_PARAM_LAST_MODIFIED"
402406
const val KEY_PARAM_UPLOAD_PATH = "KEY_PARAM_UPLOAD_PATH"
403407
const val KEY_PARAM_UPLOAD_ID = "KEY_PARAM_UPLOAD_ID"
408+
const val KEY_PARAM_REMOVE_LOCAL = "KEY_REMOVE_LOCAL"
404409
}
405410
}

0 commit comments

Comments
 (0)