if (removeLocalCopy && file.isDown() && localPath != null && success) {
success = new File(localPath).delete();
if (success) {
- triggerMediaScan(localPath);
+ triggerMediaScan(FileStorageUtils.getParentPath(localPath));
}
if (!removeDBData && success) {
// maybe unnecessary, but should be checked TODO remove if unnecessary
private boolean removeLocalFolder(OCFile folder) {
boolean success = true;
- File localFolder = new File(FileStorageUtils.getDefaultSavePathFor(mAccount.name, folder));
+ String localFolderPath = FileStorageUtils.getDefaultSavePathFor(mAccount.name, folder);
+ File localFolder = new File(localFolderPath);
if (localFolder.exists()) {
// stage 1: remove the local files already registered in the files database
Vector<OCFile> files = getFolderContent(folder.getFileId());
success &= removeLocalFolder(file);
} else {
if (file.isDown()) {
- String path = file.getStoragePath();
File localFile = new File(file.getStoragePath());
success &= localFile.delete();
if (success) {
file.setStoragePath(null);
saveFile(file);
- triggerMediaScan(path); // notify MediaScanner about removed file
}
}
}
}
+ triggerMediaScan(localFolderPath); // notify MediaScanner about removed file in folder
}
// stage 2: remove the folder itself and any local file inside out of sync;