From 1f0c24a5d52c95c83b00dff74b6402d36b206d2b Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 3 Jun 2026 10:52:39 -0300 Subject: [PATCH] Add bank transfer fix for pill size and state readout. --- .../manage/ManageDonationsViewModel.kt | 15 +++++++++++++-- app/src/main/res/values/dimens.xml | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt index e31346a0ba..6ea30f2923 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt @@ -162,11 +162,18 @@ class ManageDonationsViewModel : ViewModel() { private fun deriveRedemptionState(status: DonationRedemptionJobStatus, latestPayment: InAppPaymentTable.InAppPayment?): ManageDonationsState.RedemptionState { return when (status) { DonationRedemptionJobStatus.None -> ManageDonationsState.RedemptionState.NONE - DonationRedemptionJobStatus.PendingKeepAlive -> ManageDonationsState.RedemptionState.SUBSCRIPTION_REFRESH DonationRedemptionJobStatus.FailedSubscription -> ManageDonationsState.RedemptionState.FAILED + DonationRedemptionJobStatus.PendingKeepAlive -> { + if (latestPayment.isPendingBankTransfer()) { + ManageDonationsState.RedemptionState.IS_PENDING_BANK_TRANSFER + } else { + ManageDonationsState.RedemptionState.SUBSCRIPTION_REFRESH + } + } + is DonationRedemptionJobStatus.PendingExternalVerification -> { - if (latestPayment != null && (latestPayment.data.paymentMethodType == InAppPaymentData.PaymentMethodType.SEPA_DEBIT || latestPayment.data.paymentMethodType == InAppPaymentData.PaymentMethodType.IDEAL)) { + if (latestPayment.isPendingBankTransfer()) { ManageDonationsState.RedemptionState.IS_PENDING_BANK_TRANSFER } else { ManageDonationsState.RedemptionState.IN_PROGRESS @@ -178,6 +185,10 @@ class ManageDonationsViewModel : ViewModel() { } } + private fun InAppPaymentTable.InAppPayment?.isPendingBankTransfer(): Boolean { + return this != null && (data.paymentMethodType == InAppPaymentData.PaymentMethodType.SEPA_DEBIT || data.paymentMethodType == InAppPaymentData.PaymentMethodType.IDEAL) + } + private fun InAppPaymentTable.InAppPayment.toPendingOneTimeDonation(): PendingOneTimeDonation? { if (type.recurring || data.amount == null || data.badge == null) { return null diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 960c3ddca0..d43869817c 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -245,7 +245,7 @@ 64dp - 150dp + 180dp 72dp