Skip to content

Commit f7d9fce

Browse files
committed
rescan items after copy/move too
1 parent 4dff81b commit f7d9fce

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

app/src/main/java/com/simplemobiletools/filemanager/asynctasks/CopyTask.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class CopyTask extends AsyncTask<Pair<List<File>, File>, Void, Boolean> {
1717
private static final String TAG = CopyTask.class.getSimpleName();
1818

1919
private static WeakReference<CopyListener> mListener;
20+
private static File destinationDir;
2021

2122
public CopyTask(CopyListener listener) {
2223
mListener = new WeakReference<>(listener);
@@ -28,7 +29,7 @@ protected Boolean doInBackground(Pair<List<File>, File>... params) {
2829
final List<File> files = pair.first;
2930
for (File file : files) {
3031
try {
31-
final File destinationDir = new File(pair.second, file.getName());
32+
destinationDir = new File(pair.second, file.getName());
3233
copy(file, destinationDir);
3334
return true;
3435
} catch (Exception e) {
@@ -74,14 +75,14 @@ protected void onPostExecute(Boolean success) {
7475
return;
7576

7677
if (success) {
77-
listener.copySucceeded();
78+
listener.copySucceeded(destinationDir);
7879
} else {
7980
listener.copyFailed();
8081
}
8182
}
8283

8384
public interface CopyListener {
84-
void copySucceeded();
85+
void copySucceeded(File destinationDir);
8586

8687
void copyFailed();
8788
}

app/src/main/java/com/simplemobiletools/filemanager/fragments/ItemsFragment.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ public void onClick(View v) {
414414
}
415415

416416
if (currFile.renameTo(newFile)) {
417-
rescanFolder(newFile);
417+
rescanItem(newFile);
418418
MediaScannerConnection.scanFile(getContext(), new String[]{currFile.getAbsolutePath(), newFile.getAbsolutePath()}, null, null);
419419
alertDialog.dismiss();
420420
fillItems();
@@ -478,7 +478,9 @@ public void onClick(View v) {
478478
new CopyTask(ItemsFragment.this).execute(pair);
479479
} else {
480480
for (File f : itemsToCopy) {
481-
f.renameTo(new File(destinationDir, f.getName()));
481+
final File destination = new File(destinationDir, f.getName());
482+
f.renameTo(destination);
483+
rescanItem(destination);
482484
}
483485

484486
mCopyDialog.dismiss();
@@ -588,10 +590,10 @@ private void deleteItems() {
588590
mToBeDeleted.clear();
589591
}
590592

591-
private void rescanFolder(File item) {
593+
private void rescanItem(File item) {
592594
if (item.isDirectory()) {
593595
for (File child : item.listFiles()) {
594-
rescanFolder(child);
596+
rescanItem(child);
595597
}
596598
}
597599

@@ -624,7 +626,8 @@ public void onDestroyActionMode(ActionMode mode) {
624626
}
625627

626628
@Override
627-
public void copySucceeded() {
629+
public void copySucceeded(File file) {
630+
rescanItem(file);
628631
mCopyDialog.dismiss();
629632
fillItems();
630633
}

0 commit comments

Comments
 (0)