mirror of
https://github.com/nextcloud/android.git
synced 2024-11-23 21:55:48 +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) {
|
if (removeLocalCopy && file.isDown() && localPath != null && success) {
|
||||||
success = new File(localPath).delete();
|
success = new File(localPath).delete();
|
||||||
if (success) {
|
if (success) {
|
||||||
deleteFileInMediaScan(localPath);
|
deleteFileInMediaScan(file);
|
||||||
}
|
}
|
||||||
if (!removeDBData && success) {
|
if (!removeDBData && success) {
|
||||||
// maybe unnecessary, but should be checked TODO remove if unnecessary
|
// maybe unnecessary, but should be checked TODO remove if unnecessary
|
||||||
|
@ -554,14 +554,13 @@ public class FileDataStorageManager {
|
||||||
File localFile = new File(file.getStoragePath());
|
File localFile = new File(file.getStoragePath());
|
||||||
success &= localFile.delete();
|
success &= localFile.delete();
|
||||||
if (success) {
|
if (success) {
|
||||||
deleteFileInMediaScan(file.getStoragePath()); // notify MediaScanner about removed file
|
deleteFileInMediaScan(file); // notify MediaScanner about removed file
|
||||||
file.setStoragePath(null);
|
file.setStoragePath(null);
|
||||||
saveFile(file);
|
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;
|
// stage 2: remove the folder itself and any local file inside out of sync;
|
||||||
|
@ -581,8 +580,6 @@ public class FileDataStorageManager {
|
||||||
} else {
|
} else {
|
||||||
String path = localFile.getAbsolutePath();
|
String path = localFile.getAbsolutePath();
|
||||||
success &= localFile.delete();
|
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();
|
Iterator<String> it = originalPathsToTriggerMediaScan.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
// Notify MediaScanner about removed file
|
// Notify MediaScanner about removed file
|
||||||
deleteFileInMediaScan(file.getStoragePath());
|
deleteFileInMediaScan(file);
|
||||||
triggerMediaScan(it.next());
|
triggerMediaScan(it.next());
|
||||||
}
|
}
|
||||||
it = newPathsToTriggerMediaScan.iterator();
|
it = newPathsToTriggerMediaScan.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
// Notify MediaScanner about new file/folder
|
// Notify MediaScanner about new file/folder
|
||||||
deleteFileInMediaScan(file.getStoragePath());
|
deleteFileInMediaScan(file);
|
||||||
triggerMediaScan(it.next());
|
triggerMediaScan(it.next());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1495,9 +1492,22 @@ public class FileDataStorageManager {
|
||||||
MainApp.getAppContext().sendBroadcast(intent);
|
MainApp.getAppContext().sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteFileInMediaScan(String path) {
|
public void deleteFileInMediaScan(OCFile file) {
|
||||||
|
|
||||||
|
String path = file.getStoragePath();
|
||||||
|
if (file.isImage()) {
|
||||||
|
// Images
|
||||||
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
||||||
MediaStore.Images.Media.DATA + "=?", new String[]{path});
|
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