Mario Danic 8 жил өмнө
parent
commit
c867b54ee3

+ 36 - 32
src/com/owncloud/android/MainApp.java

@@ -114,38 +114,8 @@ public class MainApp extends Application {
             Log_OC.d("Debug", "start logging");
         }
 
-        // previous versions of application created broken entries in the syncedfolderprovider
-        // database, and this cleans all that and leaves 1 (newest) entry per synced folder
-
-        if (!PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean("legacyClean", false)) {
-            SyncedFolderProvider syncedFolderProvider = new SyncedFolderProvider(MainApp.getAppContext().getContentResolver());
-
-            List<SyncedFolder> syncedFolderList = syncedFolderProvider.getSyncedFolders();
-            Map<Pair<String, String>, Long> syncedFolders = new HashMap<>();
-            ArrayList<Long> ids = new ArrayList<>();
-            for (SyncedFolder syncedFolder : syncedFolderList) {
-                Pair<String, String> checkPair = new Pair(syncedFolder.getAccount(), syncedFolder.getLocalPath());
-                if (syncedFolders.containsKey(checkPair)) {
-                    if (syncedFolder.getId() > syncedFolders.get(checkPair)) {
-                        syncedFolders.put(checkPair, syncedFolder.getId());
-                    }
-                } else {
-                    syncedFolders.put(checkPair, syncedFolder.getId());
-                }
-            }
-
-            for (Long idValue : syncedFolders.values()) {
-                ids.add(idValue);
-            }
-
-
-            if (ids.size() > 0) {
-                syncedFolderProvider.deleteOtherSyncedFolders(mContext, ids);
-            } else {
-                PreferenceManager.getDefaultSharedPreferences(mContext).edit().putBoolean("legacyClean", true).apply();
-            }
-        }
-
+        cleanOldEntries();
+        
         Log_OC.d("SyncedFolderObserverService", "Start service SyncedFolderObserverService");
         Intent i = new Intent(this, SyncedFolderObserverService.class);
         startService(i);
@@ -296,6 +266,40 @@ public class MainApp extends Application {
         return userAgent;
     }
 
+    private void cleanOldEntries() {
+        // previous versions of application created broken entries in the syncedfolderprovider
+        // database, and this cleans all that and leaves 1 (newest) entry per synced folder
+
+        if (!PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean("legacyClean", false)) {
+            SyncedFolderProvider syncedFolderProvider = new SyncedFolderProvider(MainApp.getAppContext().getContentResolver());
+
+            List<SyncedFolder> syncedFolderList = syncedFolderProvider.getSyncedFolders();
+            Map<Pair<String, String>, Long> syncedFolders = new HashMap<>();
+            ArrayList<Long> ids = new ArrayList<>();
+            for (SyncedFolder syncedFolder : syncedFolderList) {
+                Pair<String, String> checkPair = new Pair(syncedFolder.getAccount(), syncedFolder.getLocalPath());
+                if (syncedFolders.containsKey(checkPair)) {
+                    if (syncedFolder.getId() > syncedFolders.get(checkPair)) {
+                        syncedFolders.put(checkPair, syncedFolder.getId());
+                    }
+                } else {
+                    syncedFolders.put(checkPair, syncedFolder.getId());
+                }
+            }
+
+            for (Long idValue : syncedFolders.values()) {
+                ids.add(idValue);
+            }
+
+
+            if (ids.size() > 0) {
+                syncedFolderProvider.deleteOtherSyncedFolders(mContext, ids);
+            } else {
+                PreferenceManager.getDefaultSharedPreferences(mContext).edit().putBoolean("legacyClean", true).apply();
+            }
+        }
+    }
+
     /** Defines callbacks for service binding, passed to bindService() */
     private ServiceConnection syncedFolderObserverServiceConnection = new ServiceConnection() {
 

+ 2 - 4
src/com/owncloud/android/datamodel/SyncedFolderProvider.java

@@ -197,10 +197,8 @@ public class SyncedFolderProvider extends Observable {
                 new String[]{String.valueOf(ids)}
         );
 
-        if (result > 0) {
-            if (context != null) {
-                PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("legacyClean", true).apply();
-            }
+        if (result > 0 && context != null) {
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("legacyClean", true).apply();
         }
 
         return result;

+ 1 - 3
src/com/owncloud/android/services/observer/FileAlterationMagicObserver.java

@@ -189,9 +189,7 @@ public class FileAlterationMagicObserver extends FileAlterationObserver implemen
             checkAndNotify(rootEntry, rootEntry.getChildren(), listFiles(rootFile));
         } else if (rootEntry.isExists()) {
             checkAndNotify(rootEntry, rootEntry.getChildren(), FileUtils.EMPTY_FILE_ARRAY);
-        } else {
-            // Didn't exist and still doesn't
-        }
+        } // else didn't exist and still doesn't
 
         /* fire onStop() */
         for (final FileAlterationListener listener : listeners) {

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

@@ -42,14 +42,14 @@ import java.io.FileFilter;
 
 public class SyncedFolderObserverService extends Service {
     private static final String TAG = "SyncedFolderObserverService";
-    private SyncedFolderProvider syncedFolderProvider;
     private final IBinder mBinder = new SyncedFolderObserverBinder();
     private FileAlterationMonitor monitor;
     private FileFilter fileFilter;
 
     @Override
     public void onCreate() {
-        syncedFolderProvider = new SyncedFolderProvider(MainApp.getAppContext().getContentResolver());
+        SyncedFolderProvider syncedFolderProvider = new SyncedFolderProvider(MainApp.getAppContext().
+                getContentResolver());
         monitor = new FileAlterationMonitor();
 
         fileFilter = new FileFilter() {