Update spam UX and reporting flows.

This commit is contained in:
Cody Henthorne
2024-02-09 15:25:31 -05:00
committed by Clark Chen
parent a4fde60c1c
commit aa76cefb1c
66 changed files with 1578 additions and 894 deletions

View File

@@ -94,7 +94,7 @@ class IncomingMessage(
}
@JvmStatic
fun groupUpdate(from: RecipientId, timestamp: Long, groupId: GroupId, groupContext: DecryptedGroupV2Context): IncomingMessage {
fun groupUpdate(from: RecipientId, timestamp: Long, groupId: GroupId, groupContext: DecryptedGroupV2Context, serverGuid: String?): IncomingMessage {
val messageGroupContext = MessageGroupContext(groupContext)
return IncomingMessage(
@@ -104,6 +104,7 @@ class IncomingMessage(
serverTimeMillis = timestamp,
groupId = groupId,
groupContext = messageGroupContext,
serverGuid = serverGuid,
body = messageGroupContext.encodedGroupContext,
type = MessageType.GROUP_UPDATE
)

View File

@@ -50,7 +50,9 @@ data class OutgoingMessage(
val isIdentityVerified: Boolean = false,
val isIdentityDefault: Boolean = false,
val scheduledDate: Long = -1,
val messageToEdit: Long = 0
val messageToEdit: Long = 0,
val isReportSpam: Boolean = false,
val isMessageRequestAccept: Boolean = false
) {
val isV2Group: Boolean = messageGroupContext != null && GroupV2UpdateMessageUtil.isGroupV2(messageGroupContext)
@@ -401,6 +403,30 @@ data class OutgoingMessage(
)
}
@JvmStatic
fun reportSpamMessage(threadRecipient: Recipient, sentTimeMillis: Long, expiresIn: Long): OutgoingMessage {
return OutgoingMessage(
threadRecipient = threadRecipient,
sentTimeMillis = sentTimeMillis,
expiresIn = expiresIn,
isReportSpam = true,
isUrgent = false,
isSecure = true
)
}
@JvmStatic
fun messageRequestAcceptMessage(threadRecipient: Recipient, sentTimeMillis: Long, expiresIn: Long): OutgoingMessage {
return OutgoingMessage(
threadRecipient = threadRecipient,
sentTimeMillis = sentTimeMillis,
expiresIn = expiresIn,
isMessageRequestAccept = true,
isUrgent = false,
isSecure = true
)
}
@JvmStatic
fun buildMessage(slideDeck: SlideDeck, message: String): String {
return if (message.isNotEmpty() && slideDeck.body.isNotEmpty()) {