Skip to content

Commit 1cee27c

Browse files
Merge pull request #9 from afterpay/maintenance/update-from-upstream-4.2.0
Maintenance: update from upstream 4.2.0
2 parents 7c2db36 + e058a87 commit 1cee27c

File tree

87 files changed

+497
-413
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+497
-413
lines changed

Diff for: .editorconfig

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ indent_size = 4
88
insert_final_newline = true
99
trim_trailing_whitespace = true
1010

11+
[*.{kt,kts}]
12+
ij_kotlin_allow_trailing_comma=true
13+
ij_kotlin_allow_trailing_comma_on_call_site=true
14+
1115
[*.md]
1216
trim_trailing_whitespace = false
1317

Diff for: .github/workflows/build-and-test.yml

+8-6
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Clone Repository
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v3
1616

1717
- name: Set up JDK 11
18-
uses: actions/setup-java@v1
18+
uses: actions/setup-java@v2
1919
with:
20-
java-version: '11'
20+
java-version: 11
21+
distribution: 'zulu'
2122

2223
- name: Lint
2324
run: ./gradlew afterpay:lintDebug afterpay:ktlint
@@ -30,12 +31,13 @@ jobs:
3031
runs-on: ubuntu-latest
3132
steps:
3233
- name: Clone Repository
33-
uses: actions/checkout@v2
34+
uses: actions/checkout@v3
3435

3536
- name: Set up JDK 11
36-
uses: actions/setup-java@v1
37+
uses: actions/setup-java@v2
3738
with:
38-
java-version: '11'
39+
java-version: 11
40+
distribution: 'zulu'
3941

4042
- name: Build and Lint
4143
run: ./gradlew example:buildDebug example:lintDebug example:ktlint

Diff for: .github/workflows/release-snapshot.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Clone Repository
12-
uses: actions/checkout@v2
12+
uses: actions/checkout@v3
1313

1414
- name: Set up JDK 11
15-
uses: actions/setup-java@v1
15+
uses: actions/setup-java@v2
1616
with:
17-
java-version: '11'
17+
java-version: 11
18+
distribution: 'zulu'
1819

1920
- name: Clean repository before building SDK
2021
run: ./gradlew clean

Diff for: .github/workflows/release.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Clone Repository
12-
uses: actions/checkout@v2
12+
uses: actions/checkout@v3
1313

1414
- name: Set up JDK 11
15-
uses: actions/setup-java@v1
15+
uses: actions/setup-java@v2
1616
with:
17-
java-version: '11'
17+
java-version: 11
18+
distribution: 'zulu'
1819

1920
- name: Remove SNAPSHOT from version
2021
run: sed -i 's/-SNAPSHOT//g' gradle.properties

Diff for: .idea/codeStyles/Project.xml

-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: afterpay/consumer-rules.pro

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-keepattributes *Annotation*, InnerClasses
2-
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
32

43
# kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
54
-keepclassmembers class kotlinx.serialization.json.** {

Diff for: afterpay/src/main/kotlin/com/afterpay/android/Afterpay.kt

+17-15
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.afterpay.android.internal.getCancellationStatusExtraV3
1515
import com.afterpay.android.internal.getOrderTokenExtra
1616
import com.afterpay.android.internal.getRegionLanguage
1717
import com.afterpay.android.internal.getResultDataExtra
18+
import com.afterpay.android.internal.putCheckoutShouldLoadRedirectUrls
1819
import com.afterpay.android.internal.putCheckoutUrlExtra
1920
import com.afterpay.android.internal.putCheckoutV2OptionsExtra
2021
import com.afterpay.android.internal.putCheckoutV3OptionsExtra
@@ -75,10 +76,11 @@ object Afterpay {
7576
* Afterpay checkout.
7677
*/
7778
@JvmStatic
78-
fun createCheckoutIntent(context: Context, checkoutUrl: String): Intent {
79+
fun createCheckoutIntent(context: Context, checkoutUrl: String, loadRedirectUrls: Boolean = false): Intent {
7980
val url = if (enabled) { checkoutUrl } else { "LANGUAGE_NOT_SUPPORTED" }
8081
return Intent(context, AfterpayCheckoutActivity::class.java)
8182
.putCheckoutUrlExtra(url)
83+
.putCheckoutShouldLoadRedirectUrls(loadRedirectUrls)
8284
}
8385

8486
/**
@@ -89,7 +91,7 @@ object Afterpay {
8991
@JvmStatic
9092
fun createCheckoutV2Intent(
9193
context: Context,
92-
options: AfterpayCheckoutV2Options = AfterpayCheckoutV2Options()
94+
options: AfterpayCheckoutV2Options = AfterpayCheckoutV2Options(),
9395
): Intent = Intent(context, AfterpayCheckoutV2Activity::class.java)
9496
.putCheckoutV2OptionsExtra(options)
9597

@@ -125,14 +127,14 @@ object Afterpay {
125127
maximumAmount: String,
126128
currencyCode: String,
127129
locale: Locale,
128-
environment: AfterpayEnvironment
130+
environment: AfterpayEnvironment,
129131
) {
130132
configuration = Configuration(
131133
minimumAmount = minimumAmount?.toBigDecimal(),
132134
maximumAmount = maximumAmount.toBigDecimal(),
133135
currency = Currency.getInstance(currencyCode),
134136
locale = locale.clone() as Locale,
135-
environment = environment
137+
environment = environment,
136138
).also { validateConfiguration(it) }
137139
}
138140

@@ -192,7 +194,7 @@ object Afterpay {
192194
orderTotal: OrderTotal,
193195
items: Array<CheckoutV3Item> = arrayOf(),
194196
buyNow: Boolean,
195-
configuration: CheckoutV3Configuration? = checkoutV3Configuration
197+
configuration: CheckoutV3Configuration? = checkoutV3Configuration,
196198
): Intent {
197199
requireNotNull(configuration) {
198200
"`configuration` must be set via `setCheckoutV3Configuration` or passed into this function"
@@ -207,7 +209,7 @@ object Afterpay {
207209
buyNow = buyNow,
208210
checkoutPayload = Json.encodeToString(checkoutRequest),
209211
checkoutUrl = configuration.v3CheckoutUrl,
210-
confirmUrl = configuration.v3CheckoutConfirmationUrl
212+
confirmUrl = configuration.v3CheckoutConfirmationUrl,
211213
)
212214

213215
return Intent(context, AfterpayCheckoutV3Activity::class.java)
@@ -221,7 +223,7 @@ object Afterpay {
221223
fun updateMerchantReferenceV3(
222224
merchantReference: String,
223225
tokens: CheckoutV3Tokens,
224-
configuration: CheckoutV3Configuration? = checkoutV3Configuration
226+
configuration: CheckoutV3Configuration? = checkoutV3Configuration,
225227
): Result<Unit> {
226228
requireNotNull(configuration) {
227229
"`configuration` must be set via `setCheckoutV3Configuration` or passed into this function"
@@ -231,13 +233,13 @@ object Afterpay {
231233
merchantReference,
232234
token = tokens.token,
233235
ppaConfirmToken = tokens.ppaConfirmToken,
234-
singleUseCardToken = tokens.singleUseCardToken
236+
singleUseCardToken = tokens.singleUseCardToken,
235237
)
236238

237239
return ApiV3.requestUnit(
238240
configuration.v3CheckoutUrl,
239241
ApiV3.HttpVerb.PUT,
240-
payload
242+
payload,
241243
)
242244
}
243245

@@ -256,7 +258,7 @@ object Afterpay {
256258
updateMerchantReferenceV3(merchantReference, tokens, configuration)
257259
.fold(
258260
onSuccess = { null },
259-
onFailure = { throw it }
261+
onFailure = { throw it },
260262
)
261263
}
262264
}
@@ -266,7 +268,7 @@ object Afterpay {
266268
*/
267269
@JvmSynthetic
268270
fun fetchMerchantConfigurationV3(
269-
configuration: CheckoutV3Configuration? = checkoutV3Configuration
271+
configuration: CheckoutV3Configuration? = checkoutV3Configuration,
270272
): Result<Configuration> {
271273
requireNotNull(configuration) {
272274
"`configuration` must be set via `setCheckoutV3Configuration` or passed into this function"
@@ -279,7 +281,7 @@ object Afterpay {
279281
maximumAmount = it.maximumAmount.amount,
280282
currency = Currency.getInstance(configuration.region.currencyCode),
281283
locale = configuration.region.locale,
282-
environment = configuration.environment
284+
environment = configuration.environment,
283285
)
284286
}
285287
}
@@ -291,7 +293,7 @@ object Afterpay {
291293
@JvmStatic
292294
@JvmOverloads
293295
fun fetchMerchantConfigurationV3Async(
294-
configuration: CheckoutV3Configuration? = checkoutV3Configuration
296+
configuration: CheckoutV3Configuration? = checkoutV3Configuration,
295297
): CompletableFuture<Configuration> {
296298
requireNotNull(configuration) {
297299
"`configuration` must be set via `setCheckoutV3Configuration` or passed into this function"
@@ -305,13 +307,13 @@ object Afterpay {
305307
maximumAmount = it.maximumAmount.amount,
306308
currency = Currency.getInstance(configuration.region.currencyCode),
307309
locale = configuration.region.locale,
308-
environment = configuration.environment
310+
environment = configuration.environment,
309311
)
310312
}
311313

312314
result.fold(
313315
onSuccess = { it },
314-
onFailure = { throw it }
316+
onFailure = { throw it },
315317
)
316318
}
317319
}

Diff for: afterpay/src/main/kotlin/com/afterpay/android/AfterpayCheckoutV2Handler.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ interface AfterpayCheckoutV2Handler {
1010

1111
fun shippingAddressDidChange(
1212
address: ShippingAddress,
13-
onProvideShippingOptions: (ShippingOptionsResult) -> Unit
13+
onProvideShippingOptions: (ShippingOptionsResult) -> Unit,
1414
)
1515

1616
fun shippingOptionDidChange(
1717
shippingOption: ShippingOption,
18-
onProvideShippingOption: (ShippingOptionUpdateResult?) -> Unit
18+
onProvideShippingOption: (ShippingOptionUpdateResult?) -> Unit,
1919
)
2020
}

Diff for: afterpay/src/main/kotlin/com/afterpay/android/AfterpayCheckoutV2Options.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ data class AfterpayCheckoutV2Options(
77
val pickup: Boolean? = null,
88
val buyNow: Boolean? = null,
99
val shippingOptionRequired: Boolean? = null,
10-
val enableSingleShippingOptionUpdate: Boolean? = null
10+
val enableSingleShippingOptionUpdate: Boolean? = null,
1111
) : Parcelable {
1212
constructor(parcel: Parcel) : this(
1313
parcel.readValue(Boolean::class.java.classLoader) as? Boolean,
1414
parcel.readValue(Boolean::class.java.classLoader) as? Boolean,
1515
parcel.readValue(Boolean::class.java.classLoader) as? Boolean,
16-
parcel.readValue(Boolean::class.java.classLoader) as? Boolean
16+
parcel.readValue(Boolean::class.java.classLoader) as? Boolean,
1717
)
1818

1919
override fun writeToParcel(parcel: Parcel, flags: Int) {

Diff for: afterpay/src/main/kotlin/com/afterpay/android/AfterpayEnvironment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ import java.util.Locale
55
enum class AfterpayEnvironment {
66
SANDBOX, PRODUCTION;
77

8-
override fun toString(): String = name.toLowerCase(Locale.ROOT)
8+
override fun toString(): String = name.lowercase(Locale.ROOT)
99
}

Diff for: afterpay/src/main/kotlin/com/afterpay/android/CancellationStatus.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ enum class CancellationStatus {
1212
enum class CancellationStatusV3 {
1313
USER_INITIATED,
1414
CONFIGURATION_ERROR,
15-
REQUEST_ERROR
15+
REQUEST_ERROR,
1616
}

Diff for: afterpay/src/main/kotlin/com/afterpay/android/internal/AfterpayCheckoutCompletion.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ import kotlinx.serialization.Serializable
55
@Serializable
66
internal data class AfterpayCheckoutCompletion(
77
val status: Status,
8-
val orderToken: String
8+
val orderToken: String,
99
) {
1010

1111
@Suppress("UNUSED_PARAMETER")
1212
@Serializable
1313
internal enum class Status(statusString: String) {
1414
SUCCESS("SUCCESS"),
15-
CANCELLED("CANCELLED")
15+
CANCELLED("CANCELLED"),
1616
}
1717
}

Diff for: afterpay/src/main/kotlin/com/afterpay/android/internal/AfterpayCheckoutMessage.kt

+11-11
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ internal sealed class AfterpayCheckoutMessage {
2424

2525
fun fromShippingOptionsResult(
2626
result: ShippingOptionsResult,
27-
meta: AfterpayCheckoutMessageMeta
27+
meta: AfterpayCheckoutMessageMeta,
2828
): AfterpayCheckoutMessage = when (result) {
2929
is ShippingOptionsErrorResult -> CheckoutErrorMessage(meta, result.error.name)
3030
is ShippingOptionsSuccessResult -> ShippingOptionsMessage(meta, result.shippingOptions)
3131
}
3232

3333
fun fromShippingOptionUpdateResult(
3434
result: ShippingOptionUpdateResult?,
35-
meta: AfterpayCheckoutMessageMeta
35+
meta: AfterpayCheckoutMessageMeta,
3636
): AfterpayCheckoutMessage = when (result) {
3737
is ShippingOptionUpdateErrorResult -> CheckoutErrorMessage(meta, result.error.name)
3838
is ShippingOptionUpdateSuccessResult -> ShippingOptionUpdateMessage(
3939
meta,
40-
result.shippingOptionUpdate
40+
result.shippingOptionUpdate,
4141
)
4242
null -> EmptyPayloadMessage(meta)
4343
}
@@ -48,53 +48,53 @@ internal sealed class AfterpayCheckoutMessage {
4848
@SerialName("onMessage")
4949
internal data class CheckoutLogMessage(
5050
override val meta: AfterpayCheckoutMessageMeta,
51-
val payload: CheckoutLog
51+
val payload: CheckoutLog,
5252
) : AfterpayCheckoutMessage() {
5353

5454
@Serializable
5555
internal data class CheckoutLog(
5656
val severity: String,
57-
val message: String
57+
val message: String,
5858
)
5959
}
6060

6161
@Serializable
6262
@SerialName("onError")
6363
internal data class CheckoutErrorMessage(
6464
override val meta: AfterpayCheckoutMessageMeta,
65-
val error: String
65+
val error: String,
6666
) : AfterpayCheckoutMessage()
6767

6868
@Serializable
6969
@SerialName("onShippingAddressChange")
7070
internal data class ShippingAddressMessage(
7171
override val meta: AfterpayCheckoutMessageMeta,
72-
val payload: ShippingAddress
72+
val payload: ShippingAddress,
7373
) : AfterpayCheckoutMessage()
7474

7575
@Serializable
7676
@SerialName("onShippingOptionChange")
7777
internal data class ShippingOptionMessage(
7878
override val meta: AfterpayCheckoutMessageMeta,
79-
val payload: ShippingOption
79+
val payload: ShippingOption,
8080
) : AfterpayCheckoutMessage()
8181

8282
@Serializable
8383
@SerialName("onShippingOptionUpdateChange")
8484
internal data class ShippingOptionUpdateMessage(
8585
override val meta: AfterpayCheckoutMessageMeta,
86-
val payload: ShippingOptionUpdate?
86+
val payload: ShippingOptionUpdate?,
8787
) : AfterpayCheckoutMessage()
8888

8989
@Serializable
9090
@SerialName("onShippingOptionsChange")
9191
internal data class ShippingOptionsMessage(
9292
override val meta: AfterpayCheckoutMessageMeta,
93-
val payload: List<ShippingOption>
93+
val payload: List<ShippingOption>,
9494
) : AfterpayCheckoutMessage()
9595

9696
@Serializable
9797
@SerialName("onEmptyPayload")
9898
internal data class EmptyPayloadMessage(
99-
override val meta: AfterpayCheckoutMessageMeta
99+
override val meta: AfterpayCheckoutMessageMeta,
100100
) : AfterpayCheckoutMessage()

0 commit comments

Comments
 (0)