if (removeLocalCopy && file.isDown() && localPath != null && success) {
success = new File(localPath).delete();
if (success) {
- deleteFileInMediaScan(file);
+ deleteFileInMediaScan(localPath);
}
if (!removeDBData && success) {
// maybe unnecessary, but should be checked TODO remove if unnecessary
File localFile = new File(file.getStoragePath());
success &= localFile.delete();
if (success) {
- deleteFileInMediaScan(file); // notify MediaScanner about removed file
+ // notify MediaScanner about removed file
+ deleteFileInMediaScan(file.getStoragePath());
file.setStoragePath(null);
saveFile(file);
}
Iterator<String> it = originalPathsToTriggerMediaScan.iterator();
while (it.hasNext()) {
// Notify MediaScanner about removed file
- deleteFileInMediaScan(file);
- triggerMediaScan(it.next());
+ deleteFileInMediaScan(it.next());
}
it = newPathsToTriggerMediaScan.iterator();
while (it.hasNext()) {
// Notify MediaScanner about new file/folder
- deleteFileInMediaScan(file);
triggerMediaScan(it.next());
}
}
MainApp.getAppContext().sendBroadcast(intent);
}
- public void deleteFileInMediaScan(OCFile file) {
+ public void deleteFileInMediaScan(String path) {
- String path = file.getStoragePath();
- if (file.isImage()) {
+ String mimetypeString = FileStorageUtils.getMimeTypeFromName(path);
+ if (mimetypeString.startsWith("image/")) {
// Images
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
MediaStore.Images.Media.DATA + "=?", new String[]{path});
- } else if (file.isAudio()) {
+ } else if (mimetypeString.startsWith("audio/")) {
// Audio
getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
MediaStore.Audio.Media.DATA + "=?", new String[]{path});
- } else if (file.isVideo()) {
+ } else if (mimetypeString.startsWith("video/")) {
// Video
getContentResolver().delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
MediaStore.Video.Media.DATA + "=?", new String[]{path});
}
+
}
}