aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/filemanager
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-10-10 11:51:41 +0000
committerGerrit Code Review <gerrit@cyanogenmod.org>2013-10-10 11:51:41 +0000
commit781ba98e1e1989f45ad564fd3f393e5fdaa74503 (patch)
tree24462e94ca35e431d81e08476451131b3b906a15 /src/com/cyanogenmod/filemanager
parentb34d8ace66d96f918ba3f35f850a5e1bd262ee1f (diff)
parent2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f (diff)
downloadandroid_packages_apps_CMFileManager-781ba98e1e1989f45ad564fd3f393e5fdaa74503.tar.gz
android_packages_apps_CMFileManager-781ba98e1e1989f45ad564fd3f393e5fdaa74503.tar.bz2
android_packages_apps_CMFileManager-781ba98e1e1989f45ad564fd3f393e5fdaa74503.zip
Merge "CMFM: Notify to media scanner when some file changed" into cm-10.2
Diffstat (limited to 'src/com/cyanogenmod/filemanager')
-rw-r--r--src/com/cyanogenmod/filemanager/util/CommandHelper.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/filemanager/util/CommandHelper.java b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
index 8dddbcba..7d1b236d 100644
--- a/src/com/cyanogenmod/filemanager/util/CommandHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/CommandHelper.java
@@ -17,6 +17,7 @@
package com.cyanogenmod.filemanager.util;
import android.content.Context;
+import android.media.MediaScannerConnection;
import com.cyanogenmod.filemanager.commands.AsyncResultListener;
import com.cyanogenmod.filemanager.commands.ChangeOwnerExecutable;
@@ -74,6 +75,7 @@ import com.cyanogenmod.filemanager.model.SearchResult;
import com.cyanogenmod.filemanager.model.User;
import com.cyanogenmod.filemanager.preferences.CompressionMode;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
@@ -320,6 +322,11 @@ public final class CommandHelper {
CreateFileExecutable executable =
c.getExecutableFactory().newCreator().createCreateFileExecutable(file);
writableExecute(context, executable, c);
+
+ // Do media scan
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(file)}, null, null);
+
return executable.getResult().booleanValue();
}
@@ -352,6 +359,14 @@ public final class CommandHelper {
DeleteDirExecutable executable =
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);
+ }
+
return executable.getResult().booleanValue();
}
@@ -384,6 +399,14 @@ public final class CommandHelper {
DeleteFileExecutable executable =
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);
+ }
+
return executable.getResult().booleanValue();
}
@@ -708,6 +731,16 @@ public final class CommandHelper {
MoveExecutable executable =
c.getExecutableFactory().newCreator().createMoveExecutable(src, dst);
writableExecute(context, executable, c);
+
+ // Do media scan
+ File parent = new File(src).getParentFile();
+ if (parent != null) {
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(parent.getAbsolutePath())}, null, null);
+ }
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(dst)}, null, null);
+
return executable.getResult().booleanValue();
}
@@ -741,6 +774,11 @@ public final class CommandHelper {
CopyExecutable executable =
c.getExecutableFactory().newCreator().createCopyExecutable(src, dst);
writableExecute(context, executable, c);
+
+ // Do media scan
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(dst)}, null, null);
+
return executable.getResult().booleanValue();
}
@@ -1438,6 +1476,11 @@ public final class CommandHelper {
//- Compress
execute(context, executable1, c);
+
+ // Do media scan
+ MediaScannerConnection.scanFile(context, new String[]{
+ MediaHelper.normalizeMediaPath(dst)}, null, null);
+
return executable1;
}
throw new ExecutionException(