From 93815a0504b39f6a8ebdca21f03cfc6707d3a55d Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 23 Sep 2025 11:39:16 -0300 Subject: [PATCH] Add checks to skip check job if we have a pending or pre-pending transaction. --- .../securesms/jobs/BackupSubscriptionCheckJob.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJob.kt index 9a29e78aa7..bcc3b562f6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJob.kt @@ -103,6 +103,18 @@ class BackupSubscriptionCheckJob private constructor(parameters: Parameters) : C return Result.success() } + if (SignalDatabase.inAppPayments.hasPrePendingRecurringTransaction(InAppPaymentType.RECURRING_BACKUP)) { + Log.i(TAG, "A backup redemption is in the pre-pending state. Clearing mismatch and skipping check job.", true) + SignalStore.backup.subscriptionStateMismatchDetected = false + return Result.success() + } + + if (SignalDatabase.inAppPayments.hasPendingBackupRedemption()) { + Log.i(TAG, "A backup redemption is pending. Clearing mismatch and skipping check job.", true) + SignalStore.backup.subscriptionStateMismatchDetected = false + return Result.success() + } + val purchase: BillingPurchaseResult = AppDependencies.billingApi.queryPurchases() Log.i(TAG, "Retrieved purchase result from Billing api: $purchase", true)