aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanesh M <daneshm90@gmail.com>2014-12-12 19:26:21 -0800
committerDanesh Mondegarian <daneshm90@gmail.com>2014-12-14 12:12:28 -0800
commit3a587806258e5d39f4dcaea2220a3b5bd590b0d4 (patch)
tree7f50bd4c364086d4c5e3204ac7efba0c3cc6a9d7 /src
parent86d69be562a3e5d5d9879a21709fd1aa0bec909d (diff)
downloadandroid_packages_apps_CMFileManager-3a587806258e5d39f4dcaea2220a3b5bd590b0d4.tar.gz
android_packages_apps_CMFileManager-3a587806258e5d39f4dcaea2220a3b5bd590b0d4.tar.bz2
android_packages_apps_CMFileManager-3a587806258e5d39f4dcaea2220a3b5bd590b0d4.zip
CMFileManager : Delete from media store when renaming/deleting files
Change-Id: I0bee07a683a7799fb118eb2d1ac313654a29a64e
Diffstat (limited to 'src')
-rw-r--r--src/com/cyanogenmod/filemanager/util/CommandHelper.java20
-rw-r--r--src/com/cyanogenmod/filemanager/util/MediaHelper.java2
2 files changed, 13 insertions, 9 deletions
diff --git a/src/com/cyanogenmod/filemanager/util/CommandHelper.java b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
index 4c98e95d..edba9694 100644
--- a/src/com/cyanogenmod/filemanager/util/CommandHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
@@ -19,7 +19,9 @@ package com.cyanogenmod.filemanager.util;
import android.content.Context;
import android.content.Intent;
import android.media.MediaScannerConnection;
+import android.provider.MediaStore.Files;
+import android.provider.MediaStore;
import com.cyanogenmod.filemanager.commands.AsyncResultListener;
import com.cyanogenmod.filemanager.commands.ChangeOwnerExecutable;
import com.cyanogenmod.filemanager.commands.ChangePermissionsExecutable;
@@ -81,6 +83,7 @@ import com.cyanogenmod.filemanager.model.SearchResult;
import com.cyanogenmod.filemanager.model.User;
import com.cyanogenmod.filemanager.preferences.CompressionMode;
import com.cyanogenmod.filemanager.preferences.FileManagerSettings;
+import com.cyanogenmod.filemanager.util.MediaHelper;
import java.io.File;
import java.io.FileNotFoundException;
@@ -421,12 +424,8 @@ public final class CommandHelper {
c.getExecutableFactory().newCreator().createDeleteFileExecutable(file);
writableExecute(context, executable, c);
- // Do media scan
- File parent = new File(file).getParentFile();
- if (parent != null) {
- MediaScannerConnection.scanFile(context, new String[]{
- MediaHelper.normalizeMediaPath(parent.getAbsolutePath())}, null, null);
- }
+ // Remove from media scanner
+ removeFromMediaStore(context, file);
return executable.getResult().booleanValue();
}
@@ -813,8 +812,8 @@ public final class CommandHelper {
File parent = new File(src).getParentFile();
if (parent != null) {
if (!VirtualMountPointConsole.isVirtualStorageResource(parent.getAbsolutePath())) {
- MediaScannerConnection.scanFile(context, new String[]{
- MediaHelper.normalizeMediaPath(parent.getAbsolutePath())}, null, null);
+ // Remove from media scanner
+ removeFromMediaStore(context, src);
}
}
if (!VirtualMountPointConsole.isVirtualStorageResource(parent.getAbsolutePath())) {
@@ -826,6 +825,11 @@ public final class CommandHelper {
return ret;
}
+ private static void removeFromMediaStore(Context context, String path) {
+ context.getContentResolver().delete(Files.getContentUri(MediaHelper.EXTERNAL_VOLUME),
+ MediaStore.Files.FileColumns.DATA + "=?", new String[]{path});
+ }
+
/**
* Method that copies a file system object.
*
diff --git a/src/com/cyanogenmod/filemanager/util/MediaHelper.java b/src/com/cyanogenmod/filemanager/util/MediaHelper.java
index d3d29318..f00db57f 100644
--- a/src/com/cyanogenmod/filemanager/util/MediaHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/MediaHelper.java
@@ -40,7 +40,7 @@ public final class MediaHelper {
private static final String EXTERNAL_STORAGE = System.getenv("EXTERNAL_STORAGE");
private static final String INTERNAL_VOLUME = "internal";
- private static final String EXTERNAL_VOLUME = "external";
+ public static final String EXTERNAL_VOLUME = "external";
/**
* URIs that are relevant for determining album art;