react-native-radar 3.20.4 → 3.21.0-beta.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.
Files changed (68) hide show
  1. package/Radar.podspec +22 -0
  2. package/android/build.gradle +77 -35
  3. package/android/gradle.properties +5 -1
  4. package/android/src/main/AndroidManifest.xml +1 -3
  5. package/android/src/main/java/{io/radar/react/RNRadarModule.java → com/radar/RadarModuleImpl.java} +131 -258
  6. package/android/src/main/java/com/radar/RadarPackage.kt +35 -0
  7. package/android/src/main/java/{io/radar/react/RNRadarUtils.java → com/radar/RadarUtils.java} +3 -2
  8. package/android/src/newarch/java/com/radar/RadarModule.kt +381 -0
  9. package/android/src/oldarch/java/com/radar/RadarModule.java +416 -0
  10. package/android/src/{main/java/io/radar/react/RNRadarReceiver.java → oldarch/java/com/radar/RadarOldArchReceiver.java} +8 -8
  11. package/android/src/{main/java/io/radar/react/RNRadarVerifiedReceiver.java → oldarch/java/com/radar/RadarOldArchVerifiedReceiver.java} +4 -4
  12. package/app.plugin.js +1 -1
  13. package/dist/@types/RadarNativeInterface.d.ts +17 -7
  14. package/dist/@types/types.d.ts +4 -3
  15. package/dist/NativeRadar.d.ts +86 -0
  16. package/dist/NativeRadar.js +4 -0
  17. package/dist/helpers.d.ts +2 -2
  18. package/dist/helpers.js +6 -6
  19. package/dist/index.native.d.ts +4 -1
  20. package/dist/index.native.js +402 -141
  21. package/dist/index.web.js +2 -2
  22. package/dist/ui/autocomplete.js +17 -7
  23. package/dist/ui/map.js +18 -8
  24. package/dist/version.d.ts +1 -0
  25. package/dist/version.js +6 -0
  26. package/ios/RNRadar.h +11 -2
  27. package/ios/{RNRadar.m → RNRadar.mm} +77 -39
  28. package/package.json +65 -32
  29. package/plugin/build/withRadar.d.ts +2 -4
  30. package/plugin/build/withRadar.js +9 -10
  31. package/plugin/build/withRadarAndroid.d.ts +2 -3
  32. package/plugin/build/withRadarAndroid.js +11 -14
  33. package/plugin/build/withRadarIOS.d.ts +1 -2
  34. package/plugin/build/withRadarIOS.js +8 -11
  35. package/react-native.config.js +10 -0
  36. package/src/@types/RadarNativeInterface.ts +127 -0
  37. package/src/@types/types.ts +808 -0
  38. package/src/NativeRadar.ts +95 -0
  39. package/src/helpers.js +11 -0
  40. package/src/index.native.ts +419 -0
  41. package/src/index.tsx +22 -0
  42. package/src/index.web.js +528 -0
  43. package/src/ui/autocomplete.jsx +324 -0
  44. package/src/ui/back.png +0 -0
  45. package/src/ui/close.png +0 -0
  46. package/src/ui/images.js +5 -0
  47. package/src/ui/map-logo.png +0 -0
  48. package/src/ui/map.jsx +122 -0
  49. package/src/ui/marker.png +0 -0
  50. package/src/ui/radar-logo.png +0 -0
  51. package/src/ui/search.png +0 -0
  52. package/src/ui/styles.js +125 -0
  53. package/src/version.ts +3 -0
  54. package/android/build.gradle.template +0 -49
  55. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  56. package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  57. package/android/gradlew +0 -160
  58. package/android/gradlew.bat +0 -90
  59. package/android/proguard-rules.pro +0 -4
  60. package/android/src/main/java/io/radar/react/RNRadarPackage.java +0 -29
  61. package/ios/Cartfile.private +0 -1
  62. package/ios/Cartfile.resolved +0 -1
  63. package/ios/Cartfile.resolved.template +0 -1
  64. package/ios/RNRadar.xcodeproj/project.pbxproj +0 -521
  65. package/ios/RNRadar.xcodeproj/xcshareddata/xcschemes/RNRadar.xcscheme +0 -76
  66. package/plugin/build/index.d.ts +0 -3
  67. package/plugin/build/index.js +0 -6
  68. package/react-native-radar.podspec +0 -19
@@ -0,0 +1,416 @@
1
+ package com.radar;
2
+ import android.Manifest;
3
+ import android.app.Activity;
4
+ import android.content.Context;
5
+ import android.content.SharedPreferences;
6
+ import android.content.pm.PackageManager;
7
+ import android.location.Location;
8
+ import android.os.Build;
9
+ import android.util.Log;
10
+
11
+ import androidx.annotation.NonNull;
12
+ import androidx.annotation.Nullable;
13
+ import androidx.core.app.ActivityCompat;
14
+
15
+ import com.facebook.react.bridge.Arguments;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
+ import com.facebook.react.bridge.ReactMethod;
20
+ import com.facebook.react.bridge.ReadableArray;
21
+ import com.facebook.react.bridge.ReadableMap;
22
+ import com.facebook.react.bridge.WritableMap;
23
+ import com.facebook.react.modules.core.PermissionAwareActivity;
24
+ import com.facebook.react.modules.core.PermissionListener;
25
+ import io.radar.sdk.Radar;
26
+ import io.radar.sdk.RadarTrackingOptions;
27
+ import io.radar.sdk.RadarTrackingOptions.RadarTrackingOptionsForegroundService;
28
+ import io.radar.sdk.RadarTripOptions;
29
+ import io.radar.sdk.RadarVerifiedReceiver;
30
+ import io.radar.sdk.model.RadarAddress;
31
+ import io.radar.sdk.model.RadarContext;
32
+ import io.radar.sdk.model.RadarEvent;
33
+ import io.radar.sdk.model.RadarGeofence;
34
+ import io.radar.sdk.model.RadarPlace;
35
+ import io.radar.sdk.model.RadarRouteMatrix;
36
+ import io.radar.sdk.model.RadarRoutes;
37
+ import io.radar.sdk.model.RadarTrip;
38
+ import io.radar.sdk.model.RadarUser;
39
+ import io.radar.sdk.model.RadarVerifiedLocationToken;
40
+ import io.radar.sdk.RadarNotificationOptions;
41
+
42
+ import org.json.JSONException;
43
+ import org.json.JSONObject;
44
+
45
+ import java.util.EnumSet;
46
+ import java.util.Map;
47
+
48
+ public class RadarModule extends ReactContextBaseJavaModule implements PermissionListener {
49
+
50
+ public static final String NAME = "RNRadar";
51
+ private static final String TAG = "RadarModule";
52
+ private static final int PERMISSIONS_REQUEST_CODE = 20160525; // random request code (Radar's birthday!)
53
+ private Promise mPermissionsRequestPromise;
54
+
55
+ private RadarOldArchReceiver receiver;
56
+ private RadarOldArchVerifiedReceiver verifiedReceiver;
57
+ private int listenerCount = 0;
58
+ private boolean fraud = false;
59
+ private RadarModuleImpl radarModuleImpl;
60
+
61
+ public RadarModule(ReactApplicationContext reactContext) {
62
+ super(reactContext);
63
+ receiver = new RadarOldArchReceiver();
64
+ verifiedReceiver = new RadarOldArchVerifiedReceiver();
65
+ radarModuleImpl = new RadarModuleImpl();
66
+ }
67
+
68
+ @ReactMethod
69
+ public void addListener(String eventName) {
70
+ if (listenerCount == 0) {
71
+ if (fraud) {
72
+ verifiedReceiver.hasListeners = true;
73
+ }
74
+ receiver.hasListeners = true;
75
+ }
76
+
77
+ listenerCount += 1;
78
+ }
79
+
80
+ @ReactMethod
81
+ public void removeListeners(Integer count) {
82
+ listenerCount -= count;
83
+ if (listenerCount == 0) {
84
+ if (fraud) {
85
+ verifiedReceiver.hasListeners = false;
86
+ }
87
+ receiver.hasListeners = false;
88
+ }
89
+ }
90
+
91
+ @Override
92
+ public String getName() {
93
+ return "RNRadar";
94
+ }
95
+
96
+ @ReactMethod
97
+ public void initialize(String publishableKey, boolean fraud) {
98
+ this.fraud = fraud;
99
+ SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
100
+ editor.putString("x_platform_sdk_type", "ReactNative");
101
+ editor.putString("x_platform_sdk_version", "3.21.0-beta.2");
102
+ editor.apply();
103
+ if (fraud) {
104
+ Radar.initialize(getReactApplicationContext(), publishableKey, receiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud);
105
+ Radar.setVerifiedReceiver(verifiedReceiver);
106
+ } else {
107
+ Radar.initialize(getReactApplicationContext(), publishableKey);
108
+ Radar.setReceiver(receiver);
109
+ }
110
+ }
111
+
112
+ @ReactMethod
113
+ public void setLogLevel(String level) {
114
+ radarModuleImpl.setLogLevel(level);
115
+ }
116
+
117
+ @ReactMethod
118
+ public void setUserId(String userId) {
119
+ radarModuleImpl.setUserId(userId);
120
+ }
121
+
122
+ @ReactMethod
123
+ public void getUserId(final Promise promise) {
124
+ radarModuleImpl.getUserId(promise);
125
+ }
126
+
127
+ @ReactMethod
128
+ public void setDescription(String description) {
129
+ radarModuleImpl.setDescription(description);
130
+ }
131
+
132
+ @ReactMethod
133
+ public void getDescription(final Promise promise) {
134
+ radarModuleImpl.getDescription(promise);
135
+ }
136
+
137
+ @ReactMethod
138
+ public void nativeSdkVersion(final Promise promise) {
139
+ radarModuleImpl.nativeSdkVersion(promise);
140
+ }
141
+
142
+ @ReactMethod
143
+ public void setMetadata(ReadableMap metadataMap) throws JSONException {
144
+ radarModuleImpl.setMetadata(metadataMap);
145
+ }
146
+
147
+ @ReactMethod
148
+ public void getMetadata(final Promise promise) throws JSONException {
149
+ radarModuleImpl.getMetadata(promise);
150
+ }
151
+
152
+ @ReactMethod
153
+ public void setAnonymousTrackingEnabled(boolean enabled) {
154
+ radarModuleImpl.setAnonymousTrackingEnabled(enabled);
155
+ }
156
+
157
+ @ReactMethod
158
+ public void getPermissionsStatus(final Promise promise) {
159
+ if (promise == null) {
160
+ return;
161
+ }
162
+
163
+ Activity activity = getCurrentActivity();
164
+
165
+ if (activity == null) {
166
+ promise.resolve("UNKNOWN");
167
+
168
+ return;
169
+ }
170
+
171
+ boolean foreground = ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
172
+ ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED;
173
+ boolean background = foreground;
174
+ boolean denied = ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.ACCESS_FINE_LOCATION);
175
+
176
+ if (Build.VERSION.SDK_INT >= 29) {
177
+ background = ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_BACKGROUND_LOCATION) == PackageManager.PERMISSION_GRANTED;
178
+ }
179
+
180
+ if (background) {
181
+ promise.resolve("GRANTED_BACKGROUND");
182
+ } else if (foreground) {
183
+ promise.resolve("GRANTED_FOREGROUND");
184
+ } else if (denied) {
185
+ promise.resolve("DENIED");
186
+ } else {
187
+ promise.resolve("NOT_DETERMINED");
188
+ }
189
+ }
190
+
191
+ @Override
192
+ public boolean onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
193
+ if (requestCode == PERMISSIONS_REQUEST_CODE && mPermissionsRequestPromise != null) {
194
+ getPermissionsStatus(mPermissionsRequestPromise);
195
+ mPermissionsRequestPromise = null;
196
+ }
197
+ return true;
198
+ }
199
+
200
+
201
+ @ReactMethod
202
+ public void requestPermissions(boolean background, final Promise promise) {
203
+ PermissionAwareActivity activity = (PermissionAwareActivity)getCurrentActivity();
204
+ mPermissionsRequestPromise = promise;
205
+ if (activity != null) {
206
+ if (Build.VERSION.SDK_INT >= 23) {
207
+ if (background && Build.VERSION.SDK_INT >= 29) {
208
+ activity.requestPermissions(new String[] { Manifest.permission.ACCESS_BACKGROUND_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
209
+ } else {
210
+ activity.requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
211
+ }
212
+ }
213
+ }
214
+ }
215
+
216
+ @ReactMethod
217
+ public void getLocation(String desiredAccuracy, final Promise promise) {
218
+ radarModuleImpl.getLocation(desiredAccuracy, promise);
219
+ }
220
+
221
+ @ReactMethod
222
+ public void trackOnce(ReadableMap optionsMap, final Promise promise) {
223
+ radarModuleImpl.trackOnce(optionsMap, promise);
224
+ }
225
+
226
+ @ReactMethod
227
+ public void trackVerified(ReadableMap optionsMap, final Promise promise) {
228
+ radarModuleImpl.trackVerified(optionsMap, promise);
229
+ }
230
+
231
+ @ReactMethod
232
+ public void isTrackingVerified(final Promise promise) {
233
+ radarModuleImpl.isTrackingVerified(promise);
234
+ }
235
+
236
+ @ReactMethod
237
+ public void setProduct(String product) {
238
+ radarModuleImpl.setProduct(product);
239
+ }
240
+
241
+ @ReactMethod
242
+ public void getVerifiedLocationToken(final Promise promise) {
243
+ radarModuleImpl.getVerifiedLocationToken(promise);
244
+ }
245
+
246
+ @ReactMethod
247
+ public void clearVerifiedLocationToken() {
248
+ radarModuleImpl.clearVerifiedLocationToken();
249
+ }
250
+
251
+ @ReactMethod
252
+ public void startTrackingEfficient() {
253
+ radarModuleImpl.startTrackingEfficient();
254
+ }
255
+
256
+ @ReactMethod
257
+ public void startTrackingResponsive() {
258
+ radarModuleImpl.startTrackingResponsive();
259
+ }
260
+
261
+ @ReactMethod
262
+ public void startTrackingContinuous() {
263
+ radarModuleImpl.startTrackingContinuous();
264
+ }
265
+
266
+ @ReactMethod
267
+ public void startTrackingCustom(ReadableMap optionsMap) {
268
+ radarModuleImpl.startTrackingCustom(optionsMap);
269
+ }
270
+
271
+ @ReactMethod
272
+ public void startTrackingVerified(ReadableMap optionsMap) {
273
+ radarModuleImpl.startTrackingVerified(optionsMap);
274
+ }
275
+
276
+ @ReactMethod
277
+ public void mockTracking(ReadableMap optionsMap) {
278
+ radarModuleImpl.mockTracking(optionsMap);
279
+ }
280
+
281
+ @ReactMethod
282
+ public void stopTracking() {
283
+ radarModuleImpl.stopTracking();
284
+ }
285
+
286
+ @ReactMethod
287
+ public void stopTrackingVerified() {
288
+ radarModuleImpl.stopTrackingVerified();
289
+ }
290
+
291
+ @ReactMethod
292
+ public void isTracking(final Promise promise) {
293
+ radarModuleImpl.isTracking(promise);
294
+ }
295
+
296
+ @ReactMethod
297
+ public void getTrackingOptions(final Promise promise) {
298
+ radarModuleImpl.getTrackingOptions(promise);
299
+ }
300
+
301
+ @ReactMethod
302
+ public void isUsingRemoteTrackingOptions(final Promise promise) {
303
+ radarModuleImpl.isUsingRemoteTrackingOptions(promise);
304
+ }
305
+
306
+ @ReactMethod
307
+ public void setForegroundServiceOptions(ReadableMap optionsMap) {
308
+ radarModuleImpl.setForegroundServiceOptions(optionsMap);
309
+ }
310
+
311
+ @ReactMethod
312
+ public void setNotificationOptions(ReadableMap optionsMap) {
313
+ radarModuleImpl.setNotificationOptions(optionsMap);
314
+ }
315
+
316
+ @ReactMethod
317
+ public void acceptEvent(String eventId, String verifiedPlaceId) {
318
+ Radar.acceptEvent(eventId, verifiedPlaceId);
319
+ }
320
+
321
+ @ReactMethod
322
+ public void rejectEvent(String eventId) {
323
+ Radar.rejectEvent(eventId);
324
+ }
325
+
326
+ @ReactMethod
327
+ public void getTripOptions(final Promise promise) {
328
+ radarModuleImpl.getTripOptions(promise);
329
+ }
330
+
331
+ @ReactMethod
332
+ public void startTrip(ReadableMap optionsMap, final Promise promise) {
333
+ radarModuleImpl.startTrip(optionsMap, promise);
334
+ }
335
+
336
+ @ReactMethod
337
+ public void completeTrip(final Promise promise) {
338
+ radarModuleImpl.completeTrip(promise);
339
+ }
340
+
341
+ @ReactMethod
342
+ public void cancelTrip(final Promise promise) {
343
+ radarModuleImpl.cancelTrip(promise);
344
+ }
345
+
346
+ @ReactMethod
347
+ public void updateTrip(ReadableMap optionsMap, final Promise promise) {
348
+ radarModuleImpl.updateTrip(optionsMap, promise);
349
+ }
350
+
351
+ @ReactMethod
352
+ public void getContext(@Nullable ReadableMap locationMap, final Promise promise) {
353
+ radarModuleImpl.getContext(locationMap, promise);
354
+ }
355
+
356
+ @ReactMethod
357
+ public void searchPlaces(ReadableMap optionsMap, final Promise promise) {
358
+ radarModuleImpl.searchPlaces(optionsMap, promise);
359
+ }
360
+
361
+ @ReactMethod
362
+ public void searchGeofences(ReadableMap optionsMap, final Promise promise) {
363
+ radarModuleImpl.searchGeofences(optionsMap, promise);
364
+ }
365
+
366
+ @ReactMethod
367
+ public void autocomplete(ReadableMap optionsMap, final Promise promise) {
368
+ radarModuleImpl.autocomplete(optionsMap, promise);
369
+ }
370
+
371
+ @ReactMethod
372
+ public void geocode(ReadableMap optionsMap, final Promise promise) {
373
+ radarModuleImpl.geocode(optionsMap, promise);
374
+ }
375
+
376
+ @ReactMethod
377
+ public void reverseGeocode(ReadableMap optionsMap, final Promise promise) {
378
+ radarModuleImpl.reverseGeocode(optionsMap, promise);
379
+ }
380
+
381
+ @ReactMethod
382
+ public void ipGeocode(final Promise promise) {
383
+ radarModuleImpl.ipGeocode(promise);
384
+ }
385
+
386
+ @ReactMethod
387
+ public void validateAddress(ReadableMap addressMap, final Promise promise) {
388
+ radarModuleImpl.validateAddress(addressMap, promise);
389
+ }
390
+
391
+ @ReactMethod
392
+ public void getDistance(ReadableMap optionsMap, final Promise promise) {
393
+ radarModuleImpl.getDistance(optionsMap, promise);
394
+ }
395
+
396
+ @ReactMethod
397
+ public void getMatrix(ReadableMap optionsMap, final Promise promise) {
398
+ radarModuleImpl.getMatrix(optionsMap, promise);
399
+ }
400
+
401
+ @ReactMethod
402
+ public void logConversion(ReadableMap optionsMap, final Promise promise) throws JSONException {
403
+ radarModuleImpl.logConversion(optionsMap, promise);
404
+ }
405
+
406
+ @ReactMethod
407
+ public void getHost(final Promise promise) {
408
+ radarModuleImpl.getHost(promise);
409
+ }
410
+
411
+ @ReactMethod
412
+ public void getPublishableKey(final Promise promise) {
413
+ radarModuleImpl.getPublishableKey(promise);
414
+ }
415
+
416
+ }
@@ -1,4 +1,4 @@
1
- package io.radar.react;
1
+ package com.radar;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.location.Location;
@@ -22,10 +22,10 @@ import io.radar.sdk.model.RadarEvent;
22
22
  import io.radar.sdk.model.RadarUser;
23
23
  import java.util.concurrent.atomic.AtomicInteger;
24
24
 
25
- public class RNRadarReceiver extends RadarReceiver {
25
+ public class RadarOldArchReceiver extends RadarReceiver {
26
26
 
27
27
  private ReactNativeHost reactNativeHost;
28
- private static final String TAG = "RNRadarReceiver";
28
+ private static final String TAG = "RadarOldArchReceiver";
29
29
  protected boolean hasListeners = false;
30
30
 
31
31
  private void sendEvent(final String eventName, final Object data) {
@@ -43,9 +43,9 @@ public class RNRadarReceiver extends RadarReceiver {
43
43
  reactNativeHost = reactApplication.getReactNativeHost();
44
44
 
45
45
  WritableMap map = Arguments.createMap();
46
- map.putArray("events", RNRadarUtils.arrayForJson(RadarEvent.toJson(events)));
46
+ map.putArray("events", RadarUtils.arrayForJson(RadarEvent.toJson(events)));
47
47
  if (user != null) {
48
- map.putMap("user", RNRadarUtils.mapForJson(user.toJson()));
48
+ map.putMap("user", RadarUtils.mapForJson(user.toJson()));
49
49
  }
50
50
 
51
51
  sendEvent("events", map);
@@ -61,8 +61,8 @@ public class RNRadarReceiver extends RadarReceiver {
61
61
  reactNativeHost = reactApplication.getReactNativeHost();
62
62
 
63
63
  WritableMap map = Arguments.createMap();
64
- map.putMap("location", RNRadarUtils.mapForJson(Radar.jsonForLocation(location)));
65
- map.putMap("user", RNRadarUtils.mapForJson(user.toJson()));
64
+ map.putMap("location", RadarUtils.mapForJson(Radar.jsonForLocation(location)));
65
+ map.putMap("user", RadarUtils.mapForJson(user.toJson()));
66
66
 
67
67
  sendEvent("location", map);
68
68
  } catch (Exception e) {
@@ -77,7 +77,7 @@ public class RNRadarReceiver extends RadarReceiver {
77
77
  reactNativeHost = reactApplication.getReactNativeHost();
78
78
 
79
79
  WritableMap map = Arguments.createMap();
80
- map.putMap("location", RNRadarUtils.mapForJson(Radar.jsonForLocation(location)));
80
+ map.putMap("location", RadarUtils.mapForJson(Radar.jsonForLocation(location)));
81
81
  map.putBoolean("stopped", stopped);
82
82
  map.putString("source", source.toString());
83
83
 
@@ -1,4 +1,4 @@
1
- package io.radar.react;
1
+ package com.radar;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.util.Log;
@@ -18,10 +18,10 @@ import io.radar.sdk.Radar;
18
18
  import io.radar.sdk.RadarVerifiedReceiver;
19
19
  import io.radar.sdk.model.RadarVerifiedLocationToken;
20
20
 
21
- public class RNRadarVerifiedReceiver extends RadarVerifiedReceiver {
21
+ public class RadarOldArchVerifiedReceiver extends RadarVerifiedReceiver {
22
22
 
23
23
  private ReactNativeHost reactNativeHost;
24
- private static final String TAG = "RNRadarVerifiedReceiver";
24
+ private static final String TAG = "RadarOldArchVerifiedReceiver";
25
25
  protected boolean hasListeners = false;
26
26
 
27
27
  private void sendEvent(final String eventName, final Object data) {
@@ -38,7 +38,7 @@ public class RNRadarVerifiedReceiver extends RadarVerifiedReceiver {
38
38
  ReactApplication reactApplication = ((ReactApplication)context.getApplicationContext());
39
39
  reactNativeHost = reactApplication.getReactNativeHost();
40
40
 
41
- sendEvent("token", RNRadarUtils.mapForJson(token.toJson()));
41
+ sendEvent("token", RadarUtils.mapForJson(token.toJson()));
42
42
  } catch (Exception e) {
43
43
  Log.e(TAG, "Exception", e);
44
44
  }
package/app.plugin.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./plugin/build');
1
+ module.exports = require('./plugin/build/withRadar');
@@ -1,4 +1,4 @@
1
- import { Location, RadarAddress, RadarAddressCallback, RadarAutocompleteOptions, RadarContextCallback, RadarEventChannel, RadarGeocodeOptions, RadarGetDistanceOptions, RadarGetMatrixOptions, RadarIPGeocodeCallback, RadarListenerCallback, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMetadata, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarReverseGeocodeOptions, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackOnceOptions, RadarTrackVerifiedCallback, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarValidateAddressCallback, RadarVerifiedTrackingOptions } from "./types";
1
+ import type { RadarPermissionsStatus, RadarTrackCallback, RadarTrackOnceOptions, RadarLocationUpdateCallback, RadarClientLocationUpdateCallback, RadarErrorCallback, RadarLogUpdateCallback, RadarEventUpdateCallback, RadarTokenUpdateCallback, RadarLogLevel, RadarMetadata, RadarTrackingOptionsDesiredAccuracy, RadarLocationCallback, RadarTrackVerifiedCallback, RadarTrackVerifiedOptions, RadarTrackingOptions, RadarVerifiedTrackingOptions, RadarMockTrackingOptions, RadarTrackingOptionsForegroundService, RadarNotificationOptions, RadarTripOptions, RadarStartTripOptions, RadarTripCallback, RadarUpdateTripOptions, RadarContextCallback, RadarSearchPlacesOptions, RadarSearchPlacesCallback, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarAutocompleteOptions, RadarAddressCallback, RadarReverseGeocodeOptions, RadarGeocodeOptions, RadarValidateAddressCallback, RadarIPGeocodeCallback, RadarAddress, RadarLogConversionOptions, RadarGetDistanceOptions, RadarRouteCallback, RadarGetMatrixOptions, RadarLogConversionCallback, RadarRouteMatrix } from "./types";
2
2
  export interface RadarNativeInterface {
3
3
  initialize: (publishableKey: string, fraud?: boolean) => void;
4
4
  setLogLevel: (level: RadarLogLevel) => void;
@@ -8,13 +8,11 @@ export interface RadarNativeInterface {
8
8
  getDescription: () => Promise<string>;
9
9
  setMetadata: (metadata: RadarMetadata) => void;
10
10
  getMetadata: () => Promise<RadarMetadata>;
11
- setProduct(product: string): void;
12
- getProduct: () => Promise<string>;
13
11
  setAnonymousTrackingEnabled: (enabled: boolean) => void;
14
12
  getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
15
13
  requestPermissions: (background: boolean) => Promise<RadarPermissionsStatus>;
16
14
  getLocation: (desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy) => Promise<RadarLocationCallback>;
17
- trackOnce: (options?: RadarTrackOnceOptions | Location) => Promise<RadarTrackCallback>;
15
+ trackOnce: (options?: RadarTrackOnceOptions) => Promise<RadarTrackCallback>;
18
16
  trackVerified: (options?: RadarTrackVerifiedOptions) => Promise<RadarTrackVerifiedCallback>;
19
17
  getVerifiedLocationToken: () => Promise<RadarTrackVerifiedCallback>;
20
18
  clearVerifiedLocationToken: () => void;
@@ -24,6 +22,7 @@ export interface RadarNativeInterface {
24
22
  startTrackingCustom: (options: RadarTrackingOptions) => void;
25
23
  startTrackingVerified: (options?: RadarVerifiedTrackingOptions) => void;
26
24
  isTrackingVerified: () => Promise<boolean>;
25
+ setProduct(product: string): void;
27
26
  mockTracking: (options: RadarMockTrackingOptions) => void;
28
27
  stopTracking: () => void;
29
28
  stopTrackingVerified: () => void;
@@ -50,9 +49,20 @@ export interface RadarNativeInterface {
50
49
  getDistance: (option: RadarGetDistanceOptions) => Promise<RadarRouteCallback>;
51
50
  getMatrix: (option: RadarGetMatrixOptions) => Promise<RadarRouteMatrix>;
52
51
  logConversion: (options: RadarLogConversionOptions) => Promise<RadarLogConversionCallback>;
53
- sendEvent: (name: string, metadata: RadarMetadata) => void;
54
- on: (channel: RadarEventChannel, callback: RadarListenerCallback) => void;
55
- off: (channel: RadarEventChannel, callback?: Function | undefined) => void;
56
52
  nativeSdkVersion: () => Promise<string>;
57
53
  rnSdkVersion: () => string;
54
+ onLocationUpdate: (callback: RadarLocationUpdateCallback) => void;
55
+ clearLocationUpdate: () => void;
56
+ onClientLocationUpdate: (callback: RadarClientLocationUpdateCallback) => void;
57
+ clearClientLocationUpdate: () => void;
58
+ onError: (callback: RadarErrorCallback) => void;
59
+ clearError: () => void;
60
+ onLog: (callback: RadarLogUpdateCallback) => void;
61
+ clearLog: () => void;
62
+ onEventUpdate: (callback: RadarEventUpdateCallback) => void;
63
+ clearEventUpdate: () => void;
64
+ onTokenUpdate: (callback: RadarTokenUpdateCallback) => void;
65
+ clearTokenUpdate: () => void;
66
+ getHost: () => Promise<string>;
67
+ getPublishableKey: () => Promise<string>;
58
68
  }
@@ -7,8 +7,6 @@ export interface RadarTrackOnceOptions {
7
7
  export interface RadarTrackVerifiedOptions {
8
8
  beacons?: boolean;
9
9
  desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy;
10
- reason?: string;
11
- transactionId?: string;
12
10
  }
13
11
  /**
14
12
  * Options for tracking the user's location.
@@ -248,7 +246,10 @@ export interface RadarErrorCallback {
248
246
  export interface RadarLogUpdateCallback {
249
247
  (status: string): void;
250
248
  }
251
- export type RadarListenerCallback = RadarEventUpdateCallback | RadarLocationUpdateCallback | RadarClientLocationUpdateCallback | RadarErrorCallback | RadarLogUpdateCallback;
249
+ export interface RadarTokenUpdateCallback {
250
+ (token: Object): void;
251
+ }
252
+ export type RadarListenerCallback = RadarEventUpdateCallback | RadarLocationUpdateCallback | RadarClientLocationUpdateCallback | RadarErrorCallback | RadarLogUpdateCallback | RadarTokenUpdateCallback;
252
253
  export type RadarPermissionsStatus = "GRANTED_FOREGROUND" | "GRANTED_BACKGROUND" | "DENIED" | "NOT_DETERMINED" | "UNKNOWN";
253
254
  export type RadarLocationSource = "FOREGROUND_LOCATION" | "BACKGROUND_LOCATION" | "MANUAL_LOCATION" | "VISIT_ARRIVAL" | "VISIT_DEPARTURE" | "GEOFENCE_ENTER" | "GEOFENCE_DWELL" | "GEOFENCE_EXIT" | "MOCK_LOCATION" | "BEACON_ENTER" | "BEACON_EXIT" | "UNKNOWN";
254
255
  export type RadarEventChannel = "clientLocation" | "location" | "error" | "events" | "log" | "token";
@@ -0,0 +1,86 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
3
+ export type LocationEmitter = {
4
+ location: Object;
5
+ user: Object;
6
+ };
7
+ export type ClientLocationEmitter = {
8
+ location: Object;
9
+ stopped: boolean;
10
+ source: string;
11
+ };
12
+ export type ErrorEmitter = {
13
+ status: string;
14
+ };
15
+ export type LogEmitter = {
16
+ message: string;
17
+ };
18
+ export type EventsEmitter = {
19
+ events: Array<Object>;
20
+ user: Object;
21
+ };
22
+ export type TokenEmitter = {
23
+ token: Object;
24
+ };
25
+ export interface Spec extends TurboModule {
26
+ initialize(publishableKey: string, fraud: boolean): void;
27
+ requestPermissions(background: boolean): Promise<string>;
28
+ getPermissionsStatus(): Promise<string>;
29
+ trackOnce(trackOnceOptions: Object | null): Promise<Object>;
30
+ setLogLevel(level: string): void;
31
+ setUserId(userId: string): void;
32
+ getUserId(): Promise<string>;
33
+ setDescription(description: string): void;
34
+ getDescription(): Promise<string>;
35
+ setMetadata(metadata: Object): void;
36
+ getMetadata(): Promise<Object>;
37
+ setAnonymousTrackingEnabled(enabled: boolean): void;
38
+ getLocation(desiredAccuracy: string | null): Promise<Object>;
39
+ trackVerified(trackVerifiedOptions: Object | null): Promise<Object>;
40
+ getVerifiedLocationToken(): Promise<Object>;
41
+ clearVerifiedLocationToken(): void;
42
+ startTrackingEfficient(): void;
43
+ startTrackingResponsive(): void;
44
+ startTrackingContinuous(): void;
45
+ startTrackingCustom(options: Object): void;
46
+ startTrackingVerified(options: Object | null): void;
47
+ isTrackingVerified(): Promise<boolean>;
48
+ setProduct(product: string): void;
49
+ mockTracking(options: Object): void;
50
+ stopTracking(): void;
51
+ stopTrackingVerified(): void;
52
+ getTrackingOptions(): Promise<Object>;
53
+ isUsingRemoteTrackingOptions(): Promise<boolean>;
54
+ isTracking(): Promise<boolean>;
55
+ setForegroundServiceOptions(options: Object): void;
56
+ setNotificationOptions(options: Object): void;
57
+ getTripOptions(): Promise<Object>;
58
+ startTrip(options: Object): Promise<Object>;
59
+ completeTrip(): Promise<Object>;
60
+ cancelTrip(): Promise<Object>;
61
+ updateTrip(options: Object): Promise<Object>;
62
+ acceptEvent(eventId: string, verifiedPlaceId: string): void;
63
+ rejectEvent(eventId: string): void;
64
+ getContext(location: Object): Promise<Object>;
65
+ searchPlaces(options: Object): Promise<Object>;
66
+ searchGeofences(options: Object): Promise<Object>;
67
+ autocomplete(options: Object): Promise<Object>;
68
+ geocode(options: Object): Promise<Object>;
69
+ reverseGeocode(options: Object): Promise<Object>;
70
+ ipGeocode(): Promise<Object>;
71
+ validateAddress(address: Object): Promise<Object>;
72
+ getDistance(options: Object): Promise<Object>;
73
+ getMatrix(options: Object): Promise<Object>;
74
+ logConversion(options: Object): Promise<Object>;
75
+ nativeSdkVersion(): Promise<string>;
76
+ getHost(): Promise<string>;
77
+ getPublishableKey(): Promise<string>;
78
+ readonly locationEmitter: EventEmitter<LocationEmitter>;
79
+ readonly clientLocationEmitter: EventEmitter<ClientLocationEmitter>;
80
+ readonly errorEmitter: EventEmitter<ErrorEmitter>;
81
+ readonly logEmitter: EventEmitter<LogEmitter>;
82
+ readonly eventsEmitter: EventEmitter<EventsEmitter>;
83
+ readonly tokenEmitter: EventEmitter<TokenEmitter>;
84
+ }
85
+ declare const _default: Spec;
86
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_native_1 = require("react-native");
4
+ exports.default = react_native_1.TurboModuleRegistry.getEnforcing('RNRadar');
package/dist/helpers.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export function getHost(): any;
2
- export function getPublishableKey(): any;
1
+ export function getHost(): Promise<string>;
2
+ export function getPublishableKey(): Promise<string>;