소스 검색

For more reliability delete old files recursively in migration cleanup

Bartosz Przybylski 9 년 전
부모
커밋
cec707b582
1개의 변경된 파일10개의 추가작업 그리고 1개의 파일을 삭제
  1. 10 1
      src/com/owncloud/android/ui/activity/StorageMigrationActivity.java

+ 10 - 1
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())