Merge branch 'develop' into refresh_folder_contents_when_browsed_into
authormasensio <masensio@solidgear.es>
Fri, 20 Sep 2013 08:19:44 +0000 (10:19 +0200)
committermasensio <masensio@solidgear.es>
Fri, 20 Sep 2013 08:19:44 +0000 (10:19 +0200)
Conflicts:
src/com/owncloud/android/operations/SynchronizeFolderOperation.java

1  2 
src/com/owncloud/android/datamodel/FileDataStorageManager.java
src/com/owncloud/android/operations/RemoteOperationResult.java
src/com/owncloud/android/operations/SynchronizeFileOperation.java
src/com/owncloud/android/operations/SynchronizeFolderOperation.java
src/com/owncloud/android/providers/FileContentProvider.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;
  
@@@ -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);