@@ -30,69 +30,18 @@ of this software and associated documentation files (the "Software"), to deal
30
30
import com .facebook .react .bridge .Promise ;
31
31
import com .facebook .react .bridge .ReactApplicationContext ;
32
32
import com .facebook .react .bridge .ReactContextBaseJavaModule ;
33
- import com .facebook .react .turbomodule .core .interfaces .TurboModule ;
34
- #if RCT_NEW_ARCH_ENABLED
35
- import com .facebook .react .bridge .ReactApplicationContext ;
33
+ import com .shopify .reactnative .checkoutsheetkit .NativeShopifyCheckoutSheetKitSpec ;
36
34
import com .facebook .react .bridge .ReactMethod ;
37
- import com .facebook .react .bridge .Promise ;
38
- import com .facebook .react .module .annotations .ReactModule ;
39
35
import com .facebook .react .bridge .ReadableMap ;
40
- import com .facebook .react .bridge .WritableNativeMap ;
41
- import com .facebook .react .bridge .UiThreadUtil ;
42
36
import com .facebook .react .bridge .ReadableArray ;
43
- import com .facebook .react .bridge .ReactNoCrashSoftException ;
44
- import com .facebook .react .module .annotations .ReactModuleList ;
45
- import com .facebook .react .bridge .NativeModule ;
46
- import com .facebook .react .turbomodule .core .interfaces .TurboModule ;
47
- import com .facebook .react .fabric .events .EventDispatcher ;
48
- import com .facebook .react .uimanager .events .EventDispatcherImpl ;
49
- import com .facebook .react .codegen .module .JavaModuleWrapper ;
50
- import com .facebook .react .bridge .ReactMarker ;
51
- import com .facebook .react .modules .core .DeviceEventManagerModule ;
52
- import com .facebook .react .modules .core .DeviceEventManagerModule .RCTDeviceEventEmitter ;
53
- import com .facebook .react .bridge .NoSuchKeyException ;
54
- import com .facebook .react .module .model .ReactModuleInfo ;
55
- import com .facebook .react .module .model .ReactModuleInfoProvider ;
56
- import com .facebook .jni .HybridData ;
57
- import com .facebook .proguard .annotations .DoNotStrip ;
58
- import com .facebook .react .bridge .JavaScriptContextHolder ;
59
- import com .facebook .proguard .annotations .DoNotStripAny ;
60
- import com .facebook .react .bridge .queue .MessageQueueThread ;
61
- import com .facebook .react .bridge .Dynamic ;
62
- import com .facebook .react .bridge .Arguments ;
63
- import com .facebook .react .common .MapBuilder ;
64
- import com .facebook .react .codegen .ReactNativeFeatureFlags ;
65
- import com .facebook .react .bridge .WritableMap ;
66
- import com .facebook .react .bridge .ReactSoftExceptionLogger ;
67
- import com .facebook .react .bridge .Callback ;
68
- import com .facebook .react .modules .core .DeviceEventManagerModule ;
69
- import com .facebook .react .bridge .ActivityEventListener ;
70
- import com .facebook .react .bridge .BaseJavaModule ;
71
- import com .facebook .react .bridge .LifecycleEventListener ;
72
- // Generated spec
73
- import com .facebook .react .bridge .ReactContext ;
74
- import com .facebook .react .module .annotations .ReactModule ;
75
- import com .facebook .react .module .annotations .ReactModuleList ;
76
- import com .facebook .react .turbomodule .core .interfaces .TurboModule ;
77
- import com .facebook .react .bridge .WritableMap ;
78
- import com .facebook .react .bridge .arguments ;
79
- import com .facebook .react .module .model .ReactModuleInfo ;
80
- import com .facebook .react .module .model .ReactModuleInfoProvider ;
81
- import com .facebook .react .module .annotations .ReactModule ;
82
- import com .facebook .react .turbomodule .core .interfaces .TurboModule ;
83
- #endif
84
- import com .facebook .react .bridge .ReactMethod ;
85
- import com .facebook .react .bridge .ReadableMap ;
86
37
import com .facebook .react .bridge .WritableNativeMap ;
87
38
import com .shopify .checkoutsheetkit .*;
88
39
89
40
import java .util .HashMap ;
90
41
import java .util .Map ;
91
42
import java .util .Objects ;
92
43
93
- public class ShopifyCheckoutSheetKitModule extends ReactContextBaseJavaModule implements TurboModule {
94
- private static final String MODULE_NAME = "ShopifyCheckoutSheetKit" ;
95
-
44
+ public class ShopifyCheckoutSheetKitModule extends NativeShopifyCheckoutSheetKitSpec {
96
45
public static Configuration checkoutConfig = new Configuration ();
97
46
98
47
private final ReactApplicationContext reactContext ;
@@ -112,12 +61,6 @@ public ShopifyCheckoutSheetKitModule(ReactApplicationContext reactContext) {
112
61
});
113
62
}
114
63
115
- @ NonNull
116
- @ Override
117
- public String getName () {
118
- return MODULE_NAME ;
119
- }
120
-
121
64
@ Override
122
65
public Map <String , Object > getConstants () {
123
66
final Map <String , Object > constants = new HashMap <>();
@@ -131,11 +74,12 @@ public void addListener(String eventName) {
131
74
}
132
75
133
76
@ ReactMethod
134
- public void removeListeners (Integer count ) {
77
+ public void removeListeners (double count ) {
135
78
// No-op but required for RN to register module
136
79
}
137
80
138
81
@ ReactMethod
82
+ @ Override
139
83
public void present (String checkoutURL ) {
140
84
Activity currentActivity = getCurrentActivity ();
141
85
if (currentActivity instanceof ComponentActivity ) {
@@ -148,6 +92,7 @@ public void present(String checkoutURL) {
148
92
}
149
93
150
94
@ ReactMethod
95
+ @ Override
151
96
public void dismiss () {
152
97
if (checkoutSheet != null ) {
153
98
checkoutSheet .dismiss ();
@@ -156,6 +101,7 @@ public void dismiss() {
156
101
}
157
102
158
103
@ ReactMethod
104
+ @ Override
159
105
public void preload (String checkoutURL ) {
160
106
Activity currentActivity = getCurrentActivity ();
161
107
@@ -165,11 +111,13 @@ public void preload(String checkoutURL) {
165
111
}
166
112
167
113
@ ReactMethod
114
+ @ Override
168
115
public void invalidateCache () {
169
116
ShopifyCheckoutSheetKit .invalidate ();
170
117
}
171
118
172
119
@ ReactMethod
120
+ @ Override
173
121
public void getConfig (Promise promise ) {
174
122
WritableNativeMap resultConfig = new WritableNativeMap ();
175
123
@@ -180,6 +128,7 @@ public void getConfig(Promise promise) {
180
128
}
181
129
182
130
@ ReactMethod
131
+ @ Override
183
132
public void setConfig (ReadableMap config ) {
184
133
Context context = getReactApplicationContext ();
185
134
@@ -213,13 +162,41 @@ public void setConfig(ReadableMap config) {
213
162
});
214
163
}
215
164
165
+ @ Override
166
+ public void isApplePayAvailable (Promise promise ) {
167
+ promise .resolve (false );
168
+ }
169
+
170
+ @ Override
171
+ public void isAcceleratedCheckoutAvailable (Promise promise ) {
172
+ promise .resolve (false );
173
+ }
174
+
175
+ @ Override
176
+ public void configureAcceleratedCheckouts (
177
+ String storefrontDomain ,
178
+ String storefrontAccessToken ,
179
+ String customerEmail ,
180
+ String customerPhoneNumber ,
181
+ String customerAccessToken ,
182
+ String applePayMerchantIdentifier ,
183
+ ReadableArray applePayContactFields ,
184
+ Promise promise ) {
185
+ promise .resolve (false );
186
+ }
187
+
216
188
@ ReactMethod
217
- public void initiateGeolocationRequest (Boolean allow ) {
189
+ public void initiateGeolocationRequest (boolean allow ) {
218
190
if (checkoutEventProcessor != null ) {
219
191
checkoutEventProcessor .invokeGeolocationCallback (allow );
220
192
}
221
193
}
222
194
195
+ @ Override
196
+ public String getVersion () {
197
+ return ShopifyCheckoutSheetKit .version ;
198
+ }
199
+
223
200
// Private
224
201
225
202
private ColorScheme getColorScheme (String colorScheme ) {
@@ -308,10 +285,10 @@ private Colors createColorsFromConfig(ReadableMap config) {
308
285
headerBackground ,
309
286
headerFont ,
310
287
progressIndicator ,
311
- // Parameter allows passing a custom drawable, we'll just support custom color for now
288
+ // Parameter allows passing a custom drawable, we'll just support custom color
289
+ // for now
312
290
null ,
313
- closeButtonColor
314
- );
291
+ closeButtonColor );
315
292
}
316
293
317
294
return null ;
0 commit comments