diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 41b50c22e6..461658d737 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -493,7 +493,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc Log.i("Preference " + key + "=" + prefs.getAll().get(key)); if ("theme".equals(key)) { finish(); - if (this.getClass().equals(ActivitySetup.class)) + if (this.getClass().equals(ActivitySetup.class) || this.getClass().equals(ActivityView.class)) startActivity(getIntent()); } else if (!this.getClass().equals(ActivitySetup.class) && !visible && Arrays.asList(FragmentOptions.OPTIONS_RESTART).contains(key)) diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index 0f136fc2f5..ac1897795b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -298,6 +298,7 @@ public class FragmentAccounts extends FragmentBase { public void onPrepareOptionsMenu(Menu menu) { menu.findItem(R.id.menu_search).setVisible(!settings); menu.findItem(R.id.menu_unified).setVisible(!settings); + menu.findItem(R.id.menu_theme).setVisible(!settings); super.onPrepareOptionsMenu(menu); } @@ -311,6 +312,9 @@ public class FragmentAccounts extends FragmentBase { case R.id.menu_unified: onMenuUnified(); return true; + case R.id.menu_theme: + onMenuTheme(); + return true; case R.id.menu_force_sync: onMenuForceSync(); return true; @@ -336,6 +340,10 @@ public class FragmentAccounts extends FragmentBase { fragmentTransaction.commit(); } + private void onMenuTheme() { + new FragmentDialogTheme().show(getParentFragmentManager(), "messages:theme"); + } + 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 2f3b35d61b..b89e2c573e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -459,6 +459,7 @@ public class FragmentFolders extends FragmentBase { boolean subscribed_only = prefs.getBoolean("subscribed_only", false); menu.findItem(R.id.menu_unified).setVisible(account < 0 || primary); + menu.findItem(R.id.menu_theme).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); @@ -478,6 +479,9 @@ public class FragmentFolders extends FragmentBase { case R.id.menu_unified: onMenuUnified(); return true; + case R.id.menu_theme: + onMenuTheme(); + return true; case R.id.menu_compact: onMenuCompact(); return true; @@ -519,6 +523,10 @@ public class FragmentFolders extends FragmentBase { fragmentTransaction.commit(); } + private void onMenuTheme() { + new FragmentDialogTheme().show(getParentFragmentManager(), "messages:theme"); + } + private void onMenuCompact() { compact = !compact; diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 52c3f65023..b6c564235a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -4172,6 +4172,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. onMenuCompact(); return true; + case R.id.menu_theme: + onMenuTheme(); + return true; + case R.id.menu_select_language: onMenuSelectLanguage(); return true; @@ -4303,6 +4307,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. getActivity().invalidateOptionsMenu(); } + private void onMenuTheme() { + new FragmentDialogTheme().show(getParentFragmentManager(), "messages:theme"); + } + private void clearMeasurements() { sizes.clear(); heights.clear(); diff --git a/app/src/main/res/menu/menu_accounts.xml b/app/src/main/res/menu/menu_accounts.xml index 808f09c040..c136763df9 100644 --- a/app/src/main/res/menu/menu_accounts.xml +++ b/app/src/main/res/menu/menu_accounts.xml @@ -14,6 +14,11 @@ android:title="@string/title_folders_unified" app:showAsAction="always" /> + + + + + +