aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Bird <sbird@cyngn.com>2015-06-05 15:41:39 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-06-11 17:40:56 +0000
commitc72bf8446312bb89a2cf61b4b960a2d2fd2bfb43 (patch)
tree2417fc95e7b4beeb0f246112d6f71b190a275e96
parent766c7ba627fb8d685408429ce027c6826bb9c2ab (diff)
downloadandroid_packages_apps_CMFileManager-c72bf8446312bb89a2cf61b4b960a2d2fd2bfb43.tar.gz
android_packages_apps_CMFileManager-c72bf8446312bb89a2cf61b4b960a2d2fd2bfb43.tar.bz2
android_packages_apps_CMFileManager-c72bf8446312bb89a2cf61b4b960a2d2fd2bfb43.zip
MediaScanning: Update with calls to Mediascanner
With older versions of android, updating with .delete was the proper way to remove these items The issue is that, doing this does not update MTP. Change-Id: I9b7098927fbda6e78a9baedb5e5e35968c082108
-rw-r--r--src/com/cyanogenmod/filemanager/util/CommandHelper.java45
1 files changed, 21 insertions, 24 deletions
diff --git a/src/com/cyanogenmod/filemanager/util/CommandHelper.java b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
index 2bb268e5..05e6d995 100644
--- a/src/com/cyanogenmod/filemanager/util/CommandHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
@@ -19,9 +19,9 @@ package com.cyanogenmod.filemanager.util;
import android.content.Context;
import android.content.Intent;
import android.media.MediaScannerConnection;
+import android.provider.MediaStore;
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;
@@ -83,7 +83,6 @@ 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;
@@ -308,6 +307,11 @@ public final class CommandHelper {
CreateDirExecutable executable =
c.getExecutableFactory().newCreator().createCreateDirectoryExecutable(directory);
writableExecute(context, executable, c);
+
+ // Do media scan
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(directory)}, null, null);
+
return executable.getResult().booleanValue();
}
@@ -382,12 +386,9 @@ public final class CommandHelper {
c.getExecutableFactory().newCreator().createDeleteDirExecutable(directory);
writableExecute(context, executable, c);
- // Do media scan
- File parent = new File(directory).getParentFile();
- if (parent != null) {
- MediaScannerConnection.scanFile(context, new String[]{
- MediaHelper.normalizeMediaPath(parent.getAbsolutePath())}, null, null);
- }
+ // update media scan
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(directory)}, null, null);
return executable.getResult().booleanValue();
}
@@ -424,8 +425,10 @@ public final class CommandHelper {
c.getExecutableFactory().newCreator().createDeleteFileExecutable(file);
writableExecute(context, executable, c);
- // Remove from media scanner
- removeFromMediaStore(context, file);
+ // Remove from mediascanner
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(file)
+ }, null, null);
return executable.getResult().booleanValue();
}
@@ -809,27 +812,21 @@ public final class CommandHelper {
// Do media scan (don't scan the file if is virtual file)
if (ret) {
- File parent = new File(src).getParentFile();
- if (parent != null) {
- if (!VirtualMountPointConsole.isVirtualStorageResource(parent.getAbsolutePath())) {
- // Remove from media scanner
- removeFromMediaStore(context, src);
- }
- }
- if (!VirtualMountPointConsole.isVirtualStorageResource(parent.getAbsolutePath())) {
+ File parent = new File(dst).getParentFile();
+ if (parent != null && !VirtualMountPointConsole.isVirtualStorageResource(parent
+ .getAbsolutePath())) {
+
+ // Remove from mediascanner
MediaScannerConnection.scanFile(context, new String[]{
- MediaHelper.normalizeMediaPath(dst)}, null, null);
+ MediaHelper.normalizeMediaPath(src),
+ MediaHelper.normalizeMediaPath(dst)
+ }, null, null);
}
}
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.
*