From 5faa497821b84b297704096c029ed4bb0060faad Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 24 Mar 2022 17:13:56 -0300 Subject: [PATCH] Get receipt credential presentation BEFORE recording receipt so that the retry does not add another receipt. --- .../securesms/jobs/SubscriptionReceiptRequestResponseJob.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java index 47631571cf..60c221f17b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java @@ -170,10 +170,11 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { throw new IOException("Could not validate receipt credential"); } + ReceiptCredentialPresentation receiptCredentialPresentation = getReceiptCredentialPresentation(receiptCredential); + Log.d(TAG, "Validated credential. Recording receipt and handing off to redemption job.", true); SignalDatabase.donationReceipts().addReceipt(DonationReceiptRecord.createForSubscription(subscription)); - ReceiptCredentialPresentation receiptCredentialPresentation = getReceiptCredentialPresentation(receiptCredential); setOutputData(new Data.Builder().putBlobAsString(DonationReceiptRedemptionJob.INPUT_RECEIPT_CREDENTIAL_PRESENTATION, receiptCredentialPresentation.serialize()) .build());