mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
Add in-chat payment messages.
This commit is contained in:
committed by
Greyson Parrelli
parent
28193c2f61
commit
1dc29fda12
@@ -12,8 +12,10 @@ import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.whispersystems.signalservice.api.messages.SignalServiceAttachment
|
||||
import org.whispersystems.signalservice.api.messages.SignalServiceContent
|
||||
import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2
|
||||
import java.util.Optional
|
||||
import java.util.UUID
|
||||
|
||||
class IncomingMediaMessage(
|
||||
val from: RecipientId?,
|
||||
@@ -39,6 +41,7 @@ class IncomingMediaMessage(
|
||||
linkPreviews: List<LinkPreview> = emptyList(),
|
||||
mentions: List<Mention> = emptyList(),
|
||||
val giftBadge: GiftBadge? = null,
|
||||
val isPaymentsNotification: Boolean = false,
|
||||
val isActivatePaymentsRequest: Boolean = false,
|
||||
val isPaymentsActivated: Boolean = false
|
||||
) {
|
||||
@@ -138,4 +141,28 @@ class IncomingMediaMessage(
|
||||
isActivatePaymentsRequest = activatePaymentsRequest,
|
||||
isPaymentsActivated = paymentsActivated
|
||||
)
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun createIncomingPaymentNotification(
|
||||
from: RecipientId,
|
||||
content: SignalServiceContent,
|
||||
receivedTime: Long,
|
||||
expiresIn: Long,
|
||||
paymentUuid: UUID
|
||||
): IncomingMediaMessage {
|
||||
return IncomingMediaMessage(
|
||||
from = from,
|
||||
body = paymentUuid.toString(),
|
||||
sentTimeMillis = content.timestamp,
|
||||
serverTimeMillis = content.serverReceivedTimestamp,
|
||||
receivedTimeMillis = receivedTime,
|
||||
expiresIn = expiresIn,
|
||||
isUnidentified = content.isNeedsReceipt,
|
||||
serverGuid = content.serverUuid,
|
||||
isPushMessage = true,
|
||||
isPaymentsNotification = true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,6 +193,10 @@ public class OutgoingMediaMessage {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isPaymentsNotification() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isRequestToActivatePayments() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -23,12 +23,14 @@ class OutgoingRequestToActivatePaymentMessages(
|
||||
StoryType.NONE,
|
||||
null,
|
||||
false,
|
||||
null, emptyList(), emptyList(), emptyList(),
|
||||
null,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
null
|
||||
) {
|
||||
override fun isRequestToActivatePayments(): Boolean {
|
||||
return true
|
||||
}
|
||||
override fun isRequestToActivatePayments(): Boolean = true
|
||||
override fun isUrgent(): Boolean = false
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,10 +52,37 @@ class OutgoingPaymentsActivatedMessages(
|
||||
StoryType.NONE,
|
||||
null,
|
||||
false,
|
||||
null, emptyList(), emptyList(), emptyList(),
|
||||
null,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
null
|
||||
) {
|
||||
override fun isPaymentsActivated(): Boolean {
|
||||
return true
|
||||
}
|
||||
override fun isPaymentsActivated(): Boolean = true
|
||||
override fun isUrgent(): Boolean = false
|
||||
}
|
||||
|
||||
class OutgoingPaymentsNotificationMessage(
|
||||
recipient: Recipient,
|
||||
paymentUuid: String,
|
||||
sentTimeMillis: Long,
|
||||
expiresIn: Long
|
||||
) : OutgoingSecureMediaMessage(
|
||||
recipient,
|
||||
paymentUuid,
|
||||
LinkedList(),
|
||||
sentTimeMillis,
|
||||
ThreadDatabase.DistributionTypes.CONVERSATION,
|
||||
expiresIn,
|
||||
false,
|
||||
StoryType.NONE,
|
||||
null,
|
||||
false,
|
||||
null,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
null
|
||||
) {
|
||||
override fun isPaymentsNotification(): Boolean = true
|
||||
}
|
||||
Reference in New Issue
Block a user