Skip to content

Commit

Permalink
FileUploader: require explicit NameCollisionPolicy and change default…
Browse files Browse the repository at this point in the history
… used value

- Changes NameConflictPolicy for manual uploads from default RENAME to ASK_USER
- Removal of helper class FileUploader.UploadRequester (methods become static and go to FileUploader)

Signed-off-by: Alice Gaudon <alice@gaudon.pro>
  • Loading branch information
ashpieboop authored and tobiasKaminsky committed Feb 18, 2020
1 parent 6783e8a commit 7713a28
Show file tree
Hide file tree
Showing 12 changed files with 284 additions and 337 deletions.
463 changes: 202 additions & 261 deletions src/main/java/com/owncloud/android/files/services/FileUploader.java

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions src/main/java/com/owncloud/android/jobs/ContactsBackupJob.java
Original file line number Diff line number Diff line change
Expand Up @@ -169,18 +169,18 @@ private void backupContact(User user, String backupFolder) {
}
}

FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadNewFile(
getContext(),
user.toPlatformAccount(),
file.getAbsolutePath(),
backupFolder + filename,
FileUploader.LOCAL_BEHAVIOUR_MOVE,
null,
true,
UploadFileOperation.CREATED_BY_USER,
false,
false
FileUploader.uploadNewFile(
getContext(),
user.toPlatformAccount(),
file.getAbsolutePath(),
backupFolder + filename,
FileUploader.LOCAL_BEHAVIOUR_MOVE,
null,
true,
UploadFileOperation.CREATED_BY_USER,
false,
false,
FileUploader.NameCollisionPolicy.ASK_USER
);
}

Expand Down
18 changes: 11 additions & 7 deletions src/main/java/com/owncloud/android/jobs/FilesSyncJob.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,11 @@ protected Result onRunJob(@NonNull Params params) {
Locale currentLocale = context.getResources().getConfiguration().locale;
SimpleDateFormat sFormatter = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss", currentLocale);
sFormatter.setTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID()));
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();

for (SyncedFolder syncedFolder : syncedFolderProvider.getSyncedFolders()) {
if ((syncedFolder.isEnabled()) && (!skipCustom || MediaFolderType.CUSTOM != syncedFolder.getType())) {
syncFolder(context, resources, lightVersion, filesystemDataProvider, currentLocale, sFormatter,
requester, syncedFolder);
syncedFolder);
}
}

Expand All @@ -157,10 +156,15 @@ protected Result onRunJob(@NonNull Params params) {
return Result.SUCCESS;
}

private void syncFolder(Context context, Resources resources, boolean lightVersion,
FilesystemDataProvider filesystemDataProvider, Locale currentLocale,
SimpleDateFormat sFormatter, FileUploader.UploadRequester requester,
SyncedFolder syncedFolder) {
private void syncFolder(
Context context,
Resources resources,
boolean lightVersion,
FilesystemDataProvider filesystemDataProvider,
Locale currentLocale,
SimpleDateFormat sFormatter,
SyncedFolder syncedFolder
) {
String remotePath;
boolean subfolderByDate;
Integer uploadAction;
Expand Down Expand Up @@ -203,7 +207,7 @@ private void syncFolder(Context context, Resources resources, boolean lightVersi
remotePath = syncedFolder.getRemotePath();
}

requester.uploadFileWithNameCollisionPolicy(
FileUploader.uploadNewFile(
context,
user.toPlatformAccount(),
file.getAbsolutePath(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,13 @@ protected RemoteOperationResult run(OwnCloudClient client) {
* @param file OCFile object representing the file to upload
*/
private void requestForUpload(OCFile file) {
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadUpdate(mContext, mAccount, file, FileUploader.LOCAL_BEHAVIOUR_MOVE,
FileUploader.NameCollisionPolicy.ASK_USER);
FileUploader.uploadUpdateFile(
mContext,
mAccount,
file,
FileUploader.LOCAL_BEHAVIOUR_MOVE,
FileUploader.NameCollisionPolicy.ASK_USER
);

mTransferWasRequested = true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ public void conflictDecisionMade(Decision decision) {
}

OCFile file = getFile();
FileUploader.UploadRequester uploadRequester = new FileUploader.UploadRequester();

// Upload
if (decision == Decision.KEEP_LOCAL || decision == Decision.KEEP_BOTH) {
Expand All @@ -91,7 +90,7 @@ public void conflictDecisionMade(Decision decision) {
collisionPolicy = FileUploader.NameCollisionPolicy.RENAME;
}

uploadRequester.uploadUpdate(this, getAccount(), file, localBehaviour, collisionPolicy);
FileUploader.uploadUpdateFile(this, getAccount(), file, localBehaviour, collisionPolicy);

if (this.conflictUpload != null) {
uploadsStorageManager.removeUpload(this.conflictUpload);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1043,8 +1043,7 @@ private void requestUploadOfFilesFromFileSystem(String[] filePaths, int resultCo
break;
}

FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadNewFile(
FileUploader.uploadNewFile(
this,
getAccount(),
filePaths,
Expand All @@ -1054,7 +1053,8 @@ private void requestUploadOfFilesFromFileSystem(String[] filePaths, int resultCo
false, // do not create parent folder if not existent
UploadFileOperation.CREATED_BY_USER,
false,
false
false,
FileUploader.NameCollisionPolicy.ASK_USER
);

} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -888,19 +888,19 @@ private boolean somethingToUpload() {
}

public void uploadFile(String tmpName, String filename) {
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadNewFile(
FileUploader.uploadNewFile(
getBaseContext(),
getAccount(),
tmpName,
tmpName,
mFile.getRemotePath() + filename,
FileUploader.LOCAL_BEHAVIOUR_COPY,
null,
true,
UploadFileOperation.CREATED_BY_USER,
false,
false
);
false,
FileUploader.NameCollisionPolicy.ASK_USER
);
finish();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,15 @@ private void refresh() {
}

// retry failed uploads
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
new Thread(() -> requester.retryFailedUploads(this,
null,
uploadsStorageManager,
connectivityService,
userAccountManager,
powerManagementService,
null)).start();
new Thread(() -> FileUploader.retryFailedUploads(
this,
null,
uploadsStorageManager,
connectivityService,
userAccountManager,
powerManagementService,
null
)).start();

// update UI
uploadListAdapter.loadUploadItemsFromDb();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,16 +142,15 @@ public void onBindHeaderViewHolder(SectionedViewHolder holder, int section, bool
uploadsStorageManager.clearSuccessfulUploads();
break;
case FAILED:
new Thread(() -> new FileUploader.UploadRequester()
.retryFailedUploads(
parentActivity,
null,
uploadsStorageManager,
connectivityService,
accountManager,
powerManagementService,
null))
.start();
new Thread(() -> FileUploader.retryFailedUploads(
parentActivity,
null,
uploadsStorageManager,
connectivityService,
accountManager,
powerManagementService,
null
)).start();
break;

default:
Expand Down Expand Up @@ -394,8 +393,7 @@ public void onBindViewHolder(SectionedViewHolder holder, int section, int relati
// not a credentials error
File file = new File(item.getLocalPath());
if (file.exists()) {
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.retry(parentActivity, accountManager, item);
FileUploader.retryUpload(parentActivity, item.getAccount(accountManager), item);
loadUploadItemsFromDb();
} else {
DisplayUtils.showSnackMessage(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,7 @@ protected ResultCode doInBackground(Object[] params) {
}

private void requestUpload(Account account, String localPath, String remotePath, int behaviour, String mimeType) {
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadNewFile(
FileUploader.uploadNewFile(
mAppContext,
account,
localPath,
Expand All @@ -230,7 +229,8 @@ private void requestUpload(Account account, String localPath, String remotePath,
false, // do not create parent folder if not existent
UploadFileOperation.CREATED_BY_USER,
false,
false
false,
FileUploader.NameCollisionPolicy.ASK_USER
);
}

Expand Down
24 changes: 12 additions & 12 deletions src/main/java/com/owncloud/android/ui/helpers/UriUploader.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,18 +158,18 @@ private String generateDiplayName() {
* @param remotePath Absolute path in the current OC account to set to the uploaded file.
*/
private void requestUpload(String localPath, String remotePath) {
FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
requester.uploadNewFile(
mActivity,
mAccount,
localPath,
remotePath,
mBehaviour,
null, // MIME type will be detected from file name
false, // do not create parent folder if not existent
UploadFileOperation.CREATED_BY_USER,
false,
false
FileUploader.uploadNewFile(
mActivity,
mAccount,
localPath,
remotePath,
mBehaviour,
null, // MIME type will be detected from file name
false, // do not create parent folder if not existent
UploadFileOperation.CREATED_BY_USER,
false,
false,
FileUploader.NameCollisionPolicy.ASK_USER
);
}

Expand Down
18 changes: 9 additions & 9 deletions src/main/java/com/owncloud/android/utils/FilesSyncHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,6 @@ public static void restartJobsIfNeeded(final UploadsStorageManager uploadsStorag
final PowerManagementService powerManagementService) {
final Context context = MainApp.getAppContext();

FileUploader.UploadRequester uploadRequester = new FileUploader.UploadRequester();

boolean accountExists;

OCUpload[] failedUploads = uploadsStorageManager.getFailedUploads();
Expand All @@ -221,13 +219,15 @@ public static void restartJobsIfNeeded(final UploadsStorageManager uploadsStorag
new Thread(() -> {
if (connectivityService.getActiveNetworkType() != JobRequest.NetworkType.ANY &&
!connectivityService.isInternetWalled()) {
uploadRequester.retryFailedUploads(context,
null,
uploadsStorageManager,
connectivityService,
accountManager,
powerManagementService,
null);
FileUploader.retryFailedUploads(
context,
null,
uploadsStorageManager,
connectivityService,
accountManager,
powerManagementService,
null
);
}
}).start();
}
Expand Down

0 comments on commit 7713a28

Please sign in to comment.