diff --git a/app/src/main/java/com/simplemobiletools/gallery/activities/PhotosActivity.java b/app/src/main/java/com/simplemobiletools/gallery/activities/PhotosActivity.java
index 729c2b5c5..dac087d5a 100644
--- a/app/src/main/java/com/simplemobiletools/gallery/activities/PhotosActivity.java
+++ b/app/src/main/java/com/simplemobiletools/gallery/activities/PhotosActivity.java
@@ -150,33 +150,38 @@ public class PhotosActivity extends AppCompatActivity
Helpers.showToast(this, R.string.deleting);
final SparseBooleanArray items = gridView.getCheckedItemPositions();
int cnt = items.size();
- final String[] deletedPaths = new String[cnt];
for (int i = 0; i < cnt; i++) {
final int id = items.keyAt(i);
final String path = photos.get(id);
toBeDeleted.add(path);
- deletedPaths[i] = path;
}
- MediaScannerConnection.scanFile(this, deletedPaths, null, this);
+ notifyDeletion(cnt);
}
private void notifyDeletion(int cnt) {
- final CoordinatorLayout coordinator = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
- final Resources res = getResources();
- final String msg = res.getQuantityString(R.plurals.files_deleted, cnt, cnt);
- snackbar = Snackbar.make(coordinator, msg, Snackbar.LENGTH_INDEFINITE);
- snackbar.setAction(res.getString(R.string.undo), undoDeletion);
- snackbar.setActionTextColor(Color.WHITE);
- snackbar.show();
- isSnackbarShown = true;
+ photos = getPhotos();
+
+ if (photos.isEmpty()) {
+ deleteFiles();
+ } else {
+ final CoordinatorLayout coordinator = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
+ final Resources res = getResources();
+ final String msg = res.getQuantityString(R.plurals.files_deleted, cnt, cnt);
+ snackbar = Snackbar.make(coordinator, msg, Snackbar.LENGTH_INDEFINITE);
+ snackbar.setAction(res.getString(R.string.undo), undoDeletion);
+ snackbar.setActionTextColor(Color.WHITE);
+ snackbar.show();
+ isSnackbarShown = true;
+ updateGridView();
+ }
}
private void deleteFiles() {
- if (snackbar == null)
- return;
+ if (snackbar != null) {
+ snackbar.dismiss();
+ }
- snackbar.dismiss();
isSnackbarShown = false;
for (String delPath : toBeDeleted) {
@@ -186,7 +191,7 @@ public class PhotosActivity extends AppCompatActivity
}
final String[] deletedPaths = toBeDeleted.toArray(new String[toBeDeleted.size()]);
- MediaScannerConnection.scanFile(this, deletedPaths, null, null);
+ MediaScannerConnection.scanFile(this, deletedPaths, null, this);
}
private View.OnClickListener undoDeletion = new View.OnClickListener() {
@@ -195,12 +200,12 @@ public class PhotosActivity extends AppCompatActivity
snackbar.dismiss();
isSnackbarShown = false;
toBeDeleted.clear();
+ photos = getPhotos();
updateGridView();
}
};
private void updateGridView() {
- photos = getPhotos();
if (!isDirEmpty()) {
adapter.updateItems(photos);
}
@@ -260,8 +265,8 @@ public class PhotosActivity extends AppCompatActivity
runOnUiThread(new Runnable() {
@Override
public void run() {
- updateGridView();
- notifyDeletion(toBeDeleted.size());
+ if (photos.isEmpty())
+ finish();
}
});
}
diff --git a/app/src/main/java/com/simplemobiletools/gallery/activities/ViewPagerActivity.java b/app/src/main/java/com/simplemobiletools/gallery/activities/ViewPagerActivity.java
index c02ac2347..027e51850 100644
--- a/app/src/main/java/com/simplemobiletools/gallery/activities/ViewPagerActivity.java
+++ b/app/src/main/java/com/simplemobiletools/gallery/activities/ViewPagerActivity.java
@@ -112,29 +112,30 @@ public class ViewPagerActivity extends AppCompatActivity
}
private void notifyDeletion() {
- final CoordinatorLayout coordinator = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
- final Resources res = getResources();
- snackbar = Snackbar.make(coordinator, res.getString(R.string.file_deleted), Snackbar.LENGTH_INDEFINITE);
- snackbar.setAction(res.getString(R.string.undo), undoDeletion);
- snackbar.setActionTextColor(Color.WHITE);
- snackbar.show();
- isSnackbarShown = true;
toBeDeleted = getCurrentFile().getAbsolutePath();
- if (photos.size() == 1)
+ if (photos.size() <= 1) {
deleteFile();
- else
+ } else {
+ final CoordinatorLayout coordinator = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
+ final Resources res = getResources();
+ final String curFileName = getCurrentFile().getName() + " ";
+ snackbar = Snackbar.make(coordinator, curFileName + res.getString(R.string.file_deleted), Snackbar.LENGTH_INDEFINITE);
+ snackbar.setAction(res.getString(R.string.undo), undoDeletion);
+ snackbar.setActionTextColor(Color.WHITE);
+ snackbar.show();
+ isSnackbarShown = true;
reloadViewPager();
+ }
}
private void deleteFile() {
if (toBeDeleted.isEmpty())
return;
- if (snackbar == null)
- return;
+ if (snackbar != null)
+ snackbar.dismiss();
- snackbar.dismiss();
isSnackbarShown = false;
final File file = new File(toBeDeleted);
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c4db7d16b..caf630520 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,7 +10,7 @@
Could not rename the file
File name
Extension
- File deleted
+ deleted
- 1 file deleted