react-native-klarna-inapp-sdk 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/KlarnaMobileSDKPackage.java +1 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/payments/KlarnaPaymentViewManager.java +7 -10
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/standalonewebview/KlarnaStandaloneWebViewEventSender.java +8 -8
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/payments/KlarnaPaymentViewManagerTest.java +12 -29
- package/ios/RNKlarnaMobileSDK.xcodeproj/project.pbxproj +1 -1
- package/package.json +1 -1
- package/react-native-klarna-inapp-sdk.podspec +1 -1
package/android/build.gradle
CHANGED
|
@@ -108,7 +108,7 @@ dependencies {
|
|
|
108
108
|
//noinspection GradleDynamicVersion
|
|
109
109
|
implementation "com.facebook.react:react-native:${getExtOrFallback('reactnativeVersion', '+')}"
|
|
110
110
|
|
|
111
|
-
implementation 'com.klarna.mobile:sdk:2.6.
|
|
111
|
+
implementation 'com.klarna.mobile:sdk:2.6.14'
|
|
112
112
|
|
|
113
113
|
testImplementation "junit:junit:4.13"
|
|
114
114
|
testImplementation 'androidx.test:core:1.2.0'
|
|
@@ -26,7 +26,7 @@ public class KlarnaMobileSDKPackage implements ReactPackage {
|
|
|
26
26
|
@Override
|
|
27
27
|
public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
|
|
28
28
|
return List.of(
|
|
29
|
-
new KlarnaPaymentViewManager(reactContext
|
|
29
|
+
new KlarnaPaymentViewManager(reactContext),
|
|
30
30
|
new KlarnaStandaloneWebViewManager(reactContext, (Application) reactContext.getApplicationContext())
|
|
31
31
|
);
|
|
32
32
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
package com.klarna.mobile.sdk.reactnative.payments;
|
|
2
2
|
|
|
3
|
-
import android.app.Application;
|
|
4
|
-
|
|
5
3
|
import androidx.annotation.NonNull;
|
|
6
4
|
import androidx.annotation.Nullable;
|
|
7
5
|
|
|
@@ -19,7 +17,6 @@ import com.klarna.mobile.sdk.api.payments.KlarnaPaymentView;
|
|
|
19
17
|
import com.klarna.mobile.sdk.api.payments.KlarnaPaymentViewCallback;
|
|
20
18
|
import com.klarna.mobile.sdk.api.payments.KlarnaPaymentsSDKError;
|
|
21
19
|
import com.klarna.mobile.sdk.reactnative.common.ArgumentsUtil;
|
|
22
|
-
import com.klarna.mobile.sdk.reactnative.common.WebViewResizeObserver;
|
|
23
20
|
import com.klarna.mobile.sdk.reactnative.spec.RNKlarnaPaymentViewSpec;
|
|
24
21
|
|
|
25
22
|
import org.jetbrains.annotations.NotNull;
|
|
@@ -49,7 +46,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
49
46
|
// Store a list of views to event dispatchers so we send up events via the right views.
|
|
50
47
|
private final Map<WeakReference<PaymentViewWrapper>, EventDispatcher> viewToDispatcher;
|
|
51
48
|
|
|
52
|
-
public KlarnaPaymentViewManager(ReactApplicationContext reactApplicationContext
|
|
49
|
+
public KlarnaPaymentViewManager(ReactApplicationContext reactApplicationContext) {
|
|
53
50
|
super();
|
|
54
51
|
this.viewToDispatcher = new HashMap<>();
|
|
55
52
|
this.reactAppContext = reactApplicationContext;
|
|
@@ -264,7 +261,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
264
261
|
public void onAuthorized(@NotNull KlarnaPaymentView paymentView, boolean approved, @org.jetbrains.annotations.Nullable String authToken, @org.jetbrains.annotations.Nullable Boolean finalizeRequired) {
|
|
265
262
|
requestLayout(paymentView);
|
|
266
263
|
WritableMap params = ArgumentsUtil.createMap(
|
|
267
|
-
new HashMap
|
|
264
|
+
new HashMap<String, Object>() {{
|
|
268
265
|
put("approved", approved);
|
|
269
266
|
put("authToken", authToken);
|
|
270
267
|
put("finalizeRequired", finalizeRequired);
|
|
@@ -277,7 +274,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
277
274
|
public void onReauthorized(@NotNull KlarnaPaymentView paymentView, boolean approved, @org.jetbrains.annotations.Nullable String authToken) {
|
|
278
275
|
requestLayout(paymentView);
|
|
279
276
|
WritableMap params = ArgumentsUtil.createMap(
|
|
280
|
-
new HashMap
|
|
277
|
+
new HashMap<String, Object>() {{
|
|
281
278
|
put("approved", approved);
|
|
282
279
|
put("authToken", authToken);
|
|
283
280
|
}}
|
|
@@ -289,7 +286,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
289
286
|
public void onFinalized(@NotNull KlarnaPaymentView paymentView, boolean approved, @org.jetbrains.annotations.Nullable String authToken) {
|
|
290
287
|
requestLayout(paymentView);
|
|
291
288
|
WritableMap params = ArgumentsUtil.createMap(
|
|
292
|
-
new HashMap
|
|
289
|
+
new HashMap<String, Object>() {{
|
|
293
290
|
put("approved", approved);
|
|
294
291
|
put("authToken", authToken);
|
|
295
292
|
}}
|
|
@@ -302,7 +299,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
302
299
|
requestLayout(klarnaPaymentView);
|
|
303
300
|
ReadableMap sdkError = buildErrorMap(klarnaPaymentsSDKError);
|
|
304
301
|
WritableMap params = ArgumentsUtil.createMap(
|
|
305
|
-
new HashMap
|
|
302
|
+
new HashMap<String, Object>() {{
|
|
306
303
|
put("error", sdkError);
|
|
307
304
|
}}
|
|
308
305
|
);
|
|
@@ -312,7 +309,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
312
309
|
@Override
|
|
313
310
|
public void onResized(PaymentViewWrapper paymentViewWrapper, int value) {
|
|
314
311
|
WritableMap params = ArgumentsUtil.createMap(
|
|
315
|
-
new HashMap
|
|
312
|
+
new HashMap<String, Object>() {{
|
|
316
313
|
put("height", String.valueOf(value));
|
|
317
314
|
}}
|
|
318
315
|
);
|
|
@@ -321,7 +318,7 @@ public class KlarnaPaymentViewManager extends RNKlarnaPaymentViewSpec<PaymentVie
|
|
|
321
318
|
|
|
322
319
|
ReadableMap buildErrorMap(KlarnaPaymentsSDKError klarnaPaymentsSDKError) {
|
|
323
320
|
return ArgumentsUtil.createMap(
|
|
324
|
-
new HashMap
|
|
321
|
+
new HashMap<String, Object>() {{
|
|
325
322
|
put("action", klarnaPaymentsSDKError.getAction());
|
|
326
323
|
put("isFatal", klarnaPaymentsSDKError.isFatal());
|
|
327
324
|
put("message", klarnaPaymentsSDKError.getMessage());
|
|
@@ -46,7 +46,7 @@ public class KlarnaStandaloneWebViewEventSender {
|
|
|
46
46
|
public void sendLoadProgressEvent(@Nullable KlarnaStandaloneWebView view, int progress) {
|
|
47
47
|
WritableMap webViewMap = buildWebViewMap(view, null);
|
|
48
48
|
webViewMap.putDouble(PARAM_NAME_PROGRESS, progress);
|
|
49
|
-
WritableMap params = ArgumentsUtil.createMap(new HashMap
|
|
49
|
+
WritableMap params = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
50
50
|
put(PARAM_NAME_PROGRESS_EVENT, webViewMap);
|
|
51
51
|
}});
|
|
52
52
|
postEventForView(KlarnaStandaloneWebViewEvent.Event.ON_LOAD_PROGRESS, params, view);
|
|
@@ -56,7 +56,7 @@ public class KlarnaStandaloneWebViewEventSender {
|
|
|
56
56
|
WritableMap webViewMap = buildWebViewMap(view, null);
|
|
57
57
|
webViewMap.putDouble(PARAM_NAME_CODE, code);
|
|
58
58
|
webViewMap.putString(PARAM_NAME_DESCRIPTION, description);
|
|
59
|
-
WritableMap params = ArgumentsUtil.createMap(new HashMap
|
|
59
|
+
WritableMap params = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
60
60
|
put(PARAM_NAME_NAVIGATION_ERROR, webViewMap);
|
|
61
61
|
}});
|
|
62
62
|
postEventForView(KlarnaStandaloneWebViewEvent.Event.ON_ERROR, params, view);
|
|
@@ -64,27 +64,27 @@ public class KlarnaStandaloneWebViewEventSender {
|
|
|
64
64
|
|
|
65
65
|
public void sendNavigationEvent(@Nullable KlarnaStandaloneWebView view, KlarnaStandaloneWebViewEvent.Event event, String url) {
|
|
66
66
|
WritableMap webViewMap = buildWebViewMap(view, url);
|
|
67
|
-
WritableMap params = ArgumentsUtil.createMap(new HashMap
|
|
67
|
+
WritableMap params = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
68
68
|
put(PARAM_NAME_NAVIGATION_EVENT, webViewMap);
|
|
69
69
|
}});
|
|
70
70
|
postEventForView(event, params, view);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
public void sendKlarnaMessageEvent(@Nullable KlarnaStandaloneWebView view, @NonNull KlarnaProductEvent klarnaProductEvent) {
|
|
74
|
-
ReadableMap eventMap = ArgumentsUtil.createMap(new HashMap
|
|
74
|
+
ReadableMap eventMap = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
75
75
|
put(PARAM_NAME_ACTION, klarnaProductEvent.getAction());
|
|
76
76
|
}});
|
|
77
|
-
WritableMap params = ArgumentsUtil.createMap(new HashMap
|
|
77
|
+
WritableMap params = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
78
78
|
put(PARAM_NAME_KLARNA_MESSAGE_EVENT, eventMap);
|
|
79
79
|
}});
|
|
80
80
|
postEventForView(KlarnaStandaloneWebViewEvent.Event.ON_KLARNA_MESSAGE, params, view);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
public void sendRenderProcessGoneEvent(@Nullable KlarnaStandaloneWebView view, boolean didCrash) {
|
|
84
|
-
ReadableMap eventMap = ArgumentsUtil.createMap(new HashMap
|
|
84
|
+
ReadableMap eventMap = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
85
85
|
put(PARAM_NAME_DID_CRASH, didCrash);
|
|
86
86
|
}});
|
|
87
|
-
WritableMap params = ArgumentsUtil.createMap(new HashMap
|
|
87
|
+
WritableMap params = ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
88
88
|
put(PARAM_NAME_RENDER_PROCESS_GONE_EVENT, eventMap);
|
|
89
89
|
}});
|
|
90
90
|
postEventForView(KlarnaStandaloneWebViewEvent.Event.ON_RENDER_PROCESS_GONE, params, view);
|
|
@@ -123,7 +123,7 @@ public class KlarnaStandaloneWebViewEventSender {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
private WritableMap buildWebViewMap(KlarnaStandaloneWebView webView, String url) {
|
|
126
|
-
return ArgumentsUtil.createMap(new HashMap
|
|
126
|
+
return ArgumentsUtil.createMap(new HashMap<String, Object>() {{
|
|
127
127
|
if (webView != null) {
|
|
128
128
|
put(PARAM_NAME_URL, url != null ? url : webView.getUrl());
|
|
129
129
|
put(PARAM_NAME_TITLE, webView.getTitle());
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
package com.klarna.mobile.sdk.reactnative.payments;
|
|
2
2
|
|
|
3
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_AUTHORIZE;
|
|
4
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_FINALIZE;
|
|
5
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_INITIALIZE;
|
|
6
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_LOAD;
|
|
7
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_LOAD_PAYMENT_REVIEW;
|
|
8
|
+
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_REAUTHORIZE;
|
|
9
|
+
|
|
3
10
|
import android.app.Application;
|
|
4
11
|
|
|
5
12
|
import androidx.test.core.app.ApplicationProvider;
|
|
@@ -20,21 +27,12 @@ import org.junit.Rule;
|
|
|
20
27
|
import org.junit.Test;
|
|
21
28
|
import org.junit.runner.RunWith;
|
|
22
29
|
import org.mockito.Mockito;
|
|
23
|
-
import org.mockito.invocation.InvocationOnMock;
|
|
24
|
-
import org.mockito.stubbing.Answer;
|
|
25
30
|
import org.powermock.api.mockito.PowerMockito;
|
|
26
31
|
import org.powermock.core.classloader.annotations.PowerMockIgnore;
|
|
27
32
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
|
28
33
|
import org.powermock.modules.junit4.rule.PowerMockRule;
|
|
29
34
|
import org.robolectric.RobolectricTestRunner;
|
|
30
35
|
|
|
31
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_AUTHORIZE;
|
|
32
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_FINALIZE;
|
|
33
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_INITIALIZE;
|
|
34
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_LOAD;
|
|
35
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_LOAD_PAYMENT_REVIEW;
|
|
36
|
-
import static com.klarna.mobile.sdk.reactnative.payments.KlarnaPaymentViewManager.COMMAND_REAUTHORIZE;
|
|
37
|
-
|
|
38
36
|
import java.util.Collections;
|
|
39
37
|
|
|
40
38
|
@PrepareForTest({Arguments.class})
|
|
@@ -45,39 +43,24 @@ public class KlarnaPaymentViewManagerTest {
|
|
|
45
43
|
@Rule
|
|
46
44
|
public PowerMockRule rule = new PowerMockRule();
|
|
47
45
|
|
|
48
|
-
private Application application;
|
|
49
|
-
private ReactApplicationContext reactContext;
|
|
50
|
-
|
|
51
46
|
private KlarnaPaymentViewManager manager;
|
|
52
47
|
private PaymentViewWrapper wrapper;
|
|
53
48
|
|
|
54
49
|
@Before
|
|
55
50
|
public void setup() {
|
|
56
|
-
application = ApplicationProvider.getApplicationContext();
|
|
57
|
-
reactContext = new ReactApplicationContext(application);
|
|
51
|
+
Application application = ApplicationProvider.getApplicationContext();
|
|
52
|
+
ReactApplicationContext reactContext = new ReactApplicationContext(application);
|
|
58
53
|
|
|
59
|
-
manager = new KlarnaPaymentViewManager(reactContext
|
|
54
|
+
manager = new KlarnaPaymentViewManager(reactContext);
|
|
60
55
|
|
|
61
56
|
wrapper = Mockito.mock(PaymentViewWrapper.class);
|
|
62
57
|
wrapper.paymentView = Mockito.mock(KlarnaPaymentView.class);
|
|
63
58
|
|
|
64
59
|
PowerMockito.mockStatic(Arguments.class);
|
|
65
60
|
PowerMockito.when(Arguments.createArray())
|
|
66
|
-
.thenAnswer(
|
|
67
|
-
new Answer<Object>() {
|
|
68
|
-
@Override
|
|
69
|
-
public Object answer(InvocationOnMock invocation) throws Throwable {
|
|
70
|
-
return new JavaOnlyArray();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
61
|
+
.thenAnswer(invocation -> new JavaOnlyArray());
|
|
73
62
|
PowerMockito.when(Arguments.createMap())
|
|
74
|
-
.thenAnswer(
|
|
75
|
-
new Answer<Object>() {
|
|
76
|
-
@Override
|
|
77
|
-
public Object answer(InvocationOnMock invocation) throws Throwable {
|
|
78
|
-
return new JavaOnlyMap();
|
|
79
|
-
}
|
|
80
|
-
});
|
|
63
|
+
.thenAnswer(invocation -> new JavaOnlyMap());
|
|
81
64
|
}
|
|
82
65
|
|
|
83
66
|
@After
|
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
"${PODS_ROOT}/Target Support Files/Pods-RNKlarnaMobileSDK-RNKlarnaMobileSDKTests/Pods-RNKlarnaMobileSDK-RNKlarnaMobileSDKTests-frameworks.sh",
|
|
317
317
|
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion",
|
|
318
318
|
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog",
|
|
319
|
-
"${PODS_XCFRAMEWORKS_BUILD_DIR}/KlarnaMobileSDK/
|
|
319
|
+
"${PODS_XCFRAMEWORKS_BUILD_DIR}/KlarnaMobileSDK/basic/KlarnaMobileSDK.framework/KlarnaMobileSDK",
|
|
320
320
|
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
|
|
321
321
|
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
|
322
322
|
);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-klarna-inapp-sdk",
|
|
3
3
|
"title": "Klarna Mobile SDK React Native",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.2",
|
|
5
5
|
"description": "This library wraps Klarna Mobile SDK and exposes its functionality as React Native components.",
|
|
6
6
|
"main": "lib/commonjs/index",
|
|
7
7
|
"module": "lib/module/index",
|