From ce4a8bc47743c2c388c7cf6d1c676bbb75a0af2b Mon Sep 17 00:00:00 2001 From: Bartosz Przybylski Date: Sun, 22 Nov 2015 11:20:24 +0100 Subject: [PATCH] For more reliability delete old files recursively in migration cleanup --- .../android/ui/activity/StorageMigrationActivity.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/owncloud/android/ui/activity/StorageMigrationActivity.java b/src/com/owncloud/android/ui/activity/StorageMigrationActivity.java index c0b45228..ee4f08e1 100644 --- a/src/com/owncloud/android/ui/activity/StorageMigrationActivity.java +++ b/src/com/owncloud/android/ui/activity/StorageMigrationActivity.java @@ -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()) -- 2.11.0