react-native-repro 3.24.0 → 4.0.0

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.
Files changed (50) hide show
  1. package/React-Repro.podspec +2 -2
  2. package/android/build.gradle +28 -1
  3. package/android/src/main/java/io/repro/android/reactbridge/{ReproReactBridgeModule.java → ReproReactBridgeModuleImpl.java} +262 -70
  4. package/android/src/main/java/io/repro/android/reactbridge/{ReproRemoteConfigBridge.java → ReproRemoteConfigBridgeModuleImpl.java} +19 -34
  5. package/android/src/newarch/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrlModule.java +54 -0
  6. package/android/src/newarch/java/io/repro/android/reactbridge/ReproReactBridgeModule.java +367 -0
  7. package/android/src/newarch/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +78 -0
  8. package/android/src/newarch/java/io/repro/android/reactbridge/ReproRemoteConfigBridgeModule.java +79 -0
  9. package/android/src/{main/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrl.java → oldarch/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrlModule.java} +4 -4
  10. package/android/src/oldarch/java/io/repro/android/reactbridge/ReproReactBridgeModule.java +365 -0
  11. package/android/src/oldarch/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +29 -0
  12. package/android/src/oldarch/java/io/repro/android/reactbridge/ReproRemoteConfigBridgeModule.java +77 -0
  13. package/index.js +44 -232
  14. package/ios/RPRReproReactBridge.h +19 -4
  15. package/ios/{RPRReproReactBridge.m → RPRReproReactBridge.mm} +660 -193
  16. package/ios/RPRReproReactBridgeImpl.h +111 -0
  17. package/ios/RPRReproReactBridgeImpl.m +713 -0
  18. package/package.json +22 -1
  19. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar +0 -0
  20. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar.md5 +1 -0
  21. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar.sha1 +1 -0
  22. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom +24 -0
  23. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom.md5 +1 -0
  24. package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom.sha1 +1 -0
  25. package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml +3 -3
  26. package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml.md5 +1 -1
  27. package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml.sha1 +1 -1
  28. package/sdk-ios/Repro.xcframework/_CodeSignature/CodeDirectory +0 -0
  29. package/sdk-ios/Repro.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  30. package/sdk-ios/Repro.xcframework/_CodeSignature/CodeResources +18 -18
  31. package/sdk-ios/Repro.xcframework/_CodeSignature/CodeSignature +0 -0
  32. package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Headers/Repro.h +63 -0
  33. package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Info.plist +0 -0
  34. package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Repro +0 -0
  35. package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Headers/Repro.h +63 -0
  36. package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Info.plist +0 -0
  37. package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Repro +0 -0
  38. package/src/EventEmitterOpenUrl.js +24 -0
  39. package/src/NativeReproEventEmitterOpenUrl.ts +9 -0
  40. package/src/NativeReproReactBridge.ts +134 -0
  41. package/src/NativeReproRemoteConfigBridge.ts +26 -0
  42. package/src/NewsFeedManager.js +149 -0
  43. package/android/src/main/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +0 -36
  44. package/repro-version.json +0 -5
  45. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar +0 -0
  46. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar.md5 +0 -1
  47. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar.sha1 +0 -1
  48. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom +0 -9
  49. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom.md5 +0 -1
  50. package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom.sha1 +0 -1
@@ -1,8 +1,5 @@
1
1
  package io.repro.android.reactbridge;
2
2
 
3
- import com.facebook.react.bridge.ReactApplicationContext;
4
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
5
- import com.facebook.react.bridge.ReactMethod;
6
3
  import com.facebook.react.bridge.Callback;
7
4
  import com.facebook.react.bridge.ReadableMap;
8
5
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
@@ -17,31 +14,13 @@ import io.repro.android.Repro;
17
14
  import io.repro.android.remoteconfig.RemoteConfigValue;
18
15
  import io.repro.android.remoteconfig.RemoteConfigListener;
19
16
 
20
- public class ReproRemoteConfigBridge extends ReactContextBaseJavaModule {
17
+ public class ReproRemoteConfigBridgeModuleImpl {
21
18
 
22
19
  public static final int REMOTE_CONFIG_SUCCESS = 0;
23
20
  public static final int REMOTE_CONFIG_TIMEOUT_REACHED = 1;
24
21
  public static final int REMOTE_CONFIG_ALREADY_FETCHED = 2;
25
22
 
26
- public ReproRemoteConfigBridge(ReactApplicationContext reactContext) {
27
- super(reactContext);
28
- }
29
-
30
- @Override
31
- public String getName() {
32
- return "RemoteConfig";
33
- }
34
-
35
- @Override
36
- public Map<String, Object> getConstants() {
37
- final Map<String, Object> constants = new HashMap<>();
38
-
39
- constants.put("REMOTE_CONFIG_SUCCESS", REMOTE_CONFIG_SUCCESS);
40
- constants.put("REMOTE_CONFIG_TIMEOUT_REACHED", REMOTE_CONFIG_TIMEOUT_REACHED);
41
- constants.put("REMOTE_CONFIG_ALREADY_FETCHED", REMOTE_CONFIG_ALREADY_FETCHED);
42
-
43
- return constants;
44
- }
23
+ public static final String NAME = "ReproRemoteConfigBridge";
45
24
 
46
25
  private WritableMap toWritableMap(final Map<String, RemoteConfigValue> javaMap) {
47
26
  WritableMap map = Arguments.createMap();
@@ -73,8 +52,22 @@ public class ReproRemoteConfigBridge extends ReactContextBaseJavaModule {
73
52
  return map;
74
53
  }
75
54
 
76
- @ReactMethod
77
- public void fetch(final int timeout, final Callback callback) {
55
+ public Map<String, Object> getConstants() {
56
+ final Map<String, Object> baseConstants = new HashMap<>();
57
+
58
+ baseConstants.put("REMOTE_CONFIG_SUCCESS", REMOTE_CONFIG_SUCCESS);
59
+ baseConstants.put("REMOTE_CONFIG_TIMEOUT_REACHED", REMOTE_CONFIG_TIMEOUT_REACHED);
60
+ baseConstants.put("REMOTE_CONFIG_ALREADY_FETCHED", REMOTE_CONFIG_ALREADY_FETCHED);
61
+
62
+ final Map<String, Object> fetchStatusConstants = new HashMap<>();
63
+ fetchStatusConstants.put("FETCH_STATUS", baseConstants);
64
+
65
+ Map<String, Object> mergedMap = new HashMap<>(baseConstants);
66
+ mergedMap.putAll(fetchStatusConstants);
67
+ return mergedMap;
68
+ }
69
+
70
+ public void fetch(final double timeout, final Callback callback) {
78
71
  Repro.getRemoteConfig().fetch((long)timeout, new RemoteConfigListener() {
79
72
  @Override
80
73
  public void onCompletion(RemoteConfigListener.FetchStatus status) {
@@ -93,51 +86,43 @@ public class ReproRemoteConfigBridge extends ReactContextBaseJavaModule {
93
86
  });
94
87
  }
95
88
 
96
- @ReactMethod
97
89
  public void activateFetched() {
98
90
  Repro.getRemoteConfig().activateFetched();
99
91
  }
100
92
 
101
93
  // Default value settings
102
- @ReactMethod
103
94
  public void setDefaultsFromDictionary(final ReadableMap values) {
104
95
  Map<String, Object> map = toMap(values);
105
96
  Repro.getRemoteConfig().setDefaultsFromMap(map);
106
97
  }
107
98
 
108
- @ReactMethod
109
99
  public void setDefaultsFromJsonString(final String jsonStr) {
110
100
  Repro.getRemoteConfig().setDefaultsFromJsonString(jsonStr);
111
101
  }
112
102
 
113
- @ReactMethod
114
103
  public void getValue(final String key, final Callback callback) {
115
104
  String value = Repro.getRemoteConfig().get(key).asString();
116
105
  callback.invoke(value);
117
106
  }
118
107
 
119
108
  // Value accessor
120
- @ReactMethod
121
109
  public void getAllValues(final Callback callback) {
122
110
  Map<String, RemoteConfigValue> map = Repro.getRemoteConfig().getAllValues();
123
111
  callback.invoke(toWritableMap(map));
124
112
  }
125
113
 
126
- @ReactMethod
127
114
  public void getAllValuesWithPrefix(final String prefix, final Callback callback) {
128
115
  Map<String, RemoteConfigValue> map = Repro.getRemoteConfig().getAllValuesWithPrefix(prefix);
129
116
  callback.invoke(toWritableMap(map));
130
117
  }
131
118
 
132
- @ReactMethod
133
119
  public void getLocalDefaultValue(final String key, final Callback callback) {
134
120
  String value = Repro.getRemoteConfig().getLocalDefaultValue(key).asString();
135
121
  callback.invoke(value);
136
122
  }
137
123
 
138
124
  // Others
139
- @ReactMethod
140
125
  public void forceReset() {
141
126
  Repro.getRemoteConfig().forceReset();
142
127
  }
143
- }
128
+ }
@@ -0,0 +1,54 @@
1
+
2
+ package io.repro.android.reactbridge;
3
+
4
+ import android.net.Uri;
5
+
6
+ import androidx.annotation.NonNull;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.modules.core.DeviceEventManagerModule;
9
+
10
+ import io.repro.android.Repro;
11
+
12
+ import io.repro.android.reactbridge.NativeReproEventEmitterOpenUrlSpec;
13
+
14
+ public class ReproEventEmitterOpenUrlModule extends NativeReproEventEmitterOpenUrlSpec {
15
+
16
+ public static final String NAME = "ReproEventEmitterOpenUrl";
17
+
18
+ private final ReactApplicationContext reactContext;
19
+
20
+ public ReproEventEmitterOpenUrlModule(ReactApplicationContext reactContext) {
21
+ super(reactContext);
22
+ this.reactContext = reactContext;
23
+ }
24
+
25
+ private void sendEvent(String eventName, Object parameter) {
26
+ this.reactContext
27
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
28
+ .emit(eventName, parameter);
29
+ }
30
+
31
+ @Override
32
+ @NonNull
33
+ public String getName() {
34
+ return NAME;
35
+ }
36
+
37
+ @Override
38
+ public void addListener(String eventName) {
39
+ Repro.setOpenUrlCallback(new Repro.OpenUrlCallback() {
40
+ @Override
41
+ public void onOpened(Uri uri) {
42
+ sendEvent("__RPR__openUrlCallback", uri.toString());
43
+ }
44
+ });
45
+ }
46
+
47
+ @Override
48
+ public void removeListeners(double count) {
49
+ Repro.setOpenUrlCallback(null);
50
+ }
51
+ }
52
+
53
+
54
+
@@ -0,0 +1,367 @@
1
+
2
+ package io.repro.android.reactbridge;
3
+
4
+ import androidx.annotation.NonNull;
5
+ import com.facebook.react.bridge.ReactApplicationContext;
6
+ import com.facebook.react.bridge.Callback;
7
+ import com.facebook.react.bridge.ReadableMap;
8
+ import com.facebook.react.bridge.ReadableArray;
9
+
10
+ import java.util.Map;
11
+
12
+ import io.repro.android.reactbridge.NativeReproReactBridgeSpec;
13
+
14
+ public class ReproReactBridgeModule extends NativeReproReactBridgeSpec {
15
+
16
+ private ReproReactBridgeModuleImpl reproModuleImpl;
17
+
18
+ public ReproReactBridgeModule(ReactApplicationContext reactContext) {
19
+ super(reactContext);
20
+ this.reproModuleImpl = new ReproReactBridgeModuleImpl();
21
+ this.reproModuleImpl.versionPassing();
22
+ }
23
+
24
+ @Override
25
+ @NonNull
26
+ public String getName() {
27
+ return this.reproModuleImpl.NAME;
28
+ }
29
+
30
+ @Override
31
+ public Map<String, Object> getTypedExportedConstants() {
32
+ return this.reproModuleImpl.getConstants();
33
+ }
34
+
35
+ @Override
36
+ public void optIn(boolean endUserOptedIn) {
37
+ this.reproModuleImpl.optIn(endUserOptedIn);
38
+ }
39
+
40
+ @Override
41
+ public void setUserID(final String userId) {
42
+ this.reproModuleImpl.setUserID(userId);
43
+ }
44
+
45
+ @Override
46
+ public void getUserID(Callback callback) {
47
+ this.reproModuleImpl.getUserID(callback);
48
+ }
49
+
50
+ @Override
51
+ public void setSilverEggCookie(final String cookie) {
52
+ this.reproModuleImpl.setSilverEggCookie(cookie);
53
+ }
54
+
55
+ @Override
56
+ public void setSilverEggProdKey(final String prodKey) {
57
+ this.reproModuleImpl.setSilverEggProdKey(prodKey);
58
+ }
59
+
60
+ @Override
61
+ public void setLogLevel(final double logLevel) {
62
+ this.reproModuleImpl.setLogLevel((int)logLevel);
63
+ }
64
+
65
+ @Override
66
+ public void setStringUserProfile(final String key, final String value) {
67
+ this.reproModuleImpl.setStringUserProfile(key, value);
68
+ }
69
+
70
+ @Override
71
+ public void setIntUserProfile(final String key, final double value) {
72
+ this.reproModuleImpl.setIntUserProfile(key, (int)value);
73
+ }
74
+
75
+ @Override
76
+ public void setDoubleUserProfile(final String key, final double value) {
77
+ this.reproModuleImpl.setDoubleUserProfile(key, value);
78
+ }
79
+
80
+ @Override
81
+ public void setDateUserProfile(final String key, final String value) {
82
+ this.reproModuleImpl.setDateUserProfile(key, value);
83
+ }
84
+
85
+ @Override
86
+ public void setUserEmailAddress(final String mailAddr) {
87
+ this.reproModuleImpl.setUserEmailAddress(mailAddr);
88
+ }
89
+
90
+ @Override
91
+ public void setUserGender(final double gender) {
92
+ this.reproModuleImpl.setUserGender((int)gender);
93
+ }
94
+
95
+ @Override
96
+ public void setUserResidencePrefecture(final double prefecture) {
97
+ this.reproModuleImpl.setUserResidencePrefecture((int)prefecture);
98
+ }
99
+
100
+ @Override
101
+ public void setUserDateOfBirth(final String value) {
102
+ this.reproModuleImpl.setUserDateOfBirth(value);
103
+ }
104
+
105
+ @Override
106
+ public void setUserAge(double age) {
107
+ this.reproModuleImpl.setUserAge((int)age);
108
+ }
109
+
110
+ @Override
111
+ public void onlySetIfAbsentStringUserProfile(String key, String value) {
112
+ this.reproModuleImpl.onlySetIfAbsentStringUserProfile(key, value);
113
+ }
114
+
115
+ @Override
116
+ public void onlySetIfAbsentIntUserProfile(String key, double value) {
117
+ this.reproModuleImpl.onlySetIfAbsentIntUserProfile(key, (int)value);
118
+ }
119
+
120
+ @Override
121
+ public void onlySetIfAbsentDoubleUserProfile(String key, double value) {
122
+ this.reproModuleImpl.onlySetIfAbsentDoubleUserProfile(key, value);
123
+ }
124
+
125
+ @Override
126
+ public void onlySetIfAbsentDateUserProfile(String key, String value) {
127
+ this.reproModuleImpl.onlySetIfAbsentDateUserProfile(key, value);
128
+ }
129
+
130
+ @Override
131
+ public void incrementIntUserProfileBy(String key, double value) {
132
+ this.reproModuleImpl.incrementIntUserProfileBy(key, (int)value);
133
+ }
134
+
135
+ @Override
136
+ public void decrementIntUserProfileBy(String key, double value) {
137
+ this.reproModuleImpl.decrementIntUserProfileBy(key, (int)value);
138
+ }
139
+
140
+ @Override
141
+ public void incrementDoubleUserProfileBy(String key, double value) {
142
+ this.reproModuleImpl.incrementDoubleUserProfileBy(key, value);
143
+ }
144
+
145
+ @Override
146
+ public void decrementDoubleUserProfileBy(String key, double value) {
147
+ this.reproModuleImpl.decrementDoubleUserProfileBy(key, value);
148
+ }
149
+
150
+ @Override
151
+ public void onlySetIfAbsentUserGender(final double gender) {
152
+ this.reproModuleImpl.onlySetIfAbsentUserGender((int)gender);
153
+ }
154
+
155
+ @Override
156
+ public void onlySetIfAbsentUserEmailAddress(String email) {
157
+ this.reproModuleImpl.onlySetIfAbsentUserEmailAddress(email);
158
+ }
159
+
160
+ @Override
161
+ public void onlySetIfAbsentUserResidencePrefecture(final double prefecture) {
162
+ this.reproModuleImpl.onlySetIfAbsentUserResidencePrefecture((int)prefecture);
163
+ }
164
+
165
+ @Override
166
+ public void onlySetIfAbsentUserDateOfBirth(final String value) {
167
+ this.reproModuleImpl.onlySetIfAbsentUserDateOfBirth(value);
168
+ }
169
+
170
+ @Override
171
+ public void onlySetIfAbsentUserAge(double age) {
172
+ this.reproModuleImpl.onlySetIfAbsentUserAge((int)age);
173
+ }
174
+
175
+ @Override
176
+ public void incrementUserAgeBy(double value) {
177
+ this.reproModuleImpl.incrementUserAgeBy((int)value);
178
+ }
179
+
180
+ @Override
181
+ public void decrementUserAgeBy(double value) {
182
+ this.reproModuleImpl.decrementUserAgeBy((int)value);
183
+ }
184
+
185
+ @Override
186
+ public void deleteUserProfile(String key) {
187
+ this.reproModuleImpl.deleteUserProfile(key);
188
+ }
189
+
190
+ @Override
191
+ public void deleteUserGender() {
192
+ this.reproModuleImpl.deleteUserGender();
193
+ }
194
+
195
+ @Override
196
+ public void deleteUserEmailAddress() {
197
+ this.reproModuleImpl.deleteUserEmailAddress();
198
+ }
199
+
200
+ @Override
201
+ public void deleteUserResidencePrefecture() {
202
+ this.reproModuleImpl.deleteUserResidencePrefecture();
203
+ }
204
+
205
+ @Override
206
+ public void deleteUserDateOfBirth() {
207
+ this.reproModuleImpl.deleteUserDateOfBirth();
208
+ }
209
+
210
+ @Override
211
+ public void deleteUserAge() {
212
+ this.reproModuleImpl.deleteUserAge();
213
+ }
214
+
215
+ @Override
216
+ public void getDeviceID(Callback callback) {
217
+ this.reproModuleImpl.getDeviceID(callback);
218
+ }
219
+
220
+ @Override
221
+ public void disableInAppMessagesOnForegroundTransition() {
222
+ this.reproModuleImpl.disableInAppMessagesOnForegroundTransition();
223
+ }
224
+
225
+ @Override
226
+ public void enableInAppMessagesOnForegroundTransition() {
227
+ this.reproModuleImpl.enableInAppMessagesOnForegroundTransition(this.getCurrentActivity());
228
+ }
229
+
230
+ @Override
231
+ public void setPushDeviceTokenString(final String deviceTokenHexString) {
232
+ this.reproModuleImpl.setPushDeviceTokenString(deviceTokenHexString);
233
+ }
234
+
235
+ @Override
236
+ public void setPushRegistrationID(final String pushRegId) {
237
+ this.reproModuleImpl.setPushRegistrationID(pushRegId);
238
+ }
239
+
240
+ @Override
241
+ public void setPushToken(final String token) {
242
+ this.reproModuleImpl.setPushRegistrationID(token);
243
+ }
244
+
245
+ @Override
246
+ public void enablePushNotification() {
247
+ this.reproModuleImpl.enablePushNotification();
248
+ }
249
+
250
+ @Override
251
+ public void linkLineID(final String lineUserId, final String lineChannelId) {
252
+ this.reproModuleImpl.linkLineID(lineUserId, lineChannelId);
253
+ }
254
+
255
+ @Override
256
+ public void unlinkLineID(final String lineUserId, final String lineChannelId) {
257
+ this.reproModuleImpl.unlinkLineID(lineUserId, lineChannelId);
258
+ }
259
+
260
+ @Override
261
+ public void _handleWebViewUrl(String requestUrl) {
262
+ this.reproModuleImpl._webviewJavaScriptOpenUrlHandler(requestUrl);
263
+ }
264
+
265
+ @Override
266
+ public void track(final String name, final ReadableMap properties) {
267
+ this.reproModuleImpl.track(name, properties);
268
+ }
269
+
270
+ @Override
271
+ public void trackViewContent(final String contentId, final ReadableMap props) {
272
+ this.reproModuleImpl.trackViewContent(contentId, props);
273
+ }
274
+
275
+ @Override
276
+ public void trackSearch(final ReadableMap props) {
277
+ this.reproModuleImpl.trackSearch(props);
278
+ }
279
+
280
+ @Override
281
+ public void trackAddToWishlist(final ReadableMap props) {
282
+ this.reproModuleImpl.trackAddToWishlist(props);
283
+ }
284
+
285
+ @Override
286
+ public void trackAddToCart(final String contentId, final ReadableMap props) {
287
+ this.reproModuleImpl.trackAddToCart(contentId, props);
288
+ }
289
+
290
+ @Override
291
+ public void trackInitiateCheckout(final ReadableMap props) {
292
+ this.reproModuleImpl.trackInitiateCheckout(props);
293
+ }
294
+
295
+ @Override
296
+ public void trackAddPaymentInfo(final ReadableMap props) {
297
+ this.reproModuleImpl.trackAddPaymentInfo(props);
298
+ }
299
+
300
+ @Override
301
+ public void trackPurchase(final String contentId, final double value, final String currency, final ReadableMap props) {
302
+ this.reproModuleImpl.trackPurchase(contentId, value, currency, props);
303
+ }
304
+
305
+ @Override
306
+ public void trackShare(final ReadableMap props) {
307
+ this.reproModuleImpl.trackShare(props);
308
+ }
309
+
310
+ @Override
311
+ public void trackCompleteRegistration(final ReadableMap props) {
312
+ this.reproModuleImpl.trackCompleteRegistration(props);
313
+ }
314
+
315
+ @Override
316
+ public void trackLead(final ReadableMap props) {
317
+ this.reproModuleImpl.trackLead(props);
318
+ }
319
+
320
+ @Override
321
+ public void trackNotificationOpened(final String notificationId) {
322
+ this.reproModuleImpl.trackNotificationOpened(notificationId);
323
+ }
324
+
325
+ @Override
326
+ public void getNewsFeeds(final double limit, Callback callback) {
327
+ this.reproModuleImpl.getNewsFeeds((int)limit, callback);
328
+ }
329
+
330
+ @Override
331
+ public void oldArchGetNewsFeeds(final double limit, final double campaignType, Callback callback) {
332
+ // Only Legacy Architecture method
333
+ }
334
+
335
+ @Override
336
+ public void getNewsFeedsFor(final double limit, final double offsetID, Callback callback) {
337
+ this.reproModuleImpl.getNewsFeedsFor((int)limit, (int)offsetID, callback);
338
+ }
339
+
340
+ @Override
341
+ public void oldArchGetNewsFeedsFor(final double limit, final double offsetID, final double campaignType, Callback callback) {
342
+ // Only Legacy Architecture method
343
+ }
344
+
345
+ @Override
346
+ public void getNewsFeedsWithCampaignType(final double limit, final double campaignType, Callback callback) {
347
+ this.reproModuleImpl.getNewsFeedsWithCampaignType((int)limit, (int)campaignType, callback);
348
+ }
349
+
350
+ @Override
351
+ public void getNewsFeedsWithCampaignTypeFor(final double limit, final double offsetID, final double campaignType, Callback callback) {
352
+ this.reproModuleImpl.getNewsFeedsWithCampaignTypeFor((int)limit, (int)offsetID, (int)campaignType, callback);
353
+ }
354
+
355
+ @Override
356
+ public void updateNewsFeeds(ReadableArray array, Callback callback) {
357
+ this.reproModuleImpl.updateNewsFeeds(array, callback);
358
+ }
359
+
360
+ @Override
361
+ public void oldArchUpdateNewsFeeds(ReadableArray array, Callback callback) {
362
+ // Only Legacy Architecture method
363
+ }
364
+ }
365
+
366
+
367
+
@@ -0,0 +1,78 @@
1
+ package io.repro.android.reactbridge;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.facebook.react.bridge.NativeModule;
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.module.model.ReactModuleInfo;
8
+ import com.facebook.react.module.model.ReactModuleInfoProvider;
9
+ import com.facebook.react.TurboReactPackage;
10
+ import com.facebook.react.uimanager.ViewManager;
11
+
12
+ import java.util.ArrayList;
13
+ import java.util.Collections;
14
+ import java.util.List;
15
+ import java.util.HashMap;
16
+ import java.util.Map;
17
+
18
+ public class ReproReactBridgePackage extends TurboReactPackage {
19
+
20
+ @Nullable
21
+ @Override
22
+ public NativeModule getModule(String name, @NonNull ReactApplicationContext reactContext) {
23
+ if (name.equals(ReproReactBridgeModule.NAME)) {
24
+ return new ReproReactBridgeModule(reactContext);
25
+ } else if (name.equals(ReproRemoteConfigBridgeModule.NAME)) {
26
+ return new ReproRemoteConfigBridgeModule(reactContext);
27
+ } else if (name.equals(ReproEventEmitterOpenUrlModule.NAME)) {
28
+ return new ReproEventEmitterOpenUrlModule(reactContext);
29
+ } else {
30
+ return null;
31
+ }
32
+ }
33
+
34
+ @Override
35
+ public ReactModuleInfoProvider getReactModuleInfoProvider() {
36
+ return new ReactModuleInfoProvider() {
37
+ @Override
38
+ public Map<String, ReactModuleInfo> getReactModuleInfos() {
39
+ final Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
40
+
41
+ moduleInfos.put(
42
+ ReproReactBridgeModule.NAME,
43
+ new ReactModuleInfo(
44
+ ReproReactBridgeModule.NAME,
45
+ ReproReactBridgeModule.NAME,
46
+ false, // canOverrideExistingModule
47
+ false, // needsEagerInit
48
+ true, // hasConstants
49
+ false, // isCxxModule
50
+ true // isTurboModule
51
+ ));
52
+ moduleInfos.put(
53
+ ReproRemoteConfigBridgeModule.NAME,
54
+ new ReactModuleInfo(
55
+ ReproRemoteConfigBridgeModule.NAME,
56
+ ReproRemoteConfigBridgeModule.NAME,
57
+ false, // canOverrideExistingModule
58
+ false, // needsEagerInit
59
+ true, // hasConstants
60
+ false, // isCxxModule
61
+ true // isTurboModule
62
+ ));
63
+ moduleInfos.put(
64
+ ReproEventEmitterOpenUrlModule.NAME,
65
+ new ReactModuleInfo(
66
+ ReproEventEmitterOpenUrlModule.NAME,
67
+ ReproEventEmitterOpenUrlModule.NAME,
68
+ false, // canOverrideExistingModule
69
+ false, // needsEagerInit
70
+ true, // hasConstants
71
+ false, // isCxxModule
72
+ true // isTurboModule
73
+ ));
74
+ return moduleInfos;
75
+ }
76
+ };
77
+ }
78
+ }
@@ -0,0 +1,79 @@
1
+ package io.repro.android.reactbridge;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.facebook.react.bridge.ReactApplicationContext;
5
+ import com.facebook.react.bridge.Callback;
6
+ import com.facebook.react.bridge.ReadableMap;
7
+
8
+ import java.util.Map;
9
+
10
+ import io.repro.android.reactbridge.NativeReproRemoteConfigBridgeSpec;
11
+
12
+ public class ReproRemoteConfigBridgeModule extends NativeReproRemoteConfigBridgeSpec {
13
+
14
+ private ReproRemoteConfigBridgeModuleImpl remoteConfigModuleImpl;
15
+
16
+ public ReproRemoteConfigBridgeModule(ReactApplicationContext reactContext) {
17
+ super(reactContext);
18
+ this.remoteConfigModuleImpl = new ReproRemoteConfigBridgeModuleImpl();
19
+ }
20
+
21
+ @Override
22
+ @NonNull
23
+ public String getName() {
24
+ return this.remoteConfigModuleImpl.NAME;
25
+ }
26
+
27
+ @Override
28
+ public Map<String, Object> getTypedExportedConstants() {
29
+ return this.remoteConfigModuleImpl.getConstants();
30
+ }
31
+
32
+ @Override
33
+ public void fetch(final double timeout, final Callback callback) {
34
+ this.remoteConfigModuleImpl.fetch(timeout, callback);
35
+ }
36
+
37
+ @Override
38
+ public void activateFetched() {
39
+ this.remoteConfigModuleImpl.activateFetched();
40
+ }
41
+
42
+ // Default value settings
43
+ @Override
44
+ public void setDefaultsFromDictionary(final ReadableMap values) {
45
+ this.remoteConfigModuleImpl.setDefaultsFromDictionary(values);
46
+ }
47
+
48
+ @Override
49
+ public void setDefaultsFromJsonString(final String jsonStr) {
50
+ this.remoteConfigModuleImpl.setDefaultsFromJsonString(jsonStr);
51
+ }
52
+
53
+ @Override
54
+ public void getValue(final String key, final Callback callback) {
55
+ this.remoteConfigModuleImpl.getValue(key, callback);
56
+ }
57
+
58
+ // Value accessor
59
+ @Override
60
+ public void getAllValues(final Callback callback) {
61
+ this.remoteConfigModuleImpl.getAllValues(callback);
62
+ }
63
+
64
+ @Override
65
+ public void getAllValuesWithPrefix(final String prefix, final Callback callback) {
66
+ this.remoteConfigModuleImpl.getAllValuesWithPrefix(prefix, callback);
67
+ }
68
+
69
+ @Override
70
+ public void getLocalDefaultValue(final String key, final Callback callback) {
71
+ this.remoteConfigModuleImpl.getLocalDefaultValue(key, callback);
72
+ }
73
+
74
+ // Others
75
+ @Override
76
+ public void forceReset() {
77
+ this.remoteConfigModuleImpl.forceReset();
78
+ }
79
+ }