From 5ea6222bcd8ba7f36fff3bb8335a9a73cc5367f4 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 7 Nov 2023 14:58:10 +0100 Subject: [PATCH] Accessibility: focus message after deleted messages --- .../main/java/eu/faircode/email/FragmentMessages.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 4c831edfc7..aea4e3e6dd 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1220,6 +1220,16 @@ public class FragmentMessages extends FragmentBase iProperties); if (viewType == AdapterMessage.ViewType.THREAD) adapter.setStateRestorationPolicy(RecyclerView.Adapter.StateRestorationPolicy.PREVENT); + adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { + @Override + public void onItemRangeRemoved(int positionStart, int itemCount) { + if (accessibility || BuildConfig.DEBUG) { + RecyclerView.ViewHolder vh = rvMessage.findViewHolderForAdapterPosition(positionStart); + if (vh != null) + vh.itemView.requestFocus(); + } + } + }); rvMessage.setAdapter(adapter); sbThread.setOnTouchListener(new View.OnTouchListener() {