diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-10-10 11:51:41 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2013-10-10 11:51:41 +0000 |
commit | 781ba98e1e1989f45ad564fd3f393e5fdaa74503 (patch) | |
tree | 24462e94ca35e431d81e08476451131b3b906a15 /src/com/cyanogenmod/filemanager | |
parent | b34d8ace66d96f918ba3f35f850a5e1bd262ee1f (diff) | |
parent | 2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f (diff) | |
download | android_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.java | 43 |
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( |