fixed bug #1297
[pub/Android/ownCloud.git] / src / com / owncloud / android / operations / RefreshFolderOperation.java
index ddbffb8..dade4d9 100644 (file)
@@ -201,8 +201,7 @@ public class RefreshFolderOperation extends RemoteOperation {
             if (mRemoteFolderChanged) {
                 result = fetchAndSyncRemoteFolder(client);
             } else {
-                // TODO Enable when "On Device" is recovered ?
-                mChildren = mStorageManager.getFolderContent(mLocalFolder/*, false*/);
+                mChildren = mStorageManager.getFolderContent(mLocalFolder, false);
             }
         }
         
@@ -252,8 +251,14 @@ public class RefreshFolderOperation extends RemoteOperation {
 
             if (!mIgnoreETag) {
                 // check if remote and local folder are different
-                mRemoteFolderChanged = 
-                        !(remoteFolder.getEtag().equalsIgnoreCase(mLocalFolder.getEtag()));
+                String remoteFolderETag = remoteFolder.getEtag();
+                if (remoteFolderETag != null) {
+                    mRemoteFolderChanged =
+                            !(remoteFolderETag.equalsIgnoreCase(mLocalFolder.getEtag()));
+                } else {
+                    Log_OC.e(TAG, "Checked " + mAccount.name + remotePath + " : " +
+                            "No ETag received from server");
+                }
             }
 
             result = new RemoteOperationResult(ResultCode.OK);
@@ -342,8 +347,7 @@ public class RefreshFolderOperation extends RemoteOperation {
         List<SynchronizeFileOperation> filesToSyncContents = new Vector<SynchronizeFileOperation>();
 
         // get current data about local contents of the folder to synchronize
-        // TODO Enable when "On Device" is recovered ?
-        List<OCFile> localFiles = mStorageManager.getFolderContent(mLocalFolder/*, false*/);
+        List<OCFile> localFiles = mStorageManager.getFolderContent(mLocalFolder, false);
         Map<String, OCFile> localFilesMap = new HashMap<String, OCFile>(localFiles.size());
         for (OCFile file : localFiles) {
             localFilesMap.put(file.getRemotePath(), file);