For more reliability delete old files recursively in migration cleanup
authorBartosz Przybylski <bart.p.pl@gmail.com>
Sun, 22 Nov 2015 10:20:24 +0000 (11:20 +0100)
committerBartosz Przybylski <bart.p.pl@gmail.com>
Sun, 22 Nov 2015 10:20:24 +0000 (11:20 +0100)
src/com/owncloud/android/ui/activity/StorageMigrationActivity.java

index c0b4522..ee4f08e 100644 (file)
@@ -240,10 +240,19 @@ public class StorageMigrationActivity extends AppCompatActivity {
 
                void cleanup() {
                        File srcFile = new File(mStorageSource + File.separator + MainApp.getDataFolder());
-                       if (!srcFile.delete())
+                       if (!deleteRecursive(srcFile))
                                Log_OC.w(TAG, "Migration cleanup step failed");
                }
 
+               boolean deleteRecursive(File f) {
+                       boolean res = true;
+                       if (f.isDirectory())
+                               for (File c : f.listFiles())
+                                       res = deleteRecursive(c) && res;
+                       return f.delete() && res;
+               }
+
+
                void rollback() {
                        File dstFile = new File(mStorageTarget + File.separator + MainApp.getDataFolder());
                        if (dstFile.exists())