diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 6aca58976c..58c47ba07b 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -358,14 +358,16 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } }); - db.folder().liveUnifiedTypes().observe(this, new Observer>() { - @Override - public void onChanged(List types) { - if (types == null) - types = new ArrayList<>(); - uadapter.set(types); - } - }); + boolean unified_system = prefs.getBoolean("unified_system", false); + if (unified_system) + db.folder().liveUnifiedTypes().observe(this, new Observer>() { + @Override + public void onChanged(List types) { + if (types == null) + types = new ArrayList<>(); + uadapter.set(types); + } + }); db.folder().liveNavigation().observe(this, new Observer>() { @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 72c29d841e..43ad3c5dbe 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -39,7 +39,7 @@ public class FragmentOptions extends FragmentBase { static String[] OPTIONS_RESTART = new String[]{ "startup", "date", "threading", "avatars", "identicons", "circular", "name_email", "subject_italic", "flags", "preview", - "addresses", "attachments_alt", "contrast", "monospaced", "autohtml", "autoimages", "actionbar", + "addresses", "attachments_alt", "contrast", "monospaced", "autohtml", "autoimages", "actionbar", "unified_system", "autoscroll", "swipenav", "autoexpand", "autoclose", "autonext", "subscriptions", "debug", "biometrics" diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index 7551fd05aa..1ed4555585 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -63,11 +63,12 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer private SwitchCompat swCollapseQuotes; private SwitchCompat swRemoteContent; private SwitchCompat swActionbar; + private SwitchCompat swUnifiedSystem; private final static String[] RESET_OPTIONS = new String[]{ "theme", "startup", "date", "threading", "avatars", "identicons", "circular", "name_email", "subject_italic", "flags", "preview", "addresses", "attachments_alt", - "contrast", "monospaced", "inline_images", "autoimages", "collapse_quotes", "autocontent", "actionbar", + "contrast", "monospaced", "inline_images", "autoimages", "collapse_quotes", "autocontent", "actionbar", "unified_system" }; @Override @@ -100,6 +101,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer swCollapseQuotes = view.findViewById(R.id.swCollapseQuotes); swRemoteContent = view.findViewById(R.id.swRemoteContent); swActionbar = view.findViewById(R.id.swActionbar); + swUnifiedSystem = view.findViewById(R.id.swUnifiedSystem); setOptions(); @@ -256,6 +258,13 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer } }); + swUnifiedSystem.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("unified_system", checked).apply(); + } + }); + PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); return view; @@ -329,6 +338,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer swCollapseQuotes.setChecked(prefs.getBoolean("collapse_quotes", false)); swRemoteContent.setChecked(prefs.getBoolean("autocontent", false)); swActionbar.setChecked(prefs.getBoolean("actionbar", true)); + swUnifiedSystem.setChecked(prefs.getBoolean("unified_system", false)); } public static class FragmentDialogTheme extends DialogFragmentEx { diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml index 3dfce9a0a5..d0e2015158 100644 --- a/app/src/main/res/layout/fragment_options_display.xml +++ b/app/src/main/res/layout/fragment_options_display.xml @@ -339,6 +339,18 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvRemoteContentHint" app:switchPadding="12dp" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c284dff9e8..042caf758e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -224,6 +224,7 @@ Collapse quoted text Automatically show remote content when viewing original messages Conversation action bar + Show unified folders in navigation menu Pull down to refresh Scroll to top on receiving new messages