浏览代码

Attempt to fix uploads with non-conf folders

Mario Danic 8 年之前
父节点
当前提交
fbdcfce692
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      src/com/owncloud/android/services/observer/SyncedFolderObserverService.java

+ 12 - 6
src/com/owncloud/android/services/observer/SyncedFolderObserverService.java

@@ -136,6 +136,7 @@ public class SyncedFolderObserverService extends Service {
                 }
             }
         } else {
+            int foundLocation = -1;
             for (int i = 0; i < pairArrayList.size(); i++) {
                 SyncedFolder syncFolder = pairArrayList.get(i).getKey();
                 for (SyncedFolder syncedFolder : mProvider.getSyncedFolders()) {
@@ -143,18 +144,23 @@ public class SyncedFolderObserverService extends Service {
                         syncFolder = syncedFolder;
                         pairArrayList.set(i, new SerializablePair<SyncedFolder, FileEntry>(syncFolder,
                                 pairArrayList.get(i).getValue()));
+                        foundLocation = i;
                         break;
                     }
                 }
 
-                FileAlterationMagicObserver observer = new FileAlterationMagicObserver(new File(
-                        syncFolder.getLocalPath()), fileFilter);
-                observer.setRootEntry(pairArrayList.get(i).getValue());
+                if (syncFolder.isEnabled()) {
+                    FileAlterationMagicObserver observer = new FileAlterationMagicObserver(new File(
+                            syncFolder.getLocalPath()), fileFilter);
+                    observer.setRootEntry(pairArrayList.get(i).getValue());
 
-                observer.addListener(new FileAlterationMagicListener(syncFolder));
-                monitor.addObserver(observer);
-                syncedFolderMap.put(syncFolder, observer);
+                    observer.addListener(new FileAlterationMagicListener(syncFolder));
+                    monitor.addObserver(observer);
+                    syncedFolderMap.put(syncFolder, observer);
+                } else {
+                    pairArrayList.remove(foundLocation);
 
+                }
             }
         }