diff --git a/primitiveFTPd/src/org/primftpd/filesystem/FsFile.java b/primitiveFTPd/src/org/primftpd/filesystem/FsFile.java index 15cfb04c..045af471 100644 --- a/primitiveFTPd/src/org/primftpd/filesystem/FsFile.java +++ b/primitiveFTPd/src/org/primftpd/filesystem/FsFile.java @@ -132,7 +132,11 @@ public boolean delete() { public boolean move(FsFile destination) { logger.trace("[{}] move({})", name, destination.getAbsolutePath()); postClientAction(ClientActionEvent.ClientAction.RENAME); - return file.renameTo(new File(destination.getAbsolutePath())); + boolean success = file.renameTo(new File(destination.getAbsolutePath())); + if (success) { + Utils.mediaScanFile(pftpdService.getContext(), getAbsolutePath()); + } + return success; } public List listFiles() { diff --git a/primitiveFTPd/src/org/primftpd/filesystem/RootFile.java b/primitiveFTPd/src/org/primftpd/filesystem/RootFile.java index d0bf09e1..6eded851 100644 --- a/primitiveFTPd/src/org/primftpd/filesystem/RootFile.java +++ b/primitiveFTPd/src/org/primftpd/filesystem/RootFile.java @@ -111,7 +111,11 @@ public boolean delete() { public boolean move(RootFile destination) { logger.trace("[{}] move({})", name, destination.getAbsolutePath()); postClientAction(ClientActionEvent.ClientAction.RENAME); - return runCommand("mv " + escapePath(absPath) + " " + escapePath(destination.getAbsolutePath())); + boolean success = runCommand("mv " + escapePath(absPath) + " " + escapePath(destination.getAbsolutePath())); + if (success) { + Utils.mediaScanFile(pftpdService.getContext(), getAbsolutePath()); + } + return success; } public List listFiles() { diff --git a/primitiveFTPd/src/org/primftpd/filesystem/Utils.java b/primitiveFTPd/src/org/primftpd/filesystem/Utils.java index 392070fb..04b35f08 100644 --- a/primitiveFTPd/src/org/primftpd/filesystem/Utils.java +++ b/primitiveFTPd/src/org/primftpd/filesystem/Utils.java @@ -5,6 +5,9 @@ import android.net.Uri; import android.os.AsyncTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -13,6 +16,8 @@ public class Utils { + protected static Logger logger = LoggerFactory.getLogger(Utils.class); + static String absolute(String rel, String workingDir) { if (rel.charAt(0) == '/') { return rel; @@ -91,6 +96,7 @@ public void onScanCompleted(String path, Uri uri) { new AsyncTask() { @Override protected Void doInBackground(Void... voids) { + logger.info("media scanning file: {}", absPath); con.scanFile(absPath, null); return null; }