+
+ // stage 2: remove the folder itself and any local file inside out of sync;
+ // for instance, after clearing the app cache or reinstalling
+ success &= removeLocalFolder(localFolder);
+ }
+ return success;
+ }
+
+ private boolean removeLocalFolder(File localFolder) {
+ boolean success = true;
+ File[] localFiles = localFolder.listFiles();
+ if (localFiles != null) {
+ for (File localFile : localFiles) {
+ if (localFile.isDirectory()) {
+ success &= removeLocalFolder(localFile);
+ } else {
+ success &= localFile.delete();
+ }
+ }