1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Minor improvements for upload cancelation and conflicts in synchronization

This commit is contained in:
David A. Velasco 2015-07-21 16:50:48 +02:00
parent 5985ba9a9f
commit 8bf276377c
5 changed files with 14 additions and 9 deletions

View File

@ -390,11 +390,16 @@ public class RemoteOperationResult implements Serializable {
} else if (mCode == ResultCode.ACCOUNT_NOT_THE_SAME) {
return "Authenticated with a different account than the one updating";
} else if (mCode == ResultCode.INVALID_CHARACTER_IN_NAME) {
return "The file name contains an forbidden character";
} else if (mCode == ResultCode.FILE_NOT_FOUND) {
return "Local file does not exist";
}
return "Local file does not exist";
} else if (mCode == ResultCode.SYNC_CONFLICT) {
return "Synchronization conflict";
}
return "Operation finished with HTTP status code " + mHttpCode + " (" +
(isSuccess() ? "success" : "fail") + ")";

View File

@ -32,8 +32,7 @@ public class Log_OC {
}
public static void i(String TAG, String message){
// Write the log message to the file
Log.i(TAG, message);
appendLog(TAG+" : "+ message);
}

View File

@ -54,7 +54,7 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation
}
@Override
protected int uploadFile(OwnCloudClient client) throws HttpException, IOException {
protected int uploadFile(OwnCloudClient client) throws IOException {
int status = -1;
FileChannel channel = null;

View File

@ -140,6 +140,9 @@ public class DownloadRemoteFileOperation extends RemoteOperation {
if (transferred == totalToTransfer) { // Check if the file is completed
savedFile = true;
Header modificationTime = mGet.getResponseHeader("Last-Modified");
if (modificationTime == null) {
modificationTime = mGet.getResponseHeader("last-modified");
}
if (modificationTime != null) {
Date d = WebdavUtils.parseResponseDate((String) modificationTime.getValue());
mModificationTimestamp = (d != null) ? d.getTime() : 0;

View File

@ -102,8 +102,7 @@ public class UploadRemoteFileOperation extends RemoteOperation {
(mPutMethod != null ? mPutMethod.getResponseHeaders() : null));
}
} catch (Exception e) {
// TODO something cleaner with cancellations
if (mCancellationRequested.get()) {
if (mCancellationRequested.get() && !(e instanceof OperationCancelledException)) {
result = new RemoteOperationResult(new OperationCancelledException());
} else {
result = new RemoteOperationResult(e);
@ -117,8 +116,7 @@ public class UploadRemoteFileOperation extends RemoteOperation {
status == HttpStatus.SC_NO_CONTENT));
}
protected int uploadFile(OwnCloudClient client) throws HttpException, IOException,
OperationCancelledException {
protected int uploadFile(OwnCloudClient client) throws IOException {
int status = -1;
try {
File f = new File(mLocalPath);