From e12d467627b78ce70a01104df9b6bec1d5a9f288 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 24 Oct 2023 16:11:06 -0300 Subject: [PATCH] Add ordering strategy for netherlands donation gateways. --- .../donate/gateway/GatewayOrderStrategy.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewayOrderStrategy.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewayOrderStrategy.kt index bf97e9e4d4..09a4efc1d9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewayOrderStrategy.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewayOrderStrategy.kt @@ -7,6 +7,7 @@ package org.thoughtcrime.securesms.components.settings.app.subscription.donate.g import com.google.i18n.phonenumbers.PhoneNumberUtil import org.signal.core.util.orNull +import org.thoughtcrime.securesms.components.settings.app.subscription.InAppDonations import org.thoughtcrime.securesms.recipients.Recipient sealed interface GatewayOrderStrategy { @@ -24,7 +25,6 @@ sealed interface GatewayOrderStrategy { } private object NorthAmerica : GatewayOrderStrategy { - override val orderedGateways: Set = setOf( GatewayResponse.Gateway.GOOGLE_PAY, GatewayResponse.Gateway.PAYPAL, @@ -34,6 +34,16 @@ sealed interface GatewayOrderStrategy { ) } + private object Netherlands : GatewayOrderStrategy { + override val orderedGateways: Set = setOf( + GatewayResponse.Gateway.IDEAL, + GatewayResponse.Gateway.PAYPAL, + GatewayResponse.Gateway.GOOGLE_PAY, + GatewayResponse.Gateway.CREDIT_CARD, + GatewayResponse.Gateway.SEPA_DEBIT + ) + } + companion object { fun getStrategy(): GatewayOrderStrategy { val self = Recipient.self() @@ -41,6 +51,8 @@ sealed interface GatewayOrderStrategy { return if (PhoneNumberUtil.getInstance().parse(e164, "").countryCode == 1) { NorthAmerica + } else if (InAppDonations.isIDEALAvailable()) { + Netherlands } else { Default }