diff --git a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java index c747f960d..4ae6de962 100644 --- a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java @@ -184,6 +184,18 @@ public abstract class BaseConversationListFragment extends Fragment implements A } } + private void handleMarknoticedSelected() { + final DcContext dcContext = DcHelper.getContext(requireActivity()); + final Set selectedConversations = new HashSet(getListAdapter().getBatchSelections()); + for (long chatId : selectedConversations) { + dcContext.marknoticedChat((int)chatId); + } + if (actionMode != null) { + actionMode.finish(); + actionMode = null; + } + } + @SuppressLint("StaticFieldLeak") private void handleArchiveAllSelected() { final DcContext dcContext = DcHelper.getContext(requireActivity()); @@ -353,6 +365,7 @@ public abstract class BaseConversationListFragment extends Fragment implements A case R.id.menu_pin_selected: handlePinAllSelected(); return true; case R.id.menu_archive_selected: handleArchiveAllSelected(); return true; case R.id.menu_mute_selected: handleMuteAllSelected(); return true; + case R.id.menu_marknoticed_selected: handleMarknoticedSelected(); return true; } return false; diff --git a/src/main/res/menu/conversation_list.xml b/src/main/res/menu/conversation_list.xml index ab59c878a..a4820ecdf 100644 --- a/src/main/res/menu/conversation_list.xml +++ b/src/main/res/menu/conversation_list.xml @@ -21,6 +21,10 @@ android:id="@+id/menu_mute_selected" app:showAsAction="never"/> + +