mirror of
https://github.com/nextcloud/android.git
synced 2024-11-27 17:46:37 +03:00
Fix bug: audio are not refreshed when delete them from the app
This commit is contained in:
parent
281a6b8e1a
commit
a69c04d8e9
1 changed files with 20 additions and 10 deletions
|
@ -492,7 +492,7 @@ public class FileDataStorageManager {
|
|||
if (removeLocalCopy && file.isDown() && localPath != null && success) {
|
||||
success = new File(localPath).delete();
|
||||
if (success) {
|
||||
deleteFileInMediaScan(localPath);
|
||||
deleteFileInMediaScan(file);
|
||||
}
|
||||
if (!removeDBData && success) {
|
||||
// maybe unnecessary, but should be checked TODO remove if unnecessary
|
||||
|
@ -554,14 +554,13 @@ public class FileDataStorageManager {
|
|||
File localFile = new File(file.getStoragePath());
|
||||
success &= localFile.delete();
|
||||
if (success) {
|
||||
deleteFileInMediaScan(file.getStoragePath()); // notify MediaScanner about removed file
|
||||
deleteFileInMediaScan(file); // notify MediaScanner about removed file
|
||||
file.setStoragePath(null);
|
||||
saveFile(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//triggerMediaScan(localFolderPath); // notify MediaScanner about removed file in folder
|
||||
}
|
||||
|
||||
// stage 2: remove the folder itself and any local file inside out of sync;
|
||||
|
@ -581,8 +580,6 @@ public class FileDataStorageManager {
|
|||
} else {
|
||||
String path = localFile.getAbsolutePath();
|
||||
success &= localFile.delete();
|
||||
deleteFileInMediaScan(path); // notify MediaScanner about removed file
|
||||
//triggerMediaScan(path); // notify MediaScanner about removed file
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -717,13 +714,13 @@ public class FileDataStorageManager {
|
|||
Iterator<String> it = originalPathsToTriggerMediaScan.iterator();
|
||||
while (it.hasNext()) {
|
||||
// Notify MediaScanner about removed file
|
||||
deleteFileInMediaScan(file.getStoragePath());
|
||||
deleteFileInMediaScan(file);
|
||||
triggerMediaScan(it.next());
|
||||
}
|
||||
it = newPathsToTriggerMediaScan.iterator();
|
||||
while (it.hasNext()) {
|
||||
// Notify MediaScanner about new file/folder
|
||||
deleteFileInMediaScan(file.getStoragePath());
|
||||
deleteFileInMediaScan(file);
|
||||
triggerMediaScan(it.next());
|
||||
}
|
||||
}
|
||||
|
@ -1495,9 +1492,22 @@ public class FileDataStorageManager {
|
|||
MainApp.getAppContext().sendBroadcast(intent);
|
||||
}
|
||||
|
||||
public void deleteFileInMediaScan(String path) {
|
||||
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
||||
MediaStore.Images.Media.DATA + "=?", new String[]{path});
|
||||
public void deleteFileInMediaScan(OCFile file) {
|
||||
|
||||
String path = file.getStoragePath();
|
||||
if (file.isImage()) {
|
||||
// Images
|
||||
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
||||
MediaStore.Images.Media.DATA + "=?", new String[]{path});
|
||||
} else if (file.isAudio()) {
|
||||
// Audio
|
||||
getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
|
||||
MediaStore.Audio.Media.DATA + "=?", new String[]{path});
|
||||
} else if (file.isVideo()) {
|
||||
// Video
|
||||
getContentResolver().delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
|
||||
MediaStore.Video.Media.DATA + "=?", new String[]{path});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue