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() }