From: masensio Date: Fri, 20 Sep 2013 08:19:44 +0000 (+0200) Subject: Merge branch 'develop' into refresh_folder_contents_when_browsed_into X-Git-Tag: oc-android-1.5.5~155^2~41 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/d6267698e85f19f9d32e1459738a6fb3500446e5?ds=inline;hp=--cc Merge branch 'develop' into refresh_folder_contents_when_browsed_into Conflicts: src/com/owncloud/android/operations/SynchronizeFolderOperation.java --- d6267698e85f19f9d32e1459738a6fb3500446e5 diff --cc src/com/owncloud/android/operations/RemoteOperationResult.java index 6b50f915,999974cf..ca88210d --- a/src/com/owncloud/android/operations/RemoteOperationResult.java +++ b/src/com/owncloud/android/operations/RemoteOperationResult.java @@@ -95,10 -98,10 +99,10 @@@ public class RemoteOperationResult impl public RemoteOperationResult(ResultCode code) { mCode = code; - mSuccess = (code == ResultCode.OK || code == ResultCode.OK_SSL || code == ResultCode.OK_NO_SSL); + mSuccess = (code == ResultCode.OK || code == ResultCode.OK_SSL || code == ResultCode.OK_NO_SSL || code == ResultCode.OK_NO_CHANGES_ON_DIR); } - public RemoteOperationResult(boolean success, int httpCode) { + private RemoteOperationResult(boolean success, int httpCode) { mSuccess = success; mHttpCode = httpCode; diff --cc src/com/owncloud/android/operations/SynchronizeFolderOperation.java index af1c5e9d,67c7389e..68d539c8 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@@ -268,36 -236,42 +269,44 @@@ public class SynchronizeFolderOperatio } else { client.exhaustResponse(query.getResponseBodyAsStream()); } - + // prepare result object - if (isMultiStatus(status)) { + if (!fileChanged) { + result = new RemoteOperationResult(ResultCode.OK_NO_CHANGES_ON_DIR); + + } else if (isMultiStatus(status)) { if (mConflictsFound > 0 || mFailsInFavouritesFound > 0) { result = new RemoteOperationResult(ResultCode.SYNC_CONFLICT); // should be different result, but will do the job - + } else { - result = new RemoteOperationResult(true, status); + result = new RemoteOperationResult(true, status, query.getResponseHeaders()); } } else { - result = new RemoteOperationResult(false, status); + result = new RemoteOperationResult(false, status, query.getResponseHeaders()); } - - - + Log_OC.i(TAG, "Synchronizing " + mAccount.name + ", folder " + mRemotePath + ": " + result.getLogMessage()); + - } catch (Exception e) { result = new RemoteOperationResult(e); - Log_OC.e(TAG, "Synchronizing " + mAccount.name + ", folder " + mRemotePath + ": " + result.getLogMessage(), result.getException()); + } finally { if (query != null) query.releaseConnection(); // let the connection available for other methods + if (result.isSuccess()) { + Log_OC.i(TAG, "Synchronizing " + mAccount.name + ", folder " + mRemotePath + ": " + result.getLogMessage()); + } else { + if (result.isException()) { + Log_OC.e(TAG, "Synchronizing " + mAccount.name + ", folder " + mRemotePath + ": " + result.getLogMessage(), result.getException()); + } else { + Log_OC.e(TAG, "Synchronizing " + mAccount.name + ", folder " + mRemotePath + ": " + result.getLogMessage()); + } + } } - + return result; } - + public boolean isMultiStatus(int status) { return (status == HttpStatus.SC_MULTI_STATUS);