From 585c8cd86310746a4918563268bc74af12766b7c Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 29 Jul 2024 12:20:13 -0300 Subject: [PATCH] Fix donation action routing. --- .../app/subscription/donate/DonateToSignalAction.kt | 2 +- .../subscription/donate/DonateToSignalFragment.kt | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalAction.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalAction.kt index c9f56cdebb..9fd4e83dca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalAction.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalAction.kt @@ -6,6 +6,6 @@ import org.thoughtcrime.securesms.database.InAppPaymentTable sealed class DonateToSignalAction { data class DisplayCurrencySelectionDialog(val inAppPaymentType: InAppPaymentType, val supportedCurrencies: List) : DonateToSignalAction() data class DisplayGatewaySelectorDialog(val inAppPayment: InAppPaymentTable.InAppPayment) : DonateToSignalAction() - object CancelSubscription : DonateToSignalAction() + data object CancelSubscription : DonateToSignalAction() data class UpdateSubscription(val inAppPayment: InAppPaymentTable.InAppPayment, val isLongRunning: Boolean) : DonateToSignalAction() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt index 4045686aee..765dc250f8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt @@ -171,26 +171,32 @@ class DonateToSignalFragment : } is DonateToSignalAction.CancelSubscription -> { - DonateToSignalFragmentDirections.actionDonateToSignalFragmentToStripePaymentInProgressFragment( + val navAction = DonateToSignalFragmentDirections.actionDonateToSignalFragmentToStripePaymentInProgressFragment( InAppPaymentProcessorAction.CANCEL_SUBSCRIPTION, null, InAppPaymentType.RECURRING_DONATION ) + + findNavController().safeNavigate(navAction) } is DonateToSignalAction.UpdateSubscription -> { if (action.inAppPayment.data.paymentMethodType == InAppPaymentData.PaymentMethodType.PAYPAL) { - DonateToSignalFragmentDirections.actionDonateToSignalFragmentToPaypalPaymentInProgressFragment( + val navAction = DonateToSignalFragmentDirections.actionDonateToSignalFragmentToPaypalPaymentInProgressFragment( InAppPaymentProcessorAction.UPDATE_SUBSCRIPTION, action.inAppPayment, action.inAppPayment.type ) + + findNavController().safeNavigate(navAction) } else { - DonateToSignalFragmentDirections.actionDonateToSignalFragmentToStripePaymentInProgressFragment( + val navAction = DonateToSignalFragmentDirections.actionDonateToSignalFragmentToStripePaymentInProgressFragment( InAppPaymentProcessorAction.UPDATE_SUBSCRIPTION, action.inAppPayment, action.inAppPayment.type ) + + findNavController().safeNavigate(navAction) } } } @@ -507,6 +513,7 @@ class DonateToSignalFragment : } override fun onSubscriptionCancelled(inAppPaymentType: InAppPaymentType) { + viewModel.refreshActiveSubscription() Snackbar.make(requireView(), R.string.SubscribeFragment__your_subscription_has_been_cancelled, Snackbar.LENGTH_LONG).show() }