Skip to content

Commit 28d39dd

Browse files
authored
Merge pull request #2745 from Adyen/chore/simplify-additional-callbacks
v6 - Simplify additional callbacks
2 parents 47fada2 + fd3eeaa commit 28d39dd

4 files changed

Lines changed: 15 additions & 43 deletions

File tree

card/api/card.api

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ public final class com/adyen/checkout/card/BuildConfig {
4141
}
4242

4343
public final class com/adyen/checkout/card/CardCallbackExtKt {
44-
public static final fun card (Lcom/adyen/checkout/core/components/CheckoutCallbacks;Lkotlin/jvm/functions/Function1;)V
45-
public static final fun onBinLookup (Lcom/adyen/checkout/card/internal/CardCallbacks;Lcom/adyen/checkout/card/OnBinLookupCallback;)V
46-
public static final fun onBinValue (Lcom/adyen/checkout/card/internal/CardCallbacks;Lcom/adyen/checkout/card/OnBinValueCallback;)V
44+
public static final fun card (Lcom/adyen/checkout/core/components/CheckoutCallbacks;)V
45+
public static final fun card (Lcom/adyen/checkout/core/components/CheckoutCallbacks;Lcom/adyen/checkout/card/OnBinValueCallback;)V
46+
public static final fun card (Lcom/adyen/checkout/core/components/CheckoutCallbacks;Lcom/adyen/checkout/card/OnBinValueCallback;Lcom/adyen/checkout/card/OnBinLookupCallback;)V
47+
public static synthetic fun card$default (Lcom/adyen/checkout/core/components/CheckoutCallbacks;Lcom/adyen/checkout/card/OnBinValueCallback;Lcom/adyen/checkout/card/OnBinLookupCallback;ILjava/lang/Object;)V
4748
}
4849

4950
public final class com/adyen/checkout/card/CardConfiguration : com/adyen/checkout/core/components/internal/Configuration {

card/src/main/java/com/adyen/checkout/card/CardCallbackExt.kt

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,13 @@
88

99
package com.adyen.checkout.card
1010

11-
import com.adyen.checkout.card.internal.CardCallbacks
1211
import com.adyen.checkout.core.components.CheckoutCallbacks
1312

14-
fun CheckoutCallbacks.card(initBlock: CardCallbacks.() -> Unit) {
15-
apply {
16-
val callbacks = CardCallbacks().apply(initBlock)
17-
callbacks.onBinValue?.let { addAdditionalCallback(it) }
18-
callbacks.onBinLookup?.let { addAdditionalCallback(it) }
19-
}
20-
}
21-
22-
fun CardCallbacks.onBinValue(onBinValueCallback: OnBinValueCallback) {
23-
onBinValue = onBinValueCallback
24-
}
25-
26-
fun CardCallbacks.onBinLookup(onBinLookupCallback: OnBinLookupCallback) {
27-
onBinLookup = onBinLookupCallback
13+
@JvmOverloads
14+
fun CheckoutCallbacks.card(
15+
onBinValue: OnBinValueCallback? = null,
16+
onBinLookup: OnBinLookupCallback? = null,
17+
) {
18+
onBinValue?.let { addAdditionalCallback(it) }
19+
onBinLookup?.let { addAdditionalCallback(it) }
2820
}

card/src/main/java/com/adyen/checkout/card/internal/CardCallbacks.kt

Lines changed: 0 additions & 19 deletions
This file was deleted.

example-app/src/main/java/com/adyen/checkout/example/ui/v6/V6ViewModel.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import androidx.lifecycle.ViewModel
1818
import androidx.lifecycle.viewModelScope
1919
import com.adyen.checkout.card.BinLookupData
2020
import com.adyen.checkout.card.card
21-
import com.adyen.checkout.card.onBinLookup
22-
import com.adyen.checkout.card.onBinValue
2321
import com.adyen.checkout.core.action.data.Action
2422
import com.adyen.checkout.core.action.data.ActionComponentData
2523
import com.adyen.checkout.core.common.CheckoutContext
@@ -204,10 +202,10 @@ internal class V6ViewModel @Inject constructor(
204202
onAdditionalDetails = ::onAdditionalDetails,
205203
onError = ::onError,
206204
) {
207-
card {
208-
onBinValue(::onBinValue)
209-
onBinLookup(::onBinLookup)
210-
}
205+
card(
206+
onBinValue = ::onBinValue,
207+
onBinLookup = ::onBinLookup,
208+
)
211209
},
212210
coroutineScope = viewModelScope,
213211
)

0 commit comments

Comments
 (0)