From 43e24dd907c9192a0ef59e5d848f24311c3b0450 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 3 Dec 2025 10:21:11 +0100 Subject: [PATCH] Optimized message spacing --- .../main/java/eu/faircode/email/FragmentMessages.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 40e72a6d18..26812e181b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -519,7 +519,7 @@ public class FragmentMessages extends FragmentBase threading = (prefs.getBoolean("threading", true) || args.getBoolean("force_threading")); swipenav = prefs.getBoolean("swipenav", true); - spacing = prefs.getInt("spacing", 0); + spacing = Helper.dp2pixels(getContext(), prefs.getInt("spacing", 0) * 12); seekbar = prefs.getBoolean("seekbar", false); move_thread_all = prefs.getBoolean("move_thread_all", false); move_thread_sent = (move_thread_all || prefs.getBoolean("move_thread_sent", false)); @@ -992,10 +992,16 @@ public class FragmentMessages extends FragmentBase tvFixedDate.setTypeface(Typeface.DEFAULT_BOLD); DividerItemDecoration spacingDecorator = new DividerItemDecoration(getContext(), llm.getOrientation()) { + @Override + public void onDraw(@NonNull Canvas canvas, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { + } + @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { + super.getItemOffsets(outRect, view, parent, state); int pos = parent.getChildAdapterPosition(view); - outRect.top = (pos == 0 ? 0 : Helper.dp2pixels(view.getContext(), spacing * 12)); + if (pos > 0) + outRect.top += spacing; } }; rvMessage.addItemDecoration(spacingDecorator);