react-native-radar 3.7.2 → 3.7.3

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.
@@ -321,6 +321,40 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
321
321
  }
322
322
  }
323
323
 
324
+ @ReactMethod
325
+ public void trackVerified(final Promise promise) {
326
+ Radar.trackVerified(new Radar.RadarTrackCallback() {
327
+ @Override
328
+ public void onComplete(@NonNull Radar.RadarStatus status, @Nullable Location location, @Nullable RadarEvent[] events, @Nullable RadarUser user) {
329
+ if (promise == null) {
330
+ return;
331
+ }
332
+
333
+ try {
334
+ if (status == Radar.RadarStatus.SUCCESS) {
335
+ WritableMap map = Arguments.createMap();
336
+ map.putString("status", status.toString());
337
+ if (location != null) {
338
+ map.putMap("location", RNRadarUtils.mapForJson(Radar.jsonForLocation(location)));
339
+ }
340
+ if (events != null) {
341
+ map.putArray("events", RNRadarUtils.arrayForJson(RadarEvent.toJson(events)));
342
+ }
343
+ if (user != null) {
344
+ map.putMap("user", RNRadarUtils.mapForJson(user.toJson()));
345
+ }
346
+ promise.resolve(map);
347
+ } else {
348
+ promise.reject(status.toString(), status.toString());
349
+ }
350
+ } catch (JSONException e) {
351
+ Log.e(TAG, "JSONException", e);
352
+ promise.reject(Radar.RadarStatus.ERROR_SERVER.toString(), Radar.RadarStatus.ERROR_SERVER.toString());
353
+ }
354
+ }
355
+ });
356
+ }
357
+
324
358
  @ReactMethod
325
359
  public void startTrackingEfficient() {
326
360
  Radar.startTracking(RadarTrackingOptions.EFFICIENT);
@@ -1 +1 @@
1
- github "radarlabs/radar-sdk-ios" "3.7.3"
1
+ github "radarlabs/radar-sdk-ios" "3.7.7"
package/ios/RNRadar.m CHANGED
@@ -283,6 +283,34 @@ RCT_EXPORT_METHOD(trackOnce:(NSDictionary *)optionsDict resolve:(RCTPromiseResol
283
283
  }
284
284
  }
285
285
 
286
+ RCT_EXPORT_METHOD(trackVerified:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
287
+ __block RCTPromiseResolveBlock resolver = resolve;
288
+ __block RCTPromiseRejectBlock rejecter = reject;
289
+
290
+ RadarTrackCompletionHandler completionHandler = ^(RadarStatus status, CLLocation * _Nullable location, NSArray<RadarEvent *> * _Nullable events, RadarUser * _Nullable user) {
291
+ if (status == RadarStatusSuccess && resolver) {
292
+ NSMutableDictionary *dict = [NSMutableDictionary new];
293
+ [dict setObject:[Radar stringForStatus:status] forKey:@"status"];
294
+ if (location) {
295
+ [dict setObject:[Radar dictionaryForLocation:location] forKey:@"location"];
296
+ }
297
+ if (events) {
298
+ [dict setObject:[RadarEvent arrayForEvents:events] forKey:@"events"];
299
+ }
300
+ if (user) {
301
+ [dict setObject:[user dictionaryValue] forKey:@"user"];
302
+ }
303
+ resolver(dict);
304
+ } else if (rejecter) {
305
+ rejecter([Radar stringForStatus:status], [Radar stringForStatus:status], nil);
306
+ }
307
+ resolver = nil;
308
+ rejecter = nil;
309
+ };
310
+
311
+ [Radar trackVerifiedWithCompletionHandler:completionHandler];
312
+ }
313
+
286
314
 
287
315
  RCT_EXPORT_METHOD(startTrackingEfficient) {
288
316
  [Radar startTrackingWithOptions:RadarTrackingOptions.presetEfficient];
@@ -66,6 +66,10 @@ const trackOnce = options => {
66
66
  return NativeModules.RNRadar.trackOnce(backCompatibleOptions)
67
67
  };
68
68
 
69
+ const trackVerified = () => (
70
+ NativeModules.RNRadar.trackVerified()
71
+ );
72
+
69
73
  const startTrackingEfficient = () => (
70
74
  NativeModules.RNRadar.startTrackingEfficient()
71
75
  );
@@ -200,6 +204,7 @@ const Radar = {
200
204
  requestPermissions,
201
205
  getLocation,
202
206
  trackOnce,
207
+ trackVerified,
203
208
  startTrackingEfficient,
204
209
  startTrackingResponsive,
205
210
  startTrackingContinuous,
package/js/index.web.js CHANGED
@@ -87,6 +87,10 @@ const trackOnce = options => {
87
87
  });
88
88
  };
89
89
 
90
+ const trackVerified = () => {
91
+ // not implemented
92
+ };
93
+
90
94
  const startTrackingEfficient = () => {
91
95
  // not implemented
92
96
  };
@@ -371,6 +375,7 @@ const Radar = {
371
375
  requestPermissions,
372
376
  getLocation,
373
377
  trackOnce,
378
+ trackVerified,
374
379
  startTrackingEfficient,
375
380
  startTrackingResponsive,
376
381
  startTrackingContinuous,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "React Native module for Radar, the leading geofencing and location tracking platform",
4
4
  "homepage": "https://radar.com",
5
5
  "license": "Apache-2.0",
6
- "version": "3.7.2",
6
+ "version": "3.7.3",
7
7
  "main": "js/index.js",
8
8
  "files": [
9
9
  "android",
@@ -15,5 +15,5 @@ Pod::Spec.new do |s|
15
15
  s.platform = :ios, "10.0"
16
16
 
17
17
  s.dependency "React"
18
- s.dependency "RadarSDK", "~> 3.7.3"
18
+ s.dependency "RadarSDK", "~> 3.7.7"
19
19
  end