diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index c0d80c71c7..22f695acdd 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -297,6 +297,7 @@ public class FragmentAccounts extends FragmentBase { @Override public void onPrepareOptionsMenu(Menu menu) { menu.findItem(R.id.menu_search).setVisible(!settings); + menu.findItem(R.id.menu_unified).setVisible(!settings); super.onPrepareOptionsMenu(menu); } @@ -307,6 +308,9 @@ public class FragmentAccounts extends FragmentBase { case R.id.menu_search: onMenuSearch(); return true; + case R.id.menu_unified: + onMenuUnified(); + return true; case R.id.menu_force_sync: onMenuForceSync(); return true; @@ -323,6 +327,15 @@ public class FragmentAccounts extends FragmentBase { fragment.show(getParentFragmentManager(), "search"); } + private void onMenuUnified() { + FragmentMessages fragment = new FragmentMessages(); + fragment.setArguments(new Bundle()); + + FragmentTransaction fragmentTransaction = getParentFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("messages"); + fragmentTransaction.commit(); + } + 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/java/eu/faircode/email/FragmentFolders.java b/app/src/main/java/eu/faircode/email/FragmentFolders.java index 5f6b2b85f7..86e170ea9d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -451,6 +451,7 @@ public class FragmentFolders extends FragmentBase { boolean subscriptions = prefs.getBoolean("subscriptions", false); boolean subscribed_only = prefs.getBoolean("subscribed_only", false); + menu.findItem(R.id.menu_unified).setVisible(account < 0 && !primary); menu.findItem(R.id.menu_compact).setChecked(compact); menu.findItem(R.id.menu_show_hidden).setChecked(show_hidden); menu.findItem(R.id.menu_show_flagged).setChecked(show_flagged); @@ -467,6 +468,9 @@ public class FragmentFolders extends FragmentBase { case R.id.menu_search: onMenuSearch(); return true; + case R.id.menu_unified: + onMenuUnified(); + return true; case R.id.menu_compact: onMenuCompact(); return true; @@ -499,6 +503,15 @@ public class FragmentFolders extends FragmentBase { fragment.show(getParentFragmentManager(), "search"); } + private void onMenuUnified() { + FragmentMessages fragment = new FragmentMessages(); + fragment.setArguments(new Bundle()); + + FragmentTransaction fragmentTransaction = getParentFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("messages"); + fragmentTransaction.commit(); + } + private void onMenuCompact() { compact = !compact; diff --git a/app/src/main/res/menu/menu_accounts.xml b/app/src/main/res/menu/menu_accounts.xml index 71e67c1520..808f09c040 100644 --- a/app/src/main/res/menu/menu_accounts.xml +++ b/app/src/main/res/menu/menu_accounts.xml @@ -8,6 +8,12 @@ android:title="@string/title_search" app:showAsAction="always" /> + + + +