diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt index 61732827f3..d5e28fb936 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt @@ -123,7 +123,7 @@ class MessageDetailActivity : PassphraseRequiredActionBarActivity() { AppTheme { MessageDetails( state = state, - onReply = { setResultAndFinish(ON_REPLY) }, + onReply = if (state.canReply) { { setResultAndFinish(ON_REPLY) } } else null, onResend = state.error?.let { { setResultAndFinish(ON_RESEND) } }, onDelete = { setResultAndFinish(ON_DELETE) }, onClickImage = { viewModel.onClickImage(it) }, @@ -145,7 +145,7 @@ class MessageDetailActivity : PassphraseRequiredActionBarActivity() { @Composable fun MessageDetails( state: MessageDetailsState, - onReply: () -> Unit = {}, + onReply: (() -> Unit)? = null, onResend: (() -> Unit)? = null, onDelete: () -> Unit = {}, onClickImage: (Int) -> Unit = {}, @@ -214,18 +214,20 @@ fun CellMetadata( @Composable fun CellButtons( - onReply: () -> Unit = {}, + onReply: (() -> Unit)? = null, onResend: (() -> Unit)? = null, onDelete: () -> Unit = {}, ) { Cell { Column { - ItemButton( - stringResource(R.string.reply), - R.drawable.ic_message_details__reply, - onClick = onReply - ) - Divider() + onReply?.let { + ItemButton( + stringResource(R.string.reply), + R.drawable.ic_message_details__reply, + onClick = it + ) + Divider() + } onResend?.let { ItemButton( stringResource(R.string.resend), diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailsViewModel.kt index 4ebc1f27b3..ba153a6b36 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailsViewModel.kt @@ -117,7 +117,7 @@ class MessageDetailsViewModel @Inject constructor( Attachment(slide.details, slide.fileName.orNull(), slide.uri, slide is ImageSlide) fun onClickImage(index: Int) { - val state = state.value ?: return + val state = state.value val mmsRecord = state.mmsRecord ?: return val slide = mmsRecord.slideDeck.slides[index] ?: return // only open to downloaded images @@ -158,6 +158,7 @@ data class MessageDetailsState( val thread: Recipient? = null, ) { val fromTitle = GetString(R.string.message_details_header__from) + val canReply = record?.isOpenGroupInvitation != true } data class Attachment(