From 703387008a977f0224d85e1093422961b5ba87c8 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 12:47:30 +0300 Subject: [PATCH 01/14] Rearrange strings --- sdk/src/main/res/values-ar/strings.xml | 6 +++--- sdk/src/main/res/values-fr/strings.xml | 6 +++--- sdk/src/main/res/values-pl/strings.xml | 6 +++--- sdk/src/main/res/values-pt/strings.xml | 6 +++--- sdk/src/main/res/values/strings.xml | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/sdk/src/main/res/values-ar/strings.xml b/sdk/src/main/res/values-ar/strings.xml index e75130d11..034e279b5 100644 --- a/sdk/src/main/res/values-ar/strings.xml +++ b/sdk/src/main/res/values-ar/strings.xml @@ -72,12 +72,12 @@ سطر العنوان %d احفظ تفاصيل هذه البطاقة لاستخدامها في المستقبل إنَّ معلومات البطاقة غير صالحة - إنّ تاريخ صلاحية البطاقة غير صالح إنّ رقم البطاقة غير صالح - اسم حامل البطاقة غير صالح + إنّ تاريخ صلاحية البطاقة غير صالح رقم كود التحقق CVV غير صالح - حدث خطأ ما، يرجى المحاولة مرة أخرى تاريخ انتهاء صلاحية البطاقة و/أو كود التحقق CVV غير صالح + اسم حامل البطاقة غير صالح + حدث خطأ ما، يرجى المحاولة مرة أخرى المنطقة diff --git a/sdk/src/main/res/values-fr/strings.xml b/sdk/src/main/res/values-fr/strings.xml index 31d5bb9c1..765ef5214 100644 --- a/sdk/src/main/res/values-fr/strings.xml +++ b/sdk/src/main/res/values-fr/strings.xml @@ -70,12 +70,12 @@ Ligne d\'adresse %d Enregistrer cette carte pour les paiements futurs Les informations de votre carte sont incorrectes. - La date d\'expiration de votre carte est incorrecte. Votre numéro de carte est incorrect. - Le nom du porteur de carte est incorrect. + La date d\'expiration de votre carte est incorrecte. Le code CVV de votre carte est incorrect. - Une erreur s\'est produite, veuillez réessayer. La date d\'expiration de votre carte ou son code CVV sont incorrects. + Le nom du porteur de carte est incorrect. + Une erreur s\'est produite, veuillez réessayer. Zone diff --git a/sdk/src/main/res/values-pl/strings.xml b/sdk/src/main/res/values-pl/strings.xml index 5134c292e..3cc0e0d43 100644 --- a/sdk/src/main/res/values-pl/strings.xml +++ b/sdk/src/main/res/values-pl/strings.xml @@ -71,12 +71,12 @@ Linia adresu %d Zapisz tę kartę na przyszłe płatności Niepoprawne dane karty. - Data ważności karty jest nieprawidłowa. Nieprawidłowy numer karty. - Nieprawidłowe imię i nazwisko na karcie. + Data ważności karty jest nieprawidłowa. Nieprawidłowy numer CVC. - Coś poszło nie tak, spróbuj ponownie. Data ważności karty oraz/lub kod CVC są nieprawidłowe. + Nieprawidłowe imię i nazwisko na karcie. + Coś poszło nie tak, spróbuj ponownie. Obszar diff --git a/sdk/src/main/res/values-pt/strings.xml b/sdk/src/main/res/values-pt/strings.xml index 1acf9e383..9098b75b5 100644 --- a/sdk/src/main/res/values-pt/strings.xml +++ b/sdk/src/main/res/values-pt/strings.xml @@ -70,12 +70,12 @@ Endereço %d Guardar este cartão para futuros pagamentos Os dados do seu cartão são inválidos. - A data de validade do seu cartão é inválida. O número do seu cartão é inválido. - O nome no cartão é inválido. + A data de validade do seu cartão é inválida. O código de segurança do seu cartão é inválido. - Ocorreu um erro ao processar o seu cartão, por favor tente novamente. A data de validade e/ou o código de segurança do seu cartão são inválidos. + O nome no cartão é inválido. + Ocorreu um erro ao processar o seu cartão, por favor tente novamente. Região diff --git a/sdk/src/main/res/values/strings.xml b/sdk/src/main/res/values/strings.xml index e75db6707..47d058dd1 100644 --- a/sdk/src/main/res/values/strings.xml +++ b/sdk/src/main/res/values/strings.xml @@ -69,12 +69,12 @@ Address line %d Save this card for future payments Your card information is invalid. - Your card expiration date is invalid. Your card number is invalid. - The cardholder name is invalid. + Your card expiration date is invalid. Your card CVC is invalid. - Something went wrong, please try again. Your card expiration date and/or CVC is invalid. + The cardholder name is invalid. + Something went wrong, please try again. Area From e6839702efe426650ff497d6bffa432b351683c7 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 12:55:18 +0300 Subject: [PATCH 02/14] Localizations: po_card_tokenization_error_eligibility --- sdk/src/main/res/values-ar/strings.xml | 1 + sdk/src/main/res/values-fr/strings.xml | 1 + sdk/src/main/res/values-pl/strings.xml | 1 + sdk/src/main/res/values-pt/strings.xml | 1 + sdk/src/main/res/values/strings.xml | 1 + 5 files changed, 5 insertions(+) diff --git a/sdk/src/main/res/values-ar/strings.xml b/sdk/src/main/res/values-ar/strings.xml index 034e279b5..29a2da0ae 100644 --- a/sdk/src/main/res/values-ar/strings.xml +++ b/sdk/src/main/res/values-ar/strings.xml @@ -77,6 +77,7 @@ رقم كود التحقق CVV غير صالح تاريخ انتهاء صلاحية البطاقة و/أو كود التحقق CVV غير صالح اسم حامل البطاقة غير صالح + لا يمكننا قبول هذه البطاقة. يرجى المحاولة باستخدام بطاقة أخرى. حدث خطأ ما، يرجى المحاولة مرة أخرى diff --git a/sdk/src/main/res/values-fr/strings.xml b/sdk/src/main/res/values-fr/strings.xml index 765ef5214..96d1c7e37 100644 --- a/sdk/src/main/res/values-fr/strings.xml +++ b/sdk/src/main/res/values-fr/strings.xml @@ -75,6 +75,7 @@ Le code CVV de votre carte est incorrect. La date d\'expiration de votre carte ou son code CVV sont incorrects. Le nom du porteur de carte est incorrect. + Nous ne pouvons pas accepter cette carte. Veuillez en essayer une autre. Une erreur s\'est produite, veuillez réessayer. diff --git a/sdk/src/main/res/values-pl/strings.xml b/sdk/src/main/res/values-pl/strings.xml index 3cc0e0d43..7283de0af 100644 --- a/sdk/src/main/res/values-pl/strings.xml +++ b/sdk/src/main/res/values-pl/strings.xml @@ -76,6 +76,7 @@ Nieprawidłowy numer CVC. Data ważności karty oraz/lub kod CVC są nieprawidłowe. Nieprawidłowe imię i nazwisko na karcie. + Nie możemy zaakceptować tej karty. Spróbuj użyć innej. Coś poszło nie tak, spróbuj ponownie. diff --git a/sdk/src/main/res/values-pt/strings.xml b/sdk/src/main/res/values-pt/strings.xml index 9098b75b5..3c4eae99f 100644 --- a/sdk/src/main/res/values-pt/strings.xml +++ b/sdk/src/main/res/values-pt/strings.xml @@ -75,6 +75,7 @@ O código de segurança do seu cartão é inválido. A data de validade e/ou o código de segurança do seu cartão são inválidos. O nome no cartão é inválido. + Não podemos aceitar este cartão. Por favor, tente com outro. Ocorreu um erro ao processar o seu cartão, por favor tente novamente. diff --git a/sdk/src/main/res/values/strings.xml b/sdk/src/main/res/values/strings.xml index 47d058dd1..749b59b2a 100644 --- a/sdk/src/main/res/values/strings.xml +++ b/sdk/src/main/res/values/strings.xml @@ -74,6 +74,7 @@ Your card CVC is invalid. Your card expiration date and/or CVC is invalid. The cardholder name is invalid. + We can’t accept this card. Please try a different one. Something went wrong, please try again. From 6d333f3c305cabdcbe250fd85c371c927f20e369 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 13:29:49 +0300 Subject: [PATCH 03/14] DynamicCheckoutSavedPaymentMethods -> DynamicCheckoutSavedPaymentMethodsConfiguration --- .../sdk/ui/checkout/DynamicCheckoutInteractor.kt | 8 ++++---- .../sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 4 ++-- ...=> DynamicCheckoutSavedPaymentMethodsConfiguration.kt} | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/{DynamicCheckoutSavedPaymentMethods.kt => DynamicCheckoutSavedPaymentMethodsConfiguration.kt} (62%) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index e0edb8d8b..833db33cf 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -57,8 +57,8 @@ import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayCo import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.FINAL import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationResponse -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsResponse +import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationRequest +import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationResponse import com.processout.sdk.ui.napm.* import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.* import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration @@ -658,7 +658,7 @@ internal class DynamicCheckoutInteractor( POLogger.debug("Invoked saved payment methods.") interactorScope.launch { eventDispatcher.send( - DynamicCheckoutSavedPaymentMethodsRequest( + DynamicCheckoutSavedPaymentMethodsConfigurationRequest( configuration = POSavedPaymentMethodsConfiguration( invoiceRequest = configuration.invoiceRequest ) @@ -668,7 +668,7 @@ internal class DynamicCheckoutInteractor( } private fun collectSavedPaymentMethodsConfiguration() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> interactorScope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index ceb26f304..a0f04416b 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -21,7 +21,7 @@ import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsRequest +import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationRequest import com.processout.sdk.ui.checkout.dispatcher.toResponse import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi import kotlinx.coroutines.* @@ -182,7 +182,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchSavedPaymentMethodsConfiguration() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt similarity index 62% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt index e58096d9f..f4dc93797 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt @@ -4,16 +4,16 @@ import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration import java.util.UUID -internal data class DynamicCheckoutSavedPaymentMethodsRequest( +internal data class DynamicCheckoutSavedPaymentMethodsConfigurationRequest( override val uuid: UUID = UUID.randomUUID(), val configuration: POSavedPaymentMethodsConfiguration ) : POEventDispatcher.Request -internal data class DynamicCheckoutSavedPaymentMethodsResponse( +internal data class DynamicCheckoutSavedPaymentMethodsConfigurationResponse( override val uuid: UUID, val configuration: POSavedPaymentMethodsConfiguration ) : POEventDispatcher.Response -internal fun DynamicCheckoutSavedPaymentMethodsRequest.toResponse( +internal fun DynamicCheckoutSavedPaymentMethodsConfigurationRequest.toResponse( configuration: POSavedPaymentMethodsConfiguration -) = DynamicCheckoutSavedPaymentMethodsResponse(uuid, configuration) +) = DynamicCheckoutSavedPaymentMethodsConfigurationResponse(uuid, configuration) From c00f6cbd0bc7bceb2a579eeddee4e2e336d0869a Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 15:16:58 +0300 Subject: [PATCH 04/14] DC delegate package --- .../ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt | 2 +- .../sdk/ui/checkout/DynamicCheckoutInteractor.kt | 8 ++++---- .../sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 7 ++++--- .../DynamicCheckoutAlternativePaymentConfiguration.kt | 2 +- .../DynamicCheckoutSavedPaymentMethodsConfiguration.kt | 2 +- .../checkout/{ => delegate}/PODynamicCheckoutDelegate.kt | 3 ++- 6 files changed, 13 insertions(+), 11 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/{dispatcher => delegate}/DynamicCheckoutAlternativePaymentConfiguration.kt (95%) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/{dispatcher => delegate}/DynamicCheckoutSavedPaymentMethodsConfiguration.kt (94%) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/{ => delegate}/PODynamicCheckoutDelegate.kt (97%) diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt index 7caac8de4..178fbd88c 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt @@ -7,7 +7,7 @@ import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.service.POInvoicesService import com.processout.sdk.core.fold -import com.processout.sdk.ui.checkout.PODynamicCheckoutDelegate +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutDelegate import java.util.UUID class DefaultDynamicCheckoutDelegate( diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 833db33cf..567ec2208 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -55,10 +55,10 @@ import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayCo import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.CheckoutOption.DEFAULT import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.ESTIMATED import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.FINAL -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationResponse -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationResponse +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationRequest +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationResponse +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationRequest +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationResponse import com.processout.sdk.ui.napm.* import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.* import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index a0f04416b..02104559d 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -20,9 +20,10 @@ import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceRequest.* import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.toResponse +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationRequest +import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationRequest +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutDelegate +import com.processout.sdk.ui.checkout.delegate.toResponse import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi import kotlinx.coroutines.* diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt similarity index 95% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt index c743c7dde..e137db3f4 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.checkout.dispatcher +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt similarity index 94% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt index f4dc93797..dde113b14 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethodsConfiguration.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.checkout.dispatcher +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt similarity index 97% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index a15c0a0e0..de837c165 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.checkout +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.event.PODynamicCheckoutEvent @@ -11,6 +11,7 @@ import com.processout.sdk.api.model.response.POCardIssuerInformation import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter +import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration From 81a31607fca17e93fa72c822ca1103c697594311 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 15:20:18 +0300 Subject: [PATCH 05/14] Move PODynamicCheckoutEvent to delegate package --- .../sdk/ui/checkout/DynamicCheckoutInteractor.kt | 8 ++------ .../sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 6 +----- .../sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt | 1 - .../sdk/ui/checkout/delegate}/PODynamicCheckoutEvent.kt | 5 ++++- 4 files changed, 7 insertions(+), 13 deletions(-) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/event => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutEvent.kt (91%) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 567ec2208..20fdcacd2 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -11,8 +11,6 @@ import coil.request.ImageRequest import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent.* import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent.WillSubmitParameters import com.processout.sdk.api.model.request.* @@ -55,10 +53,8 @@ import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayCo import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.CheckoutOption.DEFAULT import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.ESTIMATED import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.FINAL -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationResponse -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationRequest -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationResponse +import com.processout.sdk.ui.checkout.delegate.* +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutEvent.* import com.processout.sdk.ui.napm.* import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.* import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 02104559d..2b2d2217f 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -9,7 +9,6 @@ import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.api.model.request.* @@ -20,10 +19,7 @@ import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceRequest.* import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.delegate.DynamicCheckoutSavedPaymentMethodsConfigurationRequest -import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutDelegate -import com.processout.sdk.ui.checkout.delegate.toResponse +import com.processout.sdk.ui.checkout.delegate.* import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi import kotlinx.coroutines.* diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index de837c165..7909e9b26 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -1,7 +1,6 @@ package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt similarity index 91% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt index f8e7c9af5..1dcfdf9ae 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt @@ -1,11 +1,14 @@ -package com.processout.sdk.api.model.event +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.core.ProcessOutResult +import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi /** * Defines dynamic checkout lifecycle events. */ +/** @suppress */ +@ProcessOutInternalApi sealed class PODynamicCheckoutEvent { /** From 136d99191e85f5ae2f4d7885188a41ae192dcc64 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:04:48 +0300 Subject: [PATCH 06/14] Move DC dispatcher requests and responses to ui module --- .../ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt | 2 +- ...ativeAlternativePaymentMethodDefaultValuesResponse.kt | 9 +-------- ...amicCheckoutAlternativePaymentDefaultValuesRequest.kt | 9 ++++++++- .../ui/checkout/delegate/PODynamicCheckoutDelegate.kt | 1 - .../PODynamicCheckoutInvoiceAuthorizationRequest.kt | 3 ++- .../PODynamicCheckoutInvoiceAuthorizationResponse.kt | 3 +-- .../PODynamicCheckoutInvoiceInvalidationReason.kt | 2 +- .../delegate}/PODynamicCheckoutInvoiceRequest.kt | 2 +- .../delegate}/PODynamicCheckoutInvoiceResponse.kt | 4 +--- 9 files changed, 16 insertions(+), 19 deletions(-) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/request => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt (62%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/request => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutInvoiceAuthorizationRequest.kt (80%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/response => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutInvoiceAuthorizationResponse.kt (82%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/request => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutInvoiceInvalidationReason.kt (93%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/request => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutInvoiceRequest.kt (90%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/response => ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate}/PODynamicCheckoutInvoiceResponse.kt (76%) diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt index 178fbd88c..582e01f69 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt @@ -2,7 +2,7 @@ package com.processout.example.ui.screen.checkout import com.processout.example.shared.Constants import com.processout.sdk.api.model.request.POCreateInvoiceRequest -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutInvoiceInvalidationReason import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.service.POInvoicesService diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt index bfa67e51c..8bd6244fa 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt @@ -1,7 +1,6 @@ package com.processout.sdk.api.model.response import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutAlternativePaymentDefaultValuesRequest import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID @@ -13,7 +12,7 @@ import java.util.UUID * @param[uuid] Unique identifier of response that must be equal to UUID of request. * @param[defaultValues] Map where key is [PONativeAlternativePaymentMethodParameter.key] and value is a default value for this parameter. */ -data class PONativeAlternativePaymentMethodDefaultValuesResponse internal constructor( +data class PONativeAlternativePaymentMethodDefaultValuesResponse @ProcessOutInternalApi constructor( override val uuid: UUID, val defaultValues: Map ) : POEventDispatcher.Response @@ -26,9 +25,3 @@ data class PONativeAlternativePaymentMethodDefaultValuesResponse internal constr fun PONativeAlternativePaymentMethodDefaultValuesRequest.toResponse( defaultValues: Map ) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( - defaultValues: Map -) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt similarity index 62% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt index 5792d4600..1070478bb 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt @@ -1,7 +1,8 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod +import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodDefaultValuesResponse import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID @@ -13,3 +14,9 @@ data class PODynamicCheckoutAlternativePaymentDefaultValuesRequest( val paymentMethod: PODynamicCheckoutPaymentMethod.AlternativePayment, val parameters: List ) : POEventDispatcher.Request + +/** @suppress */ +@ProcessOutInternalApi +fun PODynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( + defaultValues: Map +) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index 7909e9b26..70c31827a 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -3,7 +3,6 @@ package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POCardIssuerInformation diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt similarity index 80% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt index 959c66809..b05fb0ae3 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt @@ -1,6 +1,7 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher +import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt similarity index 82% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt index dc4659697..b851245ec 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt @@ -1,7 +1,6 @@ -package com.processout.sdk.api.model.response +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceAuthorizationRequest import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt similarity index 93% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt index 8491e44c9..9709d7b37 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.core.annotation.ProcessOutInternalApi diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt similarity index 90% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt index 57638c1cf..e3dbc3d82 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.POInvoice diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt similarity index 76% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt index 87f248f55..58624c6b1 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt @@ -1,8 +1,6 @@ -package com.processout.sdk.api.model.response +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceRequest import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID From 5d6011c279bcb96a82a5f3785c514bd3b42339fd Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:22:29 +0300 Subject: [PATCH 07/14] Internal DynamicCheckoutAlternativePaymentDefaultValues.kt --- .../sdk/ui/checkout/DynamicCheckoutInteractor.kt | 2 +- .../sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 2 +- ...=> DynamicCheckoutAlternativePaymentDefaultValues.kt} | 9 ++------- 3 files changed, 4 insertions(+), 9 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/{PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt => DynamicCheckoutAlternativePaymentDefaultValues.kt} (71%) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 20fdcacd2..5157f36a5 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -1078,7 +1078,7 @@ internal class DynamicCheckoutInteractor( activePaymentMethod()?.let { paymentMethod -> if (paymentMethod is NativeAlternativePayment) { interactorScope.launch { - val defaultValuesRequest = PODynamicCheckoutAlternativePaymentDefaultValuesRequest( + val defaultValuesRequest = DynamicCheckoutAlternativePaymentDefaultValuesRequest( uuid = request.uuid, paymentMethod = paymentMethod.original, parameters = request.parameters diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 2b2d2217f..110570500 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -151,7 +151,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchDefaultValues() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt similarity index 71% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt index 1070478bb..efb0eafde 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt @@ -4,19 +4,14 @@ import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodDefaultValuesResponse import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter -import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutAlternativePaymentDefaultValuesRequest( +internal data class DynamicCheckoutAlternativePaymentDefaultValuesRequest( override val uuid: UUID, val paymentMethod: PODynamicCheckoutPaymentMethod.AlternativePayment, val parameters: List ) : POEventDispatcher.Request -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( +internal fun DynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( defaultValues: Map ) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) From f011b4c6a4b36a92f60ad4d4c1e87a558dd9597e Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:26:13 +0300 Subject: [PATCH 08/14] Remove TODO --- .../PONativeAlternativePaymentMethodEventDispatcher.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt b/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt index fd0b41c3a..7383ebbac 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt @@ -5,8 +5,6 @@ import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefa import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodDefaultValuesResponse import kotlinx.coroutines.flow.SharedFlow -// TODO: Move it to '.dispatcher.napm' package before next major release. - /** * Dispatcher that allows to handle events during native alternative payments. */ From dd7a7e1efc981f3077032a22804e3375a97134c7 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:35:53 +0300 Subject: [PATCH 09/14] Internal DynamicCheckoutInvoiceAuthorization.kt --- .../ui/checkout/DynamicCheckoutInteractor.kt | 4 ++-- .../ui/checkout/PODynamicCheckoutLauncher.kt | 2 +- ...=> DynamicCheckoutInvoiceAuthorization.kt} | 14 ++++++++++---- ...micCheckoutInvoiceAuthorizationResponse.kt | 19 ------------------- 4 files changed, 13 insertions(+), 26 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/{PODynamicCheckoutInvoiceAuthorizationRequest.kt => DynamicCheckoutInvoiceAuthorization.kt} (52%) delete mode 100644 ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 5157f36a5..5acc8cc76 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -944,7 +944,7 @@ internal class DynamicCheckoutInteractor( clientSecret: String? = null ) { interactorScope.launch { - val request = PODynamicCheckoutInvoiceAuthorizationRequest( + val request = DynamicCheckoutInvoiceAuthorizationRequest( request = POInvoiceAuthorizationRequest( invoiceId = configuration.invoiceRequest.invoiceId, source = source, @@ -959,7 +959,7 @@ internal class DynamicCheckoutInteractor( } private fun collectInvoiceAuthorizationRequest() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> POLogger.info("Authorizing the invoice.", attributes = logAttributes) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 110570500..64130220e 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -126,7 +126,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchInvoiceAuthorizationRequest() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt similarity index 52% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt index b05fb0ae3..23ae0b5dd 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt @@ -3,13 +3,19 @@ package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod -import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceAuthorizationRequest( +internal data class DynamicCheckoutInvoiceAuthorizationRequest( override val uuid: UUID = UUID.randomUUID(), val request: POInvoiceAuthorizationRequest, val paymentMethod: PODynamicCheckoutPaymentMethod ) : POEventDispatcher.Request + +internal data class DynamicCheckoutInvoiceAuthorizationResponse( + override val uuid: UUID, + val request: POInvoiceAuthorizationRequest +) : POEventDispatcher.Response + +internal fun DynamicCheckoutInvoiceAuthorizationRequest.toResponse( + request: POInvoiceAuthorizationRequest +) = DynamicCheckoutInvoiceAuthorizationResponse(uuid, request) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt deleted file mode 100644 index b851245ec..000000000 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceAuthorizationResponse.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.processout.sdk.ui.checkout.delegate - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceAuthorizationResponse internal constructor( - override val uuid: UUID, - val request: POInvoiceAuthorizationRequest -) : POEventDispatcher.Response - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutInvoiceAuthorizationRequest.toResponse( - request: POInvoiceAuthorizationRequest -) = PODynamicCheckoutInvoiceAuthorizationResponse(uuid, request) From 57a83243af9a71ceac5f469e7a02cef6b6bf880d Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:45:18 +0300 Subject: [PATCH 10/14] Swap params in invoiceAuthorizationRequest() --- .../processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt | 4 ++-- .../processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 4 ++-- .../checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt | 4 ++-- .../sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 5acc8cc76..498383e41 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -945,14 +945,14 @@ internal class DynamicCheckoutInteractor( ) { interactorScope.launch { val request = DynamicCheckoutInvoiceAuthorizationRequest( + paymentMethod = paymentMethod.original, request = POInvoiceAuthorizationRequest( invoiceId = configuration.invoiceRequest.invoiceId, source = source, saveSource = saveSource, allowFallbackToSale = allowFallbackToSale, clientSecret = clientSecret - ), - paymentMethod = paymentMethod.original + ) ) eventDispatcher.send(request) } diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 64130220e..85f71dc49 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -131,8 +131,8 @@ class PODynamicCheckoutLauncher private constructor( ) { request -> scope.launch { val invoiceAuthorizationRequest = delegate.invoiceAuthorizationRequest( - request = request.request, - paymentMethod = request.paymentMethod + paymentMethod = request.paymentMethod, + request = request.request ) eventDispatcher.send(request.toResponse(invoiceAuthorizationRequest)) } diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt index 23ae0b5dd..1331b4910 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt @@ -7,8 +7,8 @@ import java.util.UUID internal data class DynamicCheckoutInvoiceAuthorizationRequest( override val uuid: UUID = UUID.randomUUID(), - val request: POInvoiceAuthorizationRequest, - val paymentMethod: PODynamicCheckoutPaymentMethod + val paymentMethod: PODynamicCheckoutPaymentMethod, + val request: POInvoiceAuthorizationRequest ) : POEventDispatcher.Request internal data class DynamicCheckoutInvoiceAuthorizationResponse( diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index 70c31827a..31c5a1355 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -56,8 +56,8 @@ interface PODynamicCheckoutDelegate { * Allows to alter request parameters but please make sure that _invoiceId_ and _source_ are unmodified. */ suspend fun invoiceAuthorizationRequest( - request: POInvoiceAuthorizationRequest, - paymentMethod: PODynamicCheckoutPaymentMethod + paymentMethod: PODynamicCheckoutPaymentMethod, + request: POInvoiceAuthorizationRequest ): POInvoiceAuthorizationRequest = request /** From f4ea0c972c48e69df043eb837826edb759c312c8 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 16:55:01 +0300 Subject: [PATCH 11/14] Internal DynamicCheckoutInvoice.kt --- .../ui/checkout/DynamicCheckoutInteractor.kt | 6 ++--- .../ui/checkout/PODynamicCheckoutLauncher.kt | 2 +- .../delegate/DynamicCheckoutInvoice.kt | 22 +++++++++++++++++++ .../PODynamicCheckoutInvoiceRequest.kt | 14 ------------ .../PODynamicCheckoutInvoiceResponse.kt | 20 ----------------- 5 files changed, 26 insertions(+), 38 deletions(-) create mode 100644 ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt delete mode 100644 ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt delete mode 100644 ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 498383e41..630173ad0 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -100,7 +100,7 @@ internal class DynamicCheckoutInteractor( private val handler = Handler(Looper.getMainLooper()) private var authorizeInvoiceJob: AuthorizeInvoiceJob? = null - private var latestInvoiceRequest: PODynamicCheckoutInvoiceRequest? = null + private var latestInvoiceRequest: DynamicCheckoutInvoiceRequest? = null private var latestCardProcessingRequest: POCardTokenizationProcessingRequest? = null init { @@ -879,7 +879,7 @@ internal class DynamicCheckoutInteractor( ) } if (latestInvoiceRequest == null) { - val request = PODynamicCheckoutInvoiceRequest( + val request = DynamicCheckoutInvoiceRequest( currentInvoice = currentInvoice, invalidationReason = reason ) @@ -892,7 +892,7 @@ internal class DynamicCheckoutInteractor( } private fun collectInvoice() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> if (response.uuid == latestInvoiceRequest?.uuid) { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 85f71dc49..4ae70bf9c 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -112,7 +112,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchInvoice() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt new file mode 100644 index 000000000..665f80065 --- /dev/null +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt @@ -0,0 +1,22 @@ +package com.processout.sdk.ui.checkout.delegate + +import com.processout.sdk.api.dispatcher.POEventDispatcher +import com.processout.sdk.api.model.request.POInvoiceRequest +import com.processout.sdk.api.model.response.POInvoice +import java.util.UUID + +internal data class DynamicCheckoutInvoiceRequest( + override val uuid: UUID = UUID.randomUUID(), + val currentInvoice: POInvoice, + val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason +) : POEventDispatcher.Request + +internal data class DynamicCheckoutInvoiceResponse( + override val uuid: UUID, + val invoiceRequest: POInvoiceRequest?, + val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason +) : POEventDispatcher.Response + +internal fun DynamicCheckoutInvoiceRequest.toResponse( + invoiceRequest: POInvoiceRequest? +) = DynamicCheckoutInvoiceResponse(uuid, invoiceRequest, invalidationReason) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt deleted file mode 100644 index e3dbc3d82..000000000 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceRequest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.processout.sdk.ui.checkout.delegate - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.response.POInvoice -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceRequest( - override val uuid: UUID = UUID.randomUUID(), - val currentInvoice: POInvoice, - val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason -) : POEventDispatcher.Request diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt deleted file mode 100644 index 58624c6b1..000000000 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceResponse.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.processout.sdk.ui.checkout.delegate - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.POInvoiceRequest -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceResponse internal constructor( - override val uuid: UUID, - val invoiceRequest: POInvoiceRequest?, - val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason -) : POEventDispatcher.Response - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutInvoiceRequest.toResponse( - invoiceRequest: POInvoiceRequest? -) = PODynamicCheckoutInvoiceResponse(uuid, invoiceRequest, invalidationReason) From ba1259aba1aec2befe679f47a57ba5cb4046ce28 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 17:29:38 +0300 Subject: [PATCH 12/14] Package: savedpaymentmethods.delegate --- .../processout/sdk/ui/checkout/DynamicCheckoutActivity.kt | 6 +++--- .../processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 2 +- .../sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt | 2 +- .../ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt | 3 ++- .../ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt | 4 ++-- .../{ => delegate}/POSavedPaymentMethodsDelegate.kt | 4 +--- .../delegate}/POSavedPaymentMethodsEvent.kt | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/{ => delegate}/POSavedPaymentMethodsDelegate.kt (68%) rename {sdk/src/main/kotlin/com/processout/sdk/api/model/event => ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate}/POSavedPaymentMethodsEvent.kt (93%) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt index ede5b87cc..fbb2eff83 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt @@ -23,8 +23,6 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.android.gms.wallet.Wallet.WalletOptions import com.processout.sdk.R import com.processout.sdk.api.ProcessOut -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent.DidDeleteCustomerToken import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POAlternativePaymentMethodResponse import com.processout.sdk.api.model.response.POGooglePayCardTokenizationData @@ -52,8 +50,10 @@ import com.processout.sdk.ui.googlepay.POGooglePayCardTokenizationLauncher import com.processout.sdk.ui.napm.NativeAlternativePaymentViewModel import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.PaymentConfirmationConfiguration -import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsDelegate import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsLauncher +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsDelegate +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent.DidDeleteCustomerToken import com.processout.sdk.ui.shared.extension.collectImmediately import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 4ae70bf9c..97d2ec560 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -10,7 +10,6 @@ import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.api.model.request.* import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.api.service.PO3DSService @@ -21,6 +20,7 @@ import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult import com.processout.sdk.ui.checkout.delegate.* import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent import kotlinx.coroutines.* /** diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index 31c5a1355..b0869f396 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -2,7 +2,6 @@ package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POCardIssuerInformation @@ -12,6 +11,7 @@ import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodPar import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent /** * Delegate that allows to handle events during dynamic checkout flow. diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt index 49a2b3ecd..a84bb675c 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt @@ -9,10 +9,11 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsActivityContract.Companion.EXTRA_FORCE_FINISH +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsDelegate +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent import kotlinx.coroutines.CoroutineScope /** diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt index c99f99ff6..b91de8a36 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt @@ -7,8 +7,6 @@ import coil.request.ImageRequest import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent.* import com.processout.sdk.api.model.request.PODeleteCustomerTokenRequest import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod.* @@ -28,6 +26,8 @@ import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsEvent.Action import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsEvent.Dismiss import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsInteractorState.ActionId import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsInteractorState.PaymentMethod +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent.* import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.coroutineScope diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt similarity index 68% rename from ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt index 6652e542a..51b978ef8 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt @@ -1,6 +1,4 @@ -package com.processout.sdk.ui.savedpaymentmethods - -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent +package com.processout.sdk.ui.savedpaymentmethods.delegate /** * Delegates events during management of saved payment methods. diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt similarity index 93% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt index 96fdfd193..97ba099f6 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.api.model.event +package com.processout.sdk.ui.savedpaymentmethods.delegate import com.processout.sdk.core.ProcessOutResult From 63895623cea8860c4a029ce3e5734507bb8eb9f8 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 18:09:28 +0300 Subject: [PATCH 13/14] Type alias PONativeAlternativePaymentEvent in nAPM and DC delegates and implementations --- .../ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt | 2 +- .../example/ui/screen/nativeapm/NativeApmFragment.kt | 2 +- .../apm/POAlternativePaymentMethodCustomTabLauncher.kt | 2 +- .../ui/apm/POAlternativePaymentMethodWebViewBuilder.kt | 2 +- .../sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt | 2 +- .../sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt | 2 +- .../sdk/ui/checkout/DynamicCheckoutInteractor.kt | 4 ++-- .../sdk/ui/checkout/PODynamicCheckoutLauncher.kt | 4 ++-- .../ui/checkout/delegate/PODynamicCheckoutDelegate.kt | 4 ++-- .../sdk/ui/napm/NativeAlternativePaymentInteractor.kt | 4 ++-- .../sdk/ui/napm/PONativeAlternativePaymentLauncher.kt | 5 +++-- .../{ => delegate}/PONativeAlternativePaymentDelegate.kt | 5 ++--- .../ui/napm/delegate/PONativeAlternativePaymentEvent.kt | 9 +++++++++ 13 files changed, 28 insertions(+), 19 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/napm/{ => delegate}/PONativeAlternativePaymentDelegate.kt (81%) create mode 100644 ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt index 582e01f69..155ceee42 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt @@ -2,12 +2,12 @@ package com.processout.example.ui.screen.checkout import com.processout.example.shared.Constants import com.processout.sdk.api.model.request.POCreateInvoiceRequest -import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutInvoiceInvalidationReason import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.service.POInvoicesService import com.processout.sdk.core.fold import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutDelegate +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutInvoiceInvalidationReason import java.util.UUID class DefaultDynamicCheckoutDelegate( diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt b/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt index 2f9105990..3f13a63e0 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt @@ -17,8 +17,8 @@ import com.processout.sdk.core.onFailure import com.processout.sdk.core.onSuccess import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.Button -import com.processout.sdk.ui.napm.PONativeAlternativePaymentDelegate import com.processout.sdk.ui.napm.PONativeAlternativePaymentLauncher +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentDelegate import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodConfiguration import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodLauncher import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodResult diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt index 89232faa3..736b5a357 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt @@ -17,8 +17,8 @@ import com.processout.sdk.ui.web.WebAuthorizationDelegate import com.processout.sdk.ui.web.WebAuthorizationDelegateCache import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract import com.processout.sdk.ui.web.customtab.POCustomTabConfiguration -import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher /** * Launcher that starts [POCustomTabAuthorizationActivity][com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity] diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt index 220fec7fd..22d581ea7 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt @@ -9,8 +9,8 @@ import com.processout.sdk.api.model.response.POAlternativePaymentMethodResponse import com.processout.sdk.api.network.ApiConstants import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.ui.web.WebAuthorizationDelegate -import com.processout.sdk.ui.web.webview.ProcessOutWebView import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.ProcessOutWebView @Deprecated("Use POAlternativePaymentMethodCustomTabLauncher.") class POAlternativePaymentMethodWebViewBuilder( diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt index 445ac3f6e..388ab2f10 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt @@ -15,8 +15,8 @@ import com.processout.sdk.ui.web.WebAuthorizationDelegate import com.processout.sdk.ui.web.WebAuthorizationDelegateCache import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract import com.processout.sdk.ui.web.customtab.POCustomTabConfiguration -import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher /** * Launcher that starts [POCustomTabAuthorizationActivity][com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity] diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt index 92a9617c7..73fb179a3 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt @@ -8,8 +8,8 @@ import com.processout.sdk.api.model.threeds.PO3DSRedirect import com.processout.sdk.api.network.ApiConstants import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.ui.web.WebAuthorizationDelegate -import com.processout.sdk.ui.web.webview.ProcessOutWebView import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.ProcessOutWebView @Deprecated("Use PO3DSRedirectCustomTabLauncher.") class PO3DSRedirectWebViewBuilder( diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index 630173ad0..195465e84 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -11,7 +11,6 @@ import coil.request.ImageRequest import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent.WillSubmitParameters import com.processout.sdk.api.model.request.* import com.processout.sdk.api.model.response.* @@ -57,6 +56,7 @@ import com.processout.sdk.ui.checkout.delegate.* import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutEvent.* import com.processout.sdk.ui.napm.* import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.* +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration import com.processout.sdk.ui.shared.extension.orElse import kotlinx.coroutines.* @@ -1088,7 +1088,7 @@ internal class DynamicCheckoutInteractor( } } } - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = interactorScope ) { event -> if (event is WillSubmitParameters) { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index 97d2ec560..c9a1d4296 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -9,7 +9,6 @@ import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.request.* import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.api.service.PO3DSService @@ -20,6 +19,7 @@ import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult import com.processout.sdk.ui.checkout.delegate.* import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent import kotlinx.coroutines.* @@ -103,7 +103,7 @@ class PODynamicCheckoutLauncher private constructor( eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } eventDispatcher.subscribe( diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index b0869f396..339cf3d55 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -1,7 +1,6 @@ package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POCardIssuerInformation @@ -10,6 +9,7 @@ import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent @@ -33,7 +33,7 @@ interface PODynamicCheckoutDelegate { /** * Invoked on native alternative payment lifecycle events. */ - fun onEvent(event: PONativeAlternativePaymentMethodEvent) {} + fun onEvent(event: PONativeAlternativePaymentEvent) {} /** * Invoked on saved payment methods lifecycle events. diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt index a9e228157..db5666eb6 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt @@ -18,7 +18,6 @@ import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.dispatcher.napm.PODefaultNativeAlternativePaymentMethodEventDispatcher -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent.* import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodRequest @@ -47,6 +46,7 @@ import com.processout.sdk.ui.napm.NativeAlternativePaymentEvent.Action import com.processout.sdk.ui.napm.NativeAlternativePaymentInteractorState.* import com.processout.sdk.ui.napm.NativeAlternativePaymentSideEffect.PermissionRequest import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.CancelButton +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.shared.extension.dpToPx import com.processout.sdk.ui.shared.provider.BarcodeBitmapProvider import com.processout.sdk.ui.shared.provider.MediaStorageProvider @@ -930,7 +930,7 @@ internal class NativeAlternativePaymentInteractor( //region Dispatch Events - private fun dispatch(event: PONativeAlternativePaymentMethodEvent) { + private fun dispatch(event: PONativeAlternativePaymentEvent) { interactorScope.launch { legacyEventDispatcher?.send(event) eventDispatcher.send(event) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt index 1d8004a2c..9170fe452 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt @@ -8,11 +8,12 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentDelegate +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -114,7 +115,7 @@ class PONativeAlternativePaymentLauncher private constructor( } private fun dispatchEvents() { - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } } diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt similarity index 81% rename from ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt index aa60e4ba0..0e012b8b0 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt @@ -1,6 +1,5 @@ -package com.processout.sdk.ui.napm +package com.processout.sdk.ui.napm.delegate -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter /** @@ -11,7 +10,7 @@ interface PONativeAlternativePaymentDelegate { /** * Invoked on native alternative payment lifecycle events. */ - fun onEvent(event: PONativeAlternativePaymentMethodEvent) {} + fun onEvent(event: PONativeAlternativePaymentEvent) {} /** * Allows to prefill default values for the given parameters during native alternative payment. diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt new file mode 100644 index 000000000..eb8de989f --- /dev/null +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt @@ -0,0 +1,9 @@ +package com.processout.sdk.ui.napm.delegate + +import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent + +/** + * Defines native alternative payment lifecycle events. + * This is a type alias for [PONativeAlternativePaymentMethodEvent]. + */ +typealias PONativeAlternativePaymentEvent = PONativeAlternativePaymentMethodEvent From 9c491b9cbc5a9e239fc720cfb05ee99c62389f32 Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak Date: Fri, 2 May 2025 18:40:57 +0300 Subject: [PATCH 14/14] 'delegate' packages for CardTokenization and CardUpdate --- .../ui/screen/card/payment/DefaultCardTokenizationDelegate.kt | 2 +- .../processout/example/ui/screen/features/FeaturesFragment.kt | 2 +- .../sdk/ui/card/tokenization/POCardTokenizationLauncher.kt | 1 + .../tokenization/{ => delegate}/POCardTokenizationDelegate.kt | 2 +- .../com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt | 1 + .../sdk/ui/card/update/{ => delegate}/POCardUpdateDelegate.kt | 2 +- 6 files changed, 6 insertions(+), 4 deletions(-) rename ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/{ => delegate}/POCardTokenizationDelegate.kt (96%) rename ui/src/main/kotlin/com/processout/sdk/ui/card/update/{ => delegate}/POCardUpdateDelegate.kt (91%) diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt index fccca818f..479eb2755 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt @@ -8,7 +8,7 @@ import com.processout.sdk.api.service.PO3DSService import com.processout.sdk.api.service.POInvoicesService import com.processout.sdk.core.POFailure.Code.Generic import com.processout.sdk.core.ProcessOutResult -import com.processout.sdk.ui.card.tokenization.POCardTokenizationDelegate +import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationDelegate class DefaultCardTokenizationDelegate( private val viewModel: CardPaymentViewModel, diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt b/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt index 16c51b366..fecbd5097 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt @@ -24,8 +24,8 @@ import com.processout.sdk.ui.card.scanner.POCardScannerLauncher import com.processout.sdk.ui.card.scanner.recognition.POScannedCard import com.processout.sdk.ui.card.update.POCardUpdateConfiguration import com.processout.sdk.ui.card.update.POCardUpdateConfiguration.CardInformation -import com.processout.sdk.ui.card.update.POCardUpdateDelegate import com.processout.sdk.ui.card.update.POCardUpdateLauncher +import com.processout.sdk.ui.card.update.delegate.POCardUpdateDelegate import com.processout.sdk.ui.googlepay.POGooglePayCardTokenizationLauncher import com.processout.sdk.ui.shared.configuration.POBottomSheetConfiguration import com.processout.sdk.ui.shared.configuration.POBottomSheetConfiguration.Height.WrapContent diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt index cce16fcba..66dbd355f 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt @@ -15,6 +15,7 @@ import com.processout.sdk.api.model.request.POCardTokenizationShouldContinueRequ import com.processout.sdk.api.model.response.POCard import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationDelegate import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt similarity index 96% rename from ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt index fe3bbf554..e82df41db 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.card.tokenization +package com.processout.sdk.ui.card.tokenization.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.response.POCard diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt index eb2860501..95a9449d0 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt @@ -13,6 +13,7 @@ import com.processout.sdk.api.model.request.POCardUpdateShouldContinueRequest import com.processout.sdk.api.model.response.POCard import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.card.update.delegate.POCardUpdateDelegate import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt similarity index 91% rename from ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt index 17f69fc70..fdfcd2927 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.card.update +package com.processout.sdk.ui.card.update.delegate import com.processout.sdk.api.model.event.POCardUpdateEvent import com.processout.sdk.core.ProcessOutResult