Add bank transfer fix for pill size and state readout.

This commit is contained in:
Alex Hart
2026-06-03 10:52:39 -03:00
parent b732cbe00b
commit 1f0c24a5d5
2 changed files with 14 additions and 3 deletions
@@ -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
+1 -1
View File
@@ -245,7 +245,7 @@
<dimen name="chat_folder_row_height">64dp</dimen>
<dimen name="donation_pill_max_width">150dp</dimen>
<dimen name="donation_pill_max_width">180dp</dimen>
<dimen name="call_screen_overflow_item_size">72dp</dimen>