diff options
| author | Jorge Ruesga <jorge@ruesga.com> | 2013-10-08 23:39:00 +0200 |
|---|---|---|
| committer | Jorge Ruesga <jorge@ruesga.com> | 2013-10-09 21:48:33 +0200 |
| commit | 2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f (patch) | |
| tree | ec294ec08465544af39c478bdccfdf1f27275f55 | |
| parent | e1ca27306fadf4093d0e7b2b6db767472156696e (diff) | |
| download | android_packages_apps_CMFileManager-2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f.tar.gz android_packages_apps_CMFileManager-2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f.tar.bz2 android_packages_apps_CMFileManager-2bd19553f4e810bc9ee6dbd49017f4b1c9d59e0f.zip | |
CMFM: Notify to media scanner when some file changed
Patchset 2: Remove unnecessary calls to media scan
Change-Id: Ie56ccdd992e2a93c63ab7587135de7cb63bff92e
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
| -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( |
