diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index ba6feeb5c9..be3b4b6bb2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -172,6 +172,7 @@ public class FragmentAccount extends FragmentBase { static final Long SWIPE_ACTION_HIDE = -4L; static final Long SWIPE_ACTION_MOVE = -5L; static final Long SWIPE_ACTION_FLAG = -6L; + static final Long SWIPE_ACTION_DELETE = -7L; @Override public void onCreate(Bundle savedInstanceState) { @@ -1728,6 +1729,11 @@ public class FragmentAccount extends FragmentBase { move.name = getString(R.string.title_move); folders.add(move); + EntityFolder delete = new EntityFolder(); + delete.id = SWIPE_ACTION_DELETE; + delete.name = getString(R.string.title_delete); + folders.add(delete); + folders.addAll(_folders); adapterSwipe.clear(); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index f9c9ab5c81..c8b90ccb82 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1688,6 +1688,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. ? R.drawable.baseline_visibility_24 : R.drawable.baseline_timer_off_24)); else if (FragmentAccount.SWIPE_ACTION_MOVE.equals(action)) icon = R.drawable.baseline_folder_24; + else if (FragmentAccount.SWIPE_ACTION_DELETE.equals(action) || + (action.equals(message.folder) && EntityFolder.TRASH.equals(message.folderType))) + icon = R.drawable.baseline_delete_forever_24; else icon = EntityFolder.getIcon(dX > 0 ? swipes.right_type : swipes.left_type); Drawable d = getResources().getDrawable(icon, getContext().getTheme()).mutate(); @@ -1771,7 +1774,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. else if (FragmentAccount.SWIPE_ACTION_MOVE.equals(action)) { adapter.notifyItemChanged(pos); onSwipeMove(message); - } else if (action.equals(message.folder) && EntityFolder.TRASH.equals(message.folderType)) { + } else if (FragmentAccount.SWIPE_ACTION_DELETE.equals(action) || + (action.equals(message.folder) && EntityFolder.TRASH.equals(message.folderType))) { adapter.notifyItemChanged(pos); onSwipeDelete(message); } else diff --git a/app/src/main/res/drawable/baseline_delete_forever_24.xml b/app/src/main/res/drawable/baseline_delete_forever_24.xml new file mode 100644 index 0000000000..b0b1d8d065 --- /dev/null +++ b/app/src/main/res/drawable/baseline_delete_forever_24.xml @@ -0,0 +1,10 @@ + + +