diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java
index ec38cbf260..b44c7e7d11 100644
--- a/app/src/main/java/eu/faircode/email/FragmentMessages.java
+++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java
@@ -3436,6 +3436,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
menu.findItem(R.id.menu_sort_on_snoozed).setVisible(false);
}
+ menu.findItem(R.id.menu_empty_trash).setVisible(EntityFolder.TRASH.equals(type) && folder);
+ menu.findItem(R.id.menu_empty_spam).setVisible(EntityFolder.JUNK.equals(type) && folder);
+
if ("time".equals(sort))
menu.findItem(R.id.menu_sort_on_time).setChecked(true);
else if ("unread".equals(sort))
@@ -3475,8 +3478,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
language_detection && folder && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q);
menu.findItem(R.id.menu_select_all).setVisible(folder);
menu.findItem(R.id.menu_select_found).setVisible(viewType == AdapterMessage.ViewType.SEARCH);
- menu.findItem(R.id.menu_empty_trash).setVisible(EntityFolder.TRASH.equals(type) && folder);
- menu.findItem(R.id.menu_empty_spam).setVisible(EntityFolder.JUNK.equals(type) && folder);
menu.findItem(R.id.menu_force_sync).setVisible(viewType == AdapterMessage.ViewType.UNIFIED);
@@ -3503,6 +3504,14 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
onMenuFolders(primary);
return true;
+ case R.id.menu_empty_trash:
+ onMenuEmpty(EntityFolder.TRASH);
+ return true;
+
+ case R.id.menu_empty_spam:
+ onMenuEmpty(EntityFolder.JUNK);
+ return true;
+
case R.id.menu_sort_on_time:
item.setChecked(true);
onMenuSort("time");
@@ -3589,14 +3598,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
onMenuSelectAll();
return true;
- case R.id.menu_empty_trash:
- onMenuEmpty(EntityFolder.TRASH);
- return true;
-
- case R.id.menu_empty_spam:
- onMenuEmpty(EntityFolder.JUNK);
- return true;
-
case R.id.menu_force_sync:
onMenuForceSync();
return true;
@@ -3631,6 +3632,25 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
fragmentTransaction.commit();
}
+ private void onMenuEmpty(String type) {
+ Bundle aargs = new Bundle();
+ if (EntityFolder.TRASH.equals(type))
+ aargs.putString("question", getString(
+ account < 0 ? R.string.title_empty_trash_all_ask : R.string.title_empty_trash_ask));
+ else if (EntityFolder.JUNK.equals(type))
+ aargs.putString("question", getString(
+ account < 0 ? R.string.title_empty_spam_all_ask : R.string.title_empty_spam_ask));
+ else
+ throw new IllegalArgumentException("Invalid folder type=" + type);
+ aargs.putLong("account", account);
+ aargs.putString("type", type);
+
+ FragmentDialogAsk ask = new FragmentDialogAsk();
+ ask.setArguments(aargs);
+ ask.setTargetFragment(this, FragmentMessages.REQUEST_EMPTY_FOLDER);
+ ask.show(getParentFragmentManager(), "messages:empty");
+ }
+
private void onMenuSort(String sort) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putString("sort", sort).apply();
@@ -3766,25 +3786,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
});
}
- private void onMenuEmpty(String type) {
- Bundle aargs = new Bundle();
- if (EntityFolder.TRASH.equals(type))
- aargs.putString("question", getString(
- account < 0 ? R.string.title_empty_trash_all_ask : R.string.title_empty_trash_ask));
- else if (EntityFolder.JUNK.equals(type))
- aargs.putString("question", getString(
- account < 0 ? R.string.title_empty_spam_all_ask : R.string.title_empty_spam_ask));
- else
- throw new IllegalArgumentException("Invalid folder type=" + type);
- aargs.putLong("account", account);
- aargs.putString("type", type);
-
- FragmentDialogAsk ask = new FragmentDialogAsk();
- ask.setArguments(aargs);
- ask.setTargetFragment(this, FragmentMessages.REQUEST_EMPTY_FOLDER);
- ask.show(getParentFragmentManager(), "messages:empty");
- }
-
private void onMenuForceSync() {
ServiceSynchronize.reload(getContext(), null, true, "force sync");
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
diff --git a/app/src/main/res/menu/menu_messages.xml b/app/src/main/res/menu/menu_messages.xml
index 04c7217edb..b5aedf5d79 100644
--- a/app/src/main/res/menu/menu_messages.xml
+++ b/app/src/main/res/menu/menu_messages.xml
@@ -14,6 +14,18 @@
android:title="@string/title_folder_primary"
app:showAsAction="always" />
+
+
+
+
-
-
-
-