Disallow reacting to pending or failed messages.

This commit is contained in:
Alex Hart
2023-06-27 11:53:45 -03:00
committed by Nicholas
parent 029c8ba917
commit 2ee2d2883a
3 changed files with 10 additions and 6 deletions

View File

@@ -1570,9 +1570,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
return;
}
if (messageRecord.isSecure() &&
!messageRecord.isRemoteDelete() &&
!messageRecord.isUpdate() &&
if (MessageRecordUtil.isValidReactionTarget(messageRecord) &&
!recipient.get().isBlocked() &&
!messageRequestViewModel.shouldShowMessageRequest() &&
(!recipient.get().isGroup() || recipient.get().isActiveGroup()) &&

View File

@@ -275,6 +275,7 @@ import org.thoughtcrime.securesms.util.fragments.requireListener
import org.thoughtcrime.securesms.util.getRecordQuoteType
import org.thoughtcrime.securesms.util.hasAudio
import org.thoughtcrime.securesms.util.hasGiftBadge
import org.thoughtcrime.securesms.util.isValidReactionTarget
import org.thoughtcrime.securesms.util.viewModel
import org.thoughtcrime.securesms.util.views.Stub
import org.thoughtcrime.securesms.util.visible
@@ -2122,9 +2123,7 @@ class ConversationFragment :
return
}
if (messageRecord.isSecure &&
!messageRecord.isRemoteDelete &&
!messageRecord.isUpdate &&
if (messageRecord.isValidReactionTarget() &&
!recipient.isBlocked &&
!viewModel.hasMessageRequestState &&
(!recipient.isGroup || recipient.isActiveGroup) &&

View File

@@ -155,3 +155,10 @@ fun MessageRecord.getRecordQuoteType(): QuoteModel.Type {
fun MessageRecord.isEditMessage(): Boolean {
return this is MediaMmsMessageRecord && isEditMessage
}
/**
* Returns whether or not the given message record can be reacted to.
*/
fun MessageRecord.isValidReactionTarget(): Boolean {
return isSecure && !isPending && !isFailed && !isRemoteDelete && !isUpdate
}