diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt index eaf9e6898a..2dc72003da 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt @@ -420,7 +420,7 @@ class ConversationSettingsFragment : DSLSettingsFragment( enabled = it.canEditGroupAttributes && !state.recipient.isBlocked } - if (!state.recipient.isReleaseNotes) { + if (!state.recipient.isReleaseNotes && !state.recipient.isBlocked) { clickPref( title = DSLSettingsText.from(R.string.ConversationSettingsFragment__disappearing_messages), summary = summary, @@ -557,15 +557,17 @@ class ConversationSettingsFragment : DSLSettingsFragment( ) ) - customPref( - LargeIconClickPreference.Model( - title = DSLSettingsText.from(R.string.ConversationSettingsFragment__add_to_a_group), - icon = DSLSettingsIcon.from(R.drawable.add_to_a_group, NO_TINT), - onClick = { - viewModel.onAddToGroup() - } + if (!state.recipient.isBlocked) { + customPref( + LargeIconClickPreference.Model( + title = DSLSettingsText.from(R.string.ConversationSettingsFragment__add_to_a_group), + icon = DSLSettingsIcon.from(R.drawable.add_to_a_group, NO_TINT), + onClick = { + viewModel.onAddToGroup() + } + ) ) - ) + } for (group in recipientSettingsState.groupsInCommon) { customPref( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt index 9559eb13d5..39785bc3a1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt @@ -152,7 +152,7 @@ sealed class ConversationSettingsViewModel( canModifyBlockedState = !recipient.isSelf && RecipientUtil.isBlockable(recipient), specificSettingsState = state.requireRecipientSettingsState().copy( contactLinkState = when { - recipient.isSelf || recipient.isReleaseNotes -> ContactLinkState.NONE + recipient.isSelf || recipient.isReleaseNotes || recipient.isBlocked -> ContactLinkState.NONE recipient.isSystemContact -> ContactLinkState.OPEN else -> ContactLinkState.ADD } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index de08b9a0b2..f7442e5c6e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -1002,6 +1002,10 @@ public class ConversationParentFragment extends Fragment inflater.inflate(R.menu.conversation, menu); + if (isInMessageRequest() && !recipient.get().isBlocked()) { + hideMenuItem(menu, R.id.menu_conversation_settings); + } + if (isSingleConversation() && !isSecureText && !recipient.get().isReleaseNotes()) { inflater.inflate(R.menu.conversation_insecure, menu); } @@ -1309,7 +1313,7 @@ public class ConversationParentFragment extends Fragment return; } - if (isInMessageRequest()) return; + if (isInMessageRequest() && !recipient.get().isBlocked()) return; Intent intent = ConversationSettingsActivity.forRecipient(requireContext(), recipient.getId()); Bundle bundle = ConversationSettingsActivity.createTransitionBundle(requireActivity(), titleView.findViewById(R.id.contact_photo_image), toolbar);