From bf8ceed829cb795becbd4e2782e2059eceb07f96 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Fri, 1 Oct 2021 23:22:04 -0400 Subject: [PATCH] disable group editing actions for contact requests and groups where it doesn't makes sense (ex. self is not in group) --- src/org/thoughtcrime/securesms/ProfileActivity.java | 5 +++++ .../securesms/ProfileSettingsFragment.java | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ProfileActivity.java b/src/org/thoughtcrime/securesms/ProfileActivity.java index a984745b7..205af9ad9 100644 --- a/src/org/thoughtcrime/securesms/ProfileActivity.java +++ b/src/org/thoughtcrime/securesms/ProfileActivity.java @@ -138,6 +138,11 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity } else if (chatIsMultiUser) { if (chatIsBroadcast) { canReceive = false; + } else { + DcChat dcChat = dcContext.getChat(chatId); + if (!chatIsMailingList && !dcChat.canSend()) { + menu.findItem(R.id.edit_name).setVisible(false); + } } menu.findItem(R.id.copy_addr_to_clipboard).setVisible(false); } diff --git a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java index 26a3afeb4..aa1a92eb6 100644 --- a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java +++ b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java @@ -169,8 +169,11 @@ public class ProfileSettingsFragment extends Fragment public void onMemberLongClicked(int contactId) { if (contactId>DcContact.DC_CONTACT_ID_LAST_SPECIAL || contactId==DcContact.DC_CONTACT_ID_SELF) { if (actionMode==null) { - adapter.toggleMemberSelection(contactId); - actionMode = ((AppCompatActivity) getActivity()).startSupportActionMode(actionModeCallback); + DcChat dcChat = dcContext.getChat(chatId); + if (dcChat.canSend()) { + adapter.toggleMemberSelection(contactId); + actionMode = ((AppCompatActivity) getActivity()).startSupportActionMode(actionModeCallback); + } } else { onMemberClicked(contactId); } @@ -255,8 +258,7 @@ public class ProfileSettingsFragment extends Fragment @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { mode.getMenuInflater().inflate(R.menu.profile_context, menu); - DcChat dcChat = dcContext.getChat(chatId); - menu.findItem(R.id.delete).setVisible(!dcChat.isMailingList()); + menu.findItem(R.id.delete).setVisible(true); menu.findItem(R.id.details).setVisible(false); menu.findItem(R.id.show_in_chat).setVisible(false); menu.findItem(R.id.save).setVisible(false);