Merge branch 'develop' into refresh_folder_contents_when_browsed_into
[pub/Android/ownCloud.git] / src / com / owncloud / android / syncadapter / FileSyncAdapter.java
index 4b40ff4..06a83e9 100644 (file)
@@ -149,7 +149,7 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
             updateOCVersion();
             mCurrentSyncTime = System.currentTimeMillis();
             if (!mCancellation) {
-                synchronizeFolder(getStorageManager().getFileByPath(OCFile.PATH_SEPARATOR), true);
+                synchronizeFolder(getStorageManager().getFileByPath(OCFile.ROOT_PATH), true);
                 
             } else {
                 Log_OC.d(TAG, "Leaving synchronization before synchronizing the root folder because cancelation request");
@@ -263,11 +263,7 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
             }
             // synchronize children folders 
             List<OCFile> children = synchFolderOp.getChildren();
-            fetchChildren(children);    // beware of the 'hidden' recursion here!
-            
-            // update folder size again after recursive synchronization
-            getStorageManager().calculateFolderSize(folder.getFileId());  
-            sendStickyBroadcast(true, folder.getRemotePath(), null);        // notify again
+            fetchChildren(folder, children);    // beware of the 'hidden' recursion here!
             
         } else {
             // in failures, the statistics for the global result are updated
@@ -311,12 +307,15 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
      * 
      * @param files         Files to recursively synchronize.
      */
-    private void fetchChildren(List<OCFile> files) {
+    private void fetchChildren(OCFile parent, List<OCFile> files) {
         int i;
         for (i=0; i < files.size() && !mCancellation; i++) {
             OCFile newFile = files.get(i);
-            if (newFile.isDirectory()) {
+            if (newFile.isFolder()) {
                 synchronizeFolder(newFile, false);
+                // update the size of the parent folder again after recursive synchronization 
+                getStorageManager().updateFolderSize(parent.getFileId());  
+                sendStickyBroadcast(true, parent.getRemotePath(), null);        // notify again to refresh size in UI
             }
         }