From 6022456fd59ff33c50957837d02ad840c16a5e74 Mon Sep 17 00:00:00 2001 From: jabarros Date: Mon, 19 Jan 2015 10:39:23 +0100 Subject: [PATCH] Trigger Media Scan on parent folder when deleting a file or a folder from locally --- .../android/datamodel/FileDataStorageManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index d803064297..687dcc3279 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -491,7 +491,7 @@ public class FileDataStorageManager { 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 @@ -539,7 +539,8 @@ public class FileDataStorageManager { 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 files = getFolderContent(folder.getFileId()); @@ -549,17 +550,16 @@ public class FileDataStorageManager { 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;