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