diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index e56334b2af..2db901ae02 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -74,6 +74,7 @@ import android.text.style.QuoteSpan; import android.text.style.RelativeSizeSpan; import android.text.style.StyleSpan; import android.text.style.URLSpan; +import android.text.style.UnderlineSpan; import android.text.util.Linkify; import android.util.Pair; import android.util.TypedValue; @@ -296,6 +297,7 @@ public class AdapterMessage extends RecyclerView.Adapter callback = new DiffUtil.ItemCallback() { @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 2d609cd0ac..e9b51e1ef7 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -155,7 +155,8 @@ public class FragmentOptions extends FragmentBase { "swipe_reply", "language_detection", "quick_filter", "quick_scroll", - "experiments", "debug", "log_level", "test1", "test2", "test3", "test4", "test5", "webview_legacy", + "experiments", "debug", "log_level", "test1", "test2", "test3", "test4", "test5", + "webview_legacy", "browser_zoom", "show_recent", "biometrics", "default_light" }; diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index f4dd441be6..f6c754b367 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -159,6 +159,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private SwitchCompat swUndoManager; private SwitchCompat swWebViewLegacy; private SwitchCompat swBrowserZoom; + private SwitchCompat swShowRecent; private SwitchCompat swModSeq; private SwitchCompat swUid; private SwitchCompat swExpunge; @@ -213,7 +214,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc "test2", "test3", "test4", "test5", "work_manager", // "external_storage", "query_threads", "wal", "sqlite_checkpoints", "sqlite_analyze", "sqlite_cache", - "chunk_size", "thread_range", "undo_manager", "webview_legacy", "browser_zoom", + "chunk_size", "thread_range", "undo_manager", "webview_legacy", "browser_zoom", "show_recent", "use_modseq", "uid_command", "perform_expunge", "uid_expunge", "auth_plain", "auth_login", "auth_ntlm", "auth_sasl", "auth_apop", "keep_alive_poll", "empty_pool", "idle_done", "logarithmic_backoff", @@ -332,6 +333,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swUndoManager = view.findViewById(R.id.swUndoManager); swWebViewLegacy = view.findViewById(R.id.swWebViewLegacy); swBrowserZoom = view.findViewById(R.id.swBrowserZoom); + swShowRecent = view.findViewById(R.id.swShowRecent); swModSeq = view.findViewById(R.id.swModSeq); swUid = view.findViewById(R.id.swUid); swExpunge = view.findViewById(R.id.swExpunge); @@ -1061,6 +1063,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc } }); + swShowRecent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("show_recent", checked).apply(); + } + }); + swModSeq.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -1764,6 +1773,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swUndoManager.setChecked(prefs.getBoolean("undo_manager", false)); swWebViewLegacy.setChecked(prefs.getBoolean("webview_legacy", false)); swBrowserZoom.setChecked(prefs.getBoolean("browser_zoom", false)); + swShowRecent.setChecked(prefs.getBoolean("show_recent", false)); swModSeq.setChecked(prefs.getBoolean("use_modseq", true)); swUid.setChecked(prefs.getBoolean("uid_command", false)); swExpunge.setChecked(prefs.getBoolean("perform_expunge", true)); diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index 78f30aa19f..d3a252ffbb 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -1030,6 +1030,18 @@ app:layout_constraintTop_toBottomOf="@id/swWebViewLegacy" app:switchPadding="12dp" /> + + Use Android\'s undo manager Old WebView behavior Use browser zoom + Show recent flag MODSEQ UID command AUTO EXPUNGE