Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
34594b2
AGP 8.4.1
vitalii-vanziak-cko May 22, 2024
84b16ef
fetchTransactionDetails() and dispatch()
vitalii-vanziak-cko May 22, 2024
ffe7003
POMarkdownUtils
vitalii-vanziak-cko May 23, 2024
b4a5521
States and mapping
vitalii-vanziak-cko May 23, 2024
f147e37
updateFieldFocus()
vitalii-vanziak-cko May 23, 2024
feb04d1
Map params to fields in interactor
vitalii-vanziak-cko May 23, 2024
3ad9adb
State fix
vitalii-vanziak-cko May 23, 2024
b4f8db1
Customer input state and related logic
vitalii-vanziak-cko May 23, 2024
aeb8844
Import POFailure.Code.*
vitalii-vanziak-cko May 23, 2024
f55688e
'logAttributes' for each log
vitalii-vanziak-cko May 23, 2024
8dcb58d
VM field types
vitalii-vanziak-cko May 23, 2024
fdd310f
Fix log attributes
vitalii-vanziak-cko May 24, 2024
3ff2542
updateFieldValues()
vitalii-vanziak-cko May 24, 2024
baf4c2e
Fix VM names
vitalii-vanziak-cko May 24, 2024
03df32d
Map fields
vitalii-vanziak-cko May 24, 2024
a152b25
TextField composable
vitalii-vanziak-cko May 24, 2024
a8c3fcc
updateFieldValue()
vitalii-vanziak-cko May 24, 2024
e73f91e
CodeField composable
vitalii-vanziak-cko May 24, 2024
29bd0be
libphonenumber
vitalii-vanziak-cko May 26, 2024
5f0d0ff
PhoneNumberVisualTransformation
vitalii-vanziak-cko May 26, 2024
2da0d06
PhoneNumberInputFilter
vitalii-vanziak-cko May 26, 2024
7c59193
Apply phone number filter and transformation
vitalii-vanziak-cko May 27, 2024
350ea26
Force POCodeField layout direction to LTR
vitalii-vanziak-cko May 27, 2024
a27a515
Fields keyboard configuration
vitalii-vanziak-cko May 27, 2024
5244b7e
Support RTL for [numeric, email, phone] field types
vitalii-vanziak-cko May 27, 2024
798084c
Placeholders
vitalii-vanziak-cko May 27, 2024
e1b01a9
Submit payment
vitalii-vanziak-cko May 27, 2024
45781b4
Handle payment failure
vitalii-vanziak-cko May 27, 2024
da905d1
Resolve 'focusedFieldId' on each parameters step
vitalii-vanziak-cko May 27, 2024
c441a56
Allow submit when all fields valid after edit
vitalii-vanziak-cko May 27, 2024
8ef59d1
Validation
vitalii-vanziak-cko May 27, 2024
9c69d86
Fields spacing
vitalii-vanziak-cko May 27, 2024
ce4f6d0
codeFieldHorizontalAlignment()
vitalii-vanziak-cko May 27, 2024
49f698f
Fix title padding in POHeader
vitalii-vanziak-cko May 28, 2024
15258d7
RadioField
vitalii-vanziak-cko May 28, 2024
396b2e4
DropdownField
vitalii-vanziak-cko May 28, 2024
5b5f397
Pass 'enabled' state to POCodeField
vitalii-vanziak-cko May 28, 2024
d153e65
Do not expose 'enabled' state for PODropdownField as it's no-op
vitalii-vanziak-cko May 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

buildscript {
ext {
androidGradlePluginVersion = '8.4.0'
androidGradlePluginVersion = '8.4.1'
kotlinVersion = '1.9.24'
kspVersion = '1.9.24-1.0.20'
dokkaVersion = '1.9.20'
Expand Down Expand Up @@ -59,6 +59,7 @@ ext {
okioVersion = '3.9.0'
coilVersion = '2.6.0'
commonMarkVersion = '0.22.0'
libphonenumberVersion = '8.13.37'

checkout3dsSdkVersion = '3.2.2'
adyen3dsSdkVersion = '2.2.15'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.processout.sdk.api.model.request

import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter
import com.processout.sdk.core.annotation.ProcessOutInternalApi
import java.util.UUID

/**
Expand All @@ -11,7 +12,7 @@ import java.util.UUID
* @param[parameters] Collection of parameters that can be inspected to decide if default values should be provided.
* @param[uuid] Unique identifier of request.
*/
data class PONativeAlternativePaymentMethodDefaultValuesRequest internal constructor(
data class PONativeAlternativePaymentMethodDefaultValuesRequest @ProcessOutInternalApi constructor(
val gatewayConfigurationId: String,
val invoiceId: String,
val parameters: List<PONativeAlternativePaymentMethodParameter>,
Expand Down
17 changes: 0 additions & 17 deletions sdk/src/main/kotlin/com/processout/sdk/core/util/MarkdownUtils.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.processout.sdk.core.util

import com.processout.sdk.core.annotation.ProcessOutInternalApi

/** @suppress */
@ProcessOutInternalApi
object POMarkdownUtils {

private const val ESCAPE_CHAR = '\\'
private const val MARKDOWN_SPECIAL_CHARS = "\\`*_{}[]()#+-.!"

fun escapedMarkdown(text: String) = buildString {
text.forEach { char ->
if (MARKDOWN_SPECIAL_CHARS.contains(char)) {
append(ESCAPE_CHAR)
}
append(char)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import com.processout.sdk.core.ProcessOutResult
import com.processout.sdk.core.logger.POLogger
import com.processout.sdk.core.retry.PORetryStrategy
import com.processout.sdk.core.retry.PORetryStrategy.Exponential
import com.processout.sdk.core.util.escapedMarkdown
import com.processout.sdk.core.util.POMarkdownUtils.escapedMarkdown
import com.processout.sdk.ui.nativeapm.NativeAlternativePaymentMethodUiState.*
import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodConfiguration.*
import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodConfiguration.Options.Companion.DEFAULT_PAYMENT_CONFIRMATION_TIMEOUT_SECONDS
Expand Down Expand Up @@ -603,7 +603,7 @@ internal class NativeAlternativePaymentMethodViewModel(
inputParameters = parameters?.toInputParameters() ?: emptyList(),
successMessage = options.successMessage
?: app.getString(R.string.po_native_apm_success_message),
customerActionMessageMarkdown = escapedMarkdown(gateway.customerActionMessage),
customerActionMessageMarkdown = gateway.customerActionMessage?.let { escapedMarkdown(it) },
customerActionImageUrl = gateway.customerActionImageUrl,
primaryActionText = options.primaryActionText ?: invoice.formatPrimaryActionText(),
secondaryAction = options.secondaryAction?.toUiModel(),
Expand Down Expand Up @@ -658,8 +658,8 @@ internal class NativeAlternativePaymentMethodViewModel(

private fun getInputHint(type: ParameterType) =
when (type) {
PHONE -> app.getString(R.string.po_native_apm_input_hint_phone)
EMAIL -> app.getString(R.string.po_native_apm_input_hint_email)
EMAIL -> app.getString(R.string.po_native_apm_email_placeholder)
PHONE -> app.getString(R.string.po_native_apm_phone_placeholder)
else -> null
}

Expand Down
4 changes: 2 additions & 2 deletions sdk/src/main/res/values-pl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<string name="po_native_apm_cancel_confirmation_confirm">Anuluj płatność</string>
<string name="po_native_apm_cancel_confirmation_dismiss">Nie teraz</string>
<string name="po_native_apm_success_message">Sukces!\nPłatność przyjęta.</string>
<string name="po_native_apm_input_hint_phone">Twój numer telefonu</string>
<string name="po_native_apm_input_hint_email">imię@przykład.pl</string>
<string name="po_native_apm_email_placeholder">imię@przykład.pl</string>
<string name="po_native_apm_phone_placeholder">Twój numer telefonu</string>
<string name="po_native_apm_error_required_parameter">Parametr jest wmagany.</string>
<string name="po_native_apm_error_invalid_number">Niepoprawny numer.</string>
<string name="po_native_apm_error_invalid_text">Niepoprawna wartość.</string>
Expand Down
4 changes: 2 additions & 2 deletions sdk/src/main/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<string name="po_native_apm_cancel_confirmation_confirm">Cancelar pagamento</string>
<string name="po_native_apm_cancel_confirmation_dismiss">Agora não</string>
<string name="po_native_apm_success_message">Successo!\nPagamento aprovado.</string>
<string name="po_native_apm_input_hint_phone">Insira o seu número de telemóvel</string>
<string name="po_native_apm_input_hint_email">nome@exemplo.pt</string>
<string name="po_native_apm_email_placeholder">nome@exemplo.pt</string>
<string name="po_native_apm_phone_placeholder">Insira o seu número de telemóvel</string>
<string name="po_native_apm_error_required_parameter">Campo obrigatório.</string>
<string name="po_native_apm_error_invalid_number">Número inválido.</string>
<string name="po_native_apm_error_invalid_text">Texto inválido.</string>
Expand Down
4 changes: 2 additions & 2 deletions sdk/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<string name="po_native_apm_cancel_confirmation_confirm">Cancel payment</string>
<string name="po_native_apm_cancel_confirmation_dismiss">Not now</string>
<string name="po_native_apm_success_message">Success!\nPayment approved.</string>
<string name="po_native_apm_input_hint_phone">Enter phone number</string>
<string name="po_native_apm_input_hint_email">name@example.com</string>
<string name="po_native_apm_email_placeholder">name@example.com</string>
<string name="po_native_apm_phone_placeholder">Enter phone number</string>
<string name="po_native_apm_error_required_parameter">Parameter is required.</string>
<string name="po_native_apm_error_invalid_number">Number is not valid.</string>
<string name="po_native_apm_error_invalid_text">Value is not valid.</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ private fun titlePadding(
if (withDragHandle) PaddingValues(
start = spacing.extraLarge,
end = spacing.extraLarge,
top = spacing.small,
top = spacing.medium,
bottom = spacing.large
) else PaddingValues(
horizontal = spacing.extraLarge,
Expand Down
Loading