From cb416e6959a32ada79dfe17031a8d9bbb58c403d Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 4 Oct 2024 22:23:39 +0200 Subject: [PATCH] search: add menu allowing toggling is:unread --- .../securesms/components/SearchToolbar.java | 14 +++++++++++++- src/main/res/menu/conversation_list_search.xml | 6 +++++- src/main/res/values/strings.xml | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java b/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java index 4c8b76d70..adc5174f8 100644 --- a/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java +++ b/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java @@ -27,6 +27,7 @@ public class SearchToolbar extends LinearLayout { private static final String TAG = SearchToolbar.class.getSimpleName(); private float x, y; private MenuItem searchItem; + private EditText searchText; private SearchListener listener; public SearchToolbar(Context context) { @@ -63,7 +64,7 @@ public class SearchToolbar extends LinearLayout { this.searchItem = toolbar.getMenu().findItem(R.id.action_filter_search); SearchView searchView = (SearchView) searchItem.getActionView(); - EditText searchText = searchView.findViewById(androidx.appcompat.R.id.search_src_text); + searchText = searchView.findViewById(androidx.appcompat.R.id.search_src_text); searchView.setImeOptions(EditorInfo.IME_ACTION_DONE); searchView.setSubmitButtonEnabled(false); @@ -107,6 +108,17 @@ public class SearchToolbar extends LinearLayout { } }); + MenuItem searchUnread = toolbar.getMenu().findItem(R.id.search_unread); + searchUnread.setOnMenuItemClickListener(item -> { + String t = searchText.getText().toString(); + if (!t.contains("is:unread")) { + t += (t.isEmpty() ? "" : " ") + "is:unread "; + } + searchText.setText(t); + searchText.setSelection(t.length(), t.length()); + return true; + }); + toolbar.setNavigationOnClickListener(v -> hide()); } diff --git a/src/main/res/menu/conversation_list_search.xml b/src/main/res/menu/conversation_list_search.xml index 8eadb1c17..436db4386 100644 --- a/src/main/res/menu/conversation_list_search.xml +++ b/src/main/res/menu/conversation_list_search.xml @@ -8,4 +8,8 @@ app:actionViewClass="androidx.appcompat.widget.SearchView" app:showAsAction="collapseActionView|always" /> - \ No newline at end of file + + + diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index e7af8b4e5..da4b4bfbb 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -466,6 +466,7 @@ Search Files Search for chats, contacts, and messages No results found for \"%s\" + Unread