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