Payment notifications.

This commit is contained in:
Matthew Chen 2021-11-24 17:06:05 -03:00
parent 32780449b8
commit ef71e0e9a2
4 changed files with 20 additions and 9 deletions

View File

@ -1985,11 +1985,6 @@ NS_ASSUME_NONNULL_BEGIN
serverGuid = nil;
}
[self updateDisappearingMessageConfigurationWithEnvelope:envelope
dataMessage:dataMessage
thread:thread
transaction:transaction];
TSQuotedMessage *_Nullable quotedMessage = [TSQuotedMessage quotedMessageForDataMessage:dataMessage
thread:thread
transaction:transaction];
@ -2044,6 +2039,11 @@ NS_ASSUME_NONNULL_BEGIN
OWSFailDebug(@"Unexpected payment model.");
}
[self updateDisappearingMessageConfigurationWithEnvelope:envelope
dataMessage:dataMessage
thread:thread
transaction:transaction];
// Legit usage of senderTimestamp when creating an incoming group message record
//
// The builder() factory method requires us to specify every

View File

@ -21,7 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithThread:(TSThread *)thread
paymentCancellation:(nullable TSPaymentCancellation *)paymentCancellation
paymentNotification:(nullable TSPaymentNotification *)paymentNotification
paymentRequest:(nullable TSPaymentRequest *)paymentRequest;
paymentRequest:(nullable TSPaymentRequest *)paymentRequest
expiresInSeconds:(uint32_t)expiresInSeconds;
// --- CODE GENERATION MARKER

View File

@ -20,10 +20,12 @@ NS_ASSUME_NONNULL_BEGIN
paymentCancellation:(nullable TSPaymentCancellation *)paymentCancellation
paymentNotification:(nullable TSPaymentNotification *)paymentNotification
paymentRequest:(nullable TSPaymentRequest *)paymentRequest
expiresInSeconds:(uint32_t)expiresInSeconds
{
OWSAssertDebug(paymentCancellation != nil || paymentNotification != nil || paymentRequest != nil);
TSOutgoingMessageBuilder *messageBuilder = [TSOutgoingMessageBuilder outgoingMessageBuilderWithThread:thread];
messageBuilder.expiresInSeconds = expiresInSeconds;
self = [super initOutgoingMessageWithBuilder:messageBuilder];
if (!self) {
return self;
@ -160,6 +162,8 @@ NS_ASSUME_NONNULL_BEGIN
}
}
[builder setExpireTimer:self.expiresInSeconds];
[builder setRequiredProtocolVersion:(uint32_t)SSKProtoDataMessageProtocolVersionPayments];
return builder;
}

View File

@ -1046,10 +1046,12 @@ public extension PaymentsImpl {
let paymentRequest = TSPaymentRequest(requestUuidString: requestUuidString,
paymentAmount: paymentAmount,
memoMessage: memoMessage)
let expiresInSeconds = thread.disappearingMessagesDuration(with: transaction)
let message = OWSOutgoingPaymentMessage(thread: thread,
paymentCancellation: nil,
paymentNotification: nil,
paymentRequest: paymentRequest)
paymentRequest: paymentRequest,
expiresInSeconds: expiresInSeconds)
Self.messageSenderJobQueue.add(message: message.asPreparer, transaction: transaction)
return message
}
@ -1078,10 +1080,12 @@ public extension PaymentsImpl {
let paymentNotification = TSPaymentNotification(memoMessage: memoMessage,
requestUuidString: requestUuidString,
mcReceiptData: mcReceiptData)
let expiresInSeconds = thread.disappearingMessagesDuration(with: transaction)
let message = OWSOutgoingPaymentMessage(thread: thread,
paymentCancellation: nil,
paymentNotification: paymentNotification,
paymentRequest: nil)
paymentRequest: nil,
expiresInSeconds: expiresInSeconds)
Self.messageSenderJobQueue.add(message: message.asPreparer, transaction: transaction)
return message
@ -1102,10 +1106,12 @@ public extension PaymentsImpl {
let thread = TSContactThread.getOrCreateThread(withContactAddress: address,
transaction: transaction)
let paymentCancellation = TSPaymentCancellation(requestUuidString: requestUuidString)
let expiresInSeconds = thread.disappearingMessagesDuration(with: transaction)
let message = OWSOutgoingPaymentMessage(thread: thread,
paymentCancellation: paymentCancellation,
paymentNotification: nil,
paymentRequest: nil)
paymentRequest: nil,
expiresInSeconds: expiresInSeconds)
Self.messageSenderJobQueue.add(message: message.asPreparer, transaction: transaction)
return message