diff options
author | Danesh M <daneshm90@gmail.com> | 2014-12-12 19:26:21 -0800 |
---|---|---|
committer | Danesh Mondegarian <daneshm90@gmail.com> | 2014-12-14 12:12:28 -0800 |
commit | 3a587806258e5d39f4dcaea2220a3b5bd590b0d4 (patch) | |
tree | 7f50bd4c364086d4c5e3204ac7efba0c3cc6a9d7 /src | |
parent | 86d69be562a3e5d5d9879a21709fd1aa0bec909d (diff) | |
download | android_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.java | 20 | ||||
-rw-r--r-- | src/com/cyanogenmod/filemanager/util/MediaHelper.java | 2 |
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; |