react-native-radar 3.13.0 → 3.15.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.
@@ -18,7 +18,7 @@ android {
18
18
  minSdkVersion 16
19
19
  targetSdkVersion 31
20
20
  versionCode 1
21
- versionName '3.13.0'
21
+ versionName '3.15.0'
22
22
  }
23
23
  lintOptions {
24
24
  abortOnError false
@@ -45,6 +45,6 @@ repositories {
45
45
 
46
46
  dependencies {
47
47
  api 'com.facebook.react:react-native:+'
48
- api 'io.radar:sdk:3.13.3'
48
+ api 'io.radar:sdk:3.16.0'
49
49
  }
50
50
 
@@ -32,7 +32,6 @@ import io.radar.sdk.model.RadarAddress;
32
32
  import io.radar.sdk.model.RadarContext;
33
33
  import io.radar.sdk.model.RadarEvent;
34
34
  import io.radar.sdk.model.RadarGeofence;
35
- import io.radar.sdk.model.RadarLocationPermissionStatus;
36
35
  import io.radar.sdk.model.RadarPlace;
37
36
  import io.radar.sdk.model.RadarRouteMatrix;
38
37
  import io.radar.sdk.model.RadarRoutes;
@@ -64,10 +63,6 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
64
63
  verifiedReceiver = new RNRadarVerifiedReceiver();
65
64
  }
66
65
 
67
- public static void onActivityCreate(Activity activity, Context context) {
68
- Radar.onActivityCreate(activity, context);
69
- }
70
-
71
66
  @ReactMethod
72
67
  public void addListener(String eventName) {
73
68
  if (listenerCount == 0) {
@@ -101,7 +96,7 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
101
96
  this.fraud = fraud;
102
97
  SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
103
98
  editor.putString("x_platform_sdk_type", "ReactNative");
104
- editor.putString("x_platform_sdk_version", "3.13.0");
99
+ editor.putString("x_platform_sdk_version", "3.15.0");
105
100
  editor.apply();
106
101
  if (fraud) {
107
102
  Radar.initialize(getReactApplicationContext(), publishableKey, receiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud);
@@ -252,6 +247,22 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
252
247
  return true;
253
248
  }
254
249
 
250
+
251
+ @ReactMethod
252
+ public void requestPermissions(boolean background, final Promise promise) {
253
+ PermissionAwareActivity activity = (PermissionAwareActivity)getCurrentActivity();
254
+ mPermissionsRequestPromise = promise;
255
+ if (activity != null) {
256
+ if (Build.VERSION.SDK_INT >= 23) {
257
+ if (background && Build.VERSION.SDK_INT >= 29) {
258
+ activity.requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
259
+ } else {
260
+ activity.requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
261
+ }
262
+ }
263
+ }
264
+ }
265
+
255
266
  @ReactMethod
256
267
  public void getLocation(String desiredAccuracy, final Promise promise) {
257
268
 
@@ -1299,33 +1310,4 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
1299
1310
  Radar.logConversion(name, metadataObj, callback);
1300
1311
  }
1301
1312
  }
1302
-
1303
- @ReactMethod
1304
- public void requestForegroundLocationPermission() {
1305
- Radar.requestForegroundLocationPermission();
1306
- }
1307
-
1308
- @ReactMethod
1309
- public void requestBackgroundLocationPermission() {
1310
- Radar.requestBackgroundLocationPermission();
1311
- }
1312
-
1313
- @ReactMethod
1314
- public void getLocationPermissionStatus(final Promise promise) {
1315
- if (promise == null) {
1316
- return;
1317
- }
1318
- try {
1319
- RadarLocationPermissionStatus options = Radar.getLocationPermissionStatus();
1320
- promise.resolve(RNRadarUtils.mapForJson(options.toJson()));
1321
- } catch(JSONException e) {
1322
- Log.e(TAG, "JSONException", e);
1323
- promise.reject(Radar.RadarStatus.ERROR_SERVER.toString(), Radar.RadarStatus.ERROR_SERVER.toString());
1324
- }
1325
- }
1326
-
1327
- @ReactMethod
1328
- public void openAppSettings() {
1329
- Radar.openAppSettings();
1330
- }
1331
1313
  }
@@ -20,7 +20,6 @@ import io.radar.sdk.Radar;
20
20
  import io.radar.sdk.RadarReceiver;
21
21
  import io.radar.sdk.model.RadarEvent;
22
22
  import io.radar.sdk.model.RadarUser;
23
- import io.radar.sdk.model.RadarLocationPermissionStatus;
24
23
  import java.util.concurrent.atomic.AtomicInteger;
25
24
 
26
25
  public class RNRadarReceiver extends RadarReceiver {
@@ -112,16 +111,4 @@ public class RNRadarReceiver extends RadarReceiver {
112
111
  }
113
112
  }
114
113
 
115
- @Override
116
- public void onLocationPermissionStatusUpdated(@NonNull Context context, @NonNull RadarLocationPermissionStatus status) {
117
- try {
118
- ReactApplication reactApplication = ((ReactApplication)context.getApplicationContext());
119
- reactNativeHost = reactApplication.getReactNativeHost();
120
-
121
- sendEvent("locationPermissionStatus", RNRadarUtils.mapForJson(status.toJson()));
122
- } catch (Exception e) {
123
- Log.e(TAG, "Exception", e);
124
- }
125
- }
126
-
127
114
  }
package/dist/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.13.0",
6
+ "version": "3.15.0",
7
7
  "main": "dist/src/index.js",
8
8
  "files": [
9
9
  "android",
@@ -1,4 +1,4 @@
1
- import { Location, RadarAutocompleteOptions, RadarContextCallback, RadarAddressCallback, RadarEventChannel, RadarGeocodeOptions, RadarGetDistanceOptions, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarReverseGeocodeOptions, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackOnceOptions, RadarTrackVerifiedCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarVerifiedTrackingOptions, RadarListenerCallback, RadarGetMatrixOptions, RadarMetadata, RadarIPGeocodeCallback, RadarLocationPermissionStatus } from "./types";
1
+ import { Location, RadarAutocompleteOptions, RadarContextCallback, RadarAddressCallback, RadarEventChannel, RadarGeocodeOptions, RadarGetDistanceOptions, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarReverseGeocodeOptions, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackOnceOptions, RadarTrackVerifiedCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarVerifiedTrackingOptions, RadarListenerCallback, RadarGetMatrixOptions, RadarMetadata, RadarIPGeocodeCallback } from "./types";
2
2
  export interface RadarNativeInterface {
3
3
  initialize: (publishableKey: string, fraud?: boolean) => void;
4
4
  setLogLevel: (level: RadarLogLevel) => void;
@@ -10,10 +10,7 @@ export interface RadarNativeInterface {
10
10
  getMetadata: () => Promise<RadarMetadata>;
11
11
  setAnonymousTrackingEnabled: (enabled: boolean) => void;
12
12
  getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
13
- requestForegroundLocationPermission: () => void;
14
- requestBackgroundLocationPermission: () => void;
15
- getLocationPermissionStatus: () => Promise<RadarLocationPermissionStatus>;
16
- openAppSettings: () => void;
13
+ requestPermissions: (background: boolean) => Promise<RadarPermissionsStatus>;
17
14
  getLocation: (desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy) => Promise<RadarLocationCallback>;
18
15
  trackOnce: (options?: RadarTrackOnceOptions | Location) => Promise<RadarTrackCallback>;
19
16
  trackVerified: (options?: RadarTrackVerifiedOptions) => Promise<RadarTrackVerifiedCallback>;
@@ -243,13 +243,10 @@ export interface RadarErrorCallback {
243
243
  export interface RadarLogUpdateCallback {
244
244
  (status: string): void;
245
245
  }
246
- export interface RadarLocationPermissionStatusCallback {
247
- (status: RadarLocationPermissionStatus): void;
248
- }
249
- export type RadarListenerCallback = RadarEventUpdateCallback | RadarLocationUpdateCallback | RadarClientLocationUpdateCallback | RadarErrorCallback | RadarLogUpdateCallback | RadarLocationPermissionStatusCallback;
246
+ export type RadarListenerCallback = RadarEventUpdateCallback | RadarLocationUpdateCallback | RadarClientLocationUpdateCallback | RadarErrorCallback | RadarLogUpdateCallback;
250
247
  export type RadarPermissionsStatus = "GRANTED_FOREGROUND" | "GRANTED_BACKGROUND" | "DENIED" | "NOT_DETERMINED" | "UNKNOWN";
251
248
  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";
252
- export type RadarEventChannel = "clientLocation" | "location" | "error" | "events" | "log" | "token" | "locationPermissionStatus";
249
+ export type RadarEventChannel = "clientLocation" | "location" | "error" | "events" | "log" | "token";
253
250
  export type RadarLogLevel = "info" | "debug" | "warning" | "error" | "none";
254
251
  export interface RadarRouteMatrix {
255
252
  status: string;
@@ -493,24 +490,3 @@ export interface RadarTrackingOptionsForegroundService {
493
490
  iconColor?: string;
494
491
  }
495
492
  export type RadarTripStatus = "unknown" | "started" | "approaching" | "arrived" | "expired" | "completed" | "canceled";
496
- export interface RadarLocationPermissionStatusAndroid {
497
- status: LocationPermissionState;
498
- foregroundPermissionResult: boolean;
499
- backgroundPermissionResult: boolean;
500
- shouldShowRequestPermissionRationaleFG: boolean;
501
- shouldShowRequestPermissionRationaleBG: boolean;
502
- previouslyDeniedForeground: boolean;
503
- inLocationPopup: boolean;
504
- approximatePermissionResult: boolean;
505
- previouslyDeniedBackground: boolean;
506
- }
507
- export interface RadarLocationPermissionStatusIOS {
508
- status: LocationPermissionState;
509
- locationManagerStatus: LocationManagerStatus;
510
- backgroundPopupAvailable: boolean;
511
- inForegroundPopup: boolean;
512
- userRejectedBackgroundPermission: boolean;
513
- }
514
- export type RadarLocationPermissionStatus = RadarLocationPermissionStatusAndroid | RadarLocationPermissionStatusIOS;
515
- export type LocationPermissionState = "NO_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_GRANTED" | "APPROXIMATE_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_REJECTED_ONCE" | "FOREGROUND_PERMISSION_REJECTED" | "FOREGROUND_PERMISSION_PENDING" | "BACKGROUND_PERMISSION_GRANTED" | "BACKGROUND_PERMISSION_REJECTED" | "BACKGROUND_PERMISSION_REJECTED_ONCE" | "BACKGROUND_PERMISSION_PENDING" | "PERMISSION_RESTRICTED" | "UNKNOWN";
516
- export type LocationManagerStatus = "NotDetermined" | "Restricted" | "Denied" | "AuthorizedAlways" | "AuthorizedWhenInUse" | "Unknown";
@@ -27,10 +27,7 @@ const setMetadata = (metadata) => {
27
27
  const getMetadata = () => react_native_1.NativeModules.RNRadar.getMetadata();
28
28
  const setAnonymousTrackingEnabled = (enabled) => react_native_1.NativeModules.RNRadar.setAnonymousTrackingEnabled(enabled);
29
29
  const getPermissionsStatus = () => react_native_1.NativeModules.RNRadar.getPermissionsStatus();
30
- const requestForegroundLocationPermission = () => react_native_1.NativeModules.RNRadar.requestForegroundLocationPermission();
31
- const requestBackgroundLocationPermission = () => react_native_1.NativeModules.RNRadar.requestBackgroundLocationPermission();
32
- const getLocationPermissionStatus = () => react_native_1.NativeModules.RNRadar.getLocationPermissionStatus();
33
- const openAppSettings = () => react_native_1.NativeModules.RNRadar.openAppSettings();
30
+ const requestPermissions = (background) => react_native_1.NativeModules.RNRadar.requestPermissions(background);
34
31
  const getLocation = (desiredAccuracy) => react_native_1.NativeModules.RNRadar.getLocation(desiredAccuracy);
35
32
  const trackOnce = (options) => {
36
33
  let backCompatibleOptions = options;
@@ -98,10 +95,7 @@ const Radar = {
98
95
  setAnonymousTrackingEnabled,
99
96
  isUsingRemoteTrackingOptions,
100
97
  getPermissionsStatus,
101
- requestForegroundLocationPermission,
102
- requestBackgroundLocationPermission,
103
- getLocationPermissionStatus,
104
- openAppSettings,
98
+ requestPermissions,
105
99
  getLocation,
106
100
  trackOnce,
107
101
  trackVerified,
@@ -1 +1 @@
1
- github "radarlabs/radar-sdk-ios" "3.13.5"
1
+ github "radarlabs/radar-sdk-ios" "3.16.0"
package/ios/RNRadar.m CHANGED
@@ -24,38 +24,6 @@ RCT_EXPORT_MODULE();
24
24
  return self;
25
25
  }
26
26
 
27
- /**
28
- map iOS status string which is PascalCase into standard UPPER_SNAKE_CASE, which is consistent with android and javascript styling.
29
- */
30
- + (NSDictionary *)mapLocationPermissionStatus:(NSDictionary *)status {
31
- NSString *statusString = status[@"locationPermissionState"];
32
- NSString *newStatusString;
33
-
34
- if ([statusString isEqualToString:@"NoPermissionGranted"]) {
35
- newStatusString = @"NO_PERMISSION_GRANTED";
36
- } else if ([statusString isEqualToString:@"ForegroundPermissionGranted"]) {
37
- newStatusString = @"FOREGROUND_PERMISSION_GRANTED";
38
- } else if ([statusString isEqualToString:@"ForegroundPermissionRejected"]) {
39
- newStatusString = @"FOREGROUND_PERMISSION_REJECTED";
40
- } else if ([statusString isEqualToString:@"ForegroundPermissionPending"]) {
41
- newStatusString = @"FOREGROUND_PERMISSION_PENDING";
42
- } else if ([statusString isEqualToString:@"BackgroundPermissionGranted"]) {
43
- newStatusString = @"BACKGROUND_PERMISSION_GRANTED";
44
- } else if ([statusString isEqualToString:@"BackgroundPermissionRejected"]) {
45
- newStatusString = @"BACKGROUND_PERMISSION_REJECTED";
46
- } else if ([statusString isEqualToString:@"BackgroundPermissionPending"]) {
47
- newStatusString = @"BACKGROUND_PERMISSION_PENDING";
48
- } else if ([statusString isEqualToString:@"PermissionRestricted"]) {
49
- newStatusString = @"PERMISSION_RESTRICTED";
50
- } else {
51
- newStatusString = @"UNKNOWN";
52
- }
53
-
54
- NSMutableDictionary *newStatus = [status mutableCopy];
55
- [newStatus removeObjectForKey:@"locationPermissionState"];
56
- [newStatus setValue:newStatusString forKey:@"status"];
57
- return newStatus;
58
- }
59
27
 
60
28
  - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
61
29
  if (permissionsRequestResolver) {
@@ -73,7 +41,7 @@ RCT_EXPORT_MODULE();
73
41
  }
74
42
 
75
43
  - (NSArray<NSString *> *)supportedEvents {
76
- return @[@"events", @"location", @"clientLocation", @"error", @"log", @"token", @"locationPermissionStatus"];
44
+ return @[@"events", @"location", @"clientLocation", @"error", @"log", @"token"];
77
45
  }
78
46
 
79
47
  - (void)startObserving {
@@ -132,15 +100,9 @@ RCT_EXPORT_MODULE();
132
100
  }
133
101
  }
134
102
 
135
- - (void)didUpdateLocationPermissionStatus:(RadarLocationPermissionStatus *)status {
136
- if (hasListeners) {
137
- [self sendEventWithName:@"locationPermissionStatus" body:[RNRadar mapLocationPermissionStatus:[status dictionaryValue]]];
138
- }
139
- }
140
-
141
103
  RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud) {
142
104
  [[NSUserDefaults standardUserDefaults] setObject:@"ReactNative" forKey:@"radar-xPlatformSDKType"];
143
- [[NSUserDefaults standardUserDefaults] setObject:@"3.13.0" forKey:@"radar-xPlatformSDKVersion"];
105
+ [[NSUserDefaults standardUserDefaults] setObject:@"3.15.0" forKey:@"radar-xPlatformSDKVersion"];
144
106
  [Radar initializeWithPublishableKey:publishableKey];
145
107
  }
146
108
 
@@ -226,6 +188,19 @@ RCT_REMAP_METHOD(getPermissionsStatus, getPermissionsStatusWithResolver:(RCTProm
226
188
  resolve(statusStr);
227
189
  }
228
190
 
191
+ RCT_EXPORT_METHOD(requestPermissions:(BOOL)background resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
192
+ permissionsRequestResolver = resolve;
193
+
194
+ CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
195
+ if (background && status == kCLAuthorizationStatusAuthorizedWhenInUse) {
196
+ [locationManager requestAlwaysAuthorization];
197
+ } else if (status == kCLAuthorizationStatusNotDetermined) {
198
+ [locationManager requestWhenInUseAuthorization];
199
+ } else {
200
+ [self getPermissionsStatusWithResolver:resolve rejecter:reject];
201
+ }
202
+ }
203
+
229
204
  RCT_EXPORT_METHOD(getLocation:(NSString *)desiredAccuracy resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
230
205
  __block RCTPromiseResolveBlock resolver = resolve;
231
206
  __block RCTPromiseRejectBlock rejecter = reject;
@@ -1175,21 +1150,4 @@ RCT_EXPORT_METHOD(logConversion:(NSDictionary *)optionsDict resolve:(RCTPromiseR
1175
1150
  }
1176
1151
  }
1177
1152
 
1178
- RCT_EXPORT_METHOD(requestForegroundLocationPermission) {
1179
- [Radar requestForegroundLocationPermission];
1180
- }
1181
-
1182
- RCT_EXPORT_METHOD(requestBackgroundLocationPermission) {
1183
- [Radar requestBackgroundLocationPermission];
1184
- }
1185
-
1186
- RCT_EXPORT_METHOD(getLocationPermissionStatus:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
1187
- RadarLocationPermissionStatus* status = [Radar getLocationPermissionStatus];
1188
- resolve([RNRadar mapLocationPermissionStatus:[status dictionaryValue]]);
1189
- }
1190
-
1191
- RCT_EXPORT_METHOD(openAppSettings) {
1192
- [Radar openAppSettings];
1193
- }
1194
-
1195
1153
  @end
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.13.0",
6
+ "version": "3.15.0",
7
7
  "main": "dist/src/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.13.5"
18
+ s.dependency "RadarSDK", "~> 3.16.0"
19
19
  end
@@ -36,7 +36,6 @@ import {
36
36
  RadarGetMatrixOptions,
37
37
  RadarMetadata,
38
38
  RadarIPGeocodeCallback,
39
- RadarLocationPermissionStatus,
40
39
  } from "./types";
41
40
 
42
41
  export interface RadarNativeInterface {
@@ -50,10 +49,7 @@ export interface RadarNativeInterface {
50
49
  getMetadata: () => Promise<RadarMetadata>;
51
50
  setAnonymousTrackingEnabled: (enabled: boolean) => void;
52
51
  getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
53
- requestForegroundLocationPermission: () => void;
54
- requestBackgroundLocationPermission: () => void;
55
- getLocationPermissionStatus: () => Promise<RadarLocationPermissionStatus>;
56
- openAppSettings: () => void;
52
+ requestPermissions: (background: boolean) => Promise<RadarPermissionsStatus>;
57
53
  getLocation: (
58
54
  desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy
59
55
  ) => Promise<RadarLocationCallback>;
@@ -421,9 +421,6 @@ export interface RadarLogUpdateCallback {
421
421
  (status: string): void;
422
422
  }
423
423
 
424
- export interface RadarLocationPermissionStatusCallback {
425
- (status: RadarLocationPermissionStatus): void;
426
- }
427
424
 
428
425
  export type RadarListenerCallback =
429
426
  | RadarEventUpdateCallback
@@ -431,7 +428,6 @@ export type RadarListenerCallback =
431
428
  | RadarClientLocationUpdateCallback
432
429
  | RadarErrorCallback
433
430
  | RadarLogUpdateCallback
434
- | RadarLocationPermissionStatusCallback;
435
431
 
436
432
  export type RadarPermissionsStatus =
437
433
  | "GRANTED_FOREGROUND"
@@ -454,7 +450,7 @@ export type RadarLocationSource =
454
450
  | "BEACON_EXIT"
455
451
  | "UNKNOWN";
456
452
 
457
- export type RadarEventChannel = "clientLocation" | "location" | "error" | "events" | "log" | "token" | "locationPermissionStatus";
453
+ export type RadarEventChannel = "clientLocation" | "location" | "error" | "events" | "log" | "token" ;
458
454
 
459
455
  export type RadarLogLevel = "info" | "debug" | "warning" | "error" | "none";
460
456
 
@@ -786,47 +782,3 @@ export type RadarTripStatus =
786
782
  | "completed"
787
783
  | "canceled";
788
784
 
789
- export interface RadarLocationPermissionStatusAndroid {
790
- status: LocationPermissionState;
791
- foregroundPermissionResult: boolean;
792
- backgroundPermissionResult: boolean;
793
- shouldShowRequestPermissionRationaleFG: boolean;
794
- shouldShowRequestPermissionRationaleBG: boolean;
795
- previouslyDeniedForeground: boolean;
796
- inLocationPopup: boolean;
797
- approximatePermissionResult: boolean;
798
- previouslyDeniedBackground: boolean;
799
- }
800
-
801
- export interface RadarLocationPermissionStatusIOS {
802
- status: LocationPermissionState;
803
- locationManagerStatus: LocationManagerStatus;
804
- backgroundPopupAvailable: boolean;
805
- inForegroundPopup: boolean;
806
- userRejectedBackgroundPermission: boolean;
807
- }
808
-
809
- export type RadarLocationPermissionStatus =
810
- RadarLocationPermissionStatusAndroid | RadarLocationPermissionStatusIOS
811
-
812
- export type LocationPermissionState =
813
- | "NO_PERMISSION_GRANTED"
814
- | "FOREGROUND_PERMISSION_GRANTED"
815
- | "APPROXIMATE_PERMISSION_GRANTED"
816
- | "FOREGROUND_PERMISSION_REJECTED_ONCE"
817
- | "FOREGROUND_PERMISSION_REJECTED"
818
- | "FOREGROUND_PERMISSION_PENDING"
819
- | "BACKGROUND_PERMISSION_GRANTED"
820
- | "BACKGROUND_PERMISSION_REJECTED"
821
- | "BACKGROUND_PERMISSION_REJECTED_ONCE"
822
- | "BACKGROUND_PERMISSION_PENDING"
823
- | "PERMISSION_RESTRICTED"
824
- | "UNKNOWN";
825
-
826
- export type LocationManagerStatus =
827
- | "NotDetermined"
828
- | "Restricted"
829
- | "Denied"
830
- | "AuthorizedAlways"
831
- | "AuthorizedWhenInUse"
832
- | "Unknown";
@@ -39,7 +39,6 @@ import {
39
39
  RadarIPGeocodeCallback,
40
40
  RadarTrackVerifiedOptions,
41
41
  RadarTrackVerifiedCallback,
42
- RadarLocationPermissionStatus,
43
42
  } from "./@types/types";
44
43
 
45
44
  if (
@@ -85,16 +84,10 @@ const setAnonymousTrackingEnabled = (enabled: boolean): void =>
85
84
  const getPermissionsStatus = (): Promise<RadarPermissionsStatus> =>
86
85
  NativeModules.RNRadar.getPermissionsStatus();
87
86
 
88
- const requestForegroundLocationPermission = () =>
89
- NativeModules.RNRadar.requestForegroundLocationPermission();
90
-
91
- const requestBackgroundLocationPermission = () =>
92
- NativeModules.RNRadar.requestBackgroundLocationPermission();
93
-
94
- const getLocationPermissionStatus = (): Promise<RadarLocationPermissionStatus> =>
95
- NativeModules.RNRadar.getLocationPermissionStatus();
96
-
97
- const openAppSettings = () => NativeModules.RNRadar.openAppSettings()
87
+ const requestPermissions = (
88
+ background: boolean
89
+ ): Promise<RadarPermissionsStatus> =>
90
+ NativeModules.RNRadar.requestPermissions(background);
98
91
 
99
92
  const getLocation = (
100
93
  desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy
@@ -115,10 +108,12 @@ const trackOnce = (
115
108
  return NativeModules.RNRadar.trackOnce(backCompatibleOptions);
116
109
  };
117
110
 
118
- const trackVerified = (options?: RadarTrackVerifiedOptions): Promise<RadarTrackVerifiedCallback> =>
111
+ const trackVerified = (
112
+ options?: RadarTrackVerifiedOptions
113
+ ): Promise<RadarTrackVerifiedCallback> =>
119
114
  NativeModules.RNRadar.trackVerified(options);
120
115
 
121
- const getVerifiedLocationToken = (): Promise<RadarTrackVerifiedCallback> =>
116
+ const getVerifiedLocationToken = (): Promise<RadarTrackVerifiedCallback> =>
122
117
  NativeModules.RNRadar.getVerifiedLocationToken();
123
118
 
124
119
  const startTrackingEfficient = (): void =>
@@ -141,7 +136,8 @@ const mockTracking = (options: RadarMockTrackingOptions): void =>
141
136
 
142
137
  const stopTracking = (): void => NativeModules.RNRadar.stopTracking();
143
138
 
144
- const stopTrackingVerified = (): void => NativeModules.RNRadar.stopTrackingVerified();
139
+ const stopTrackingVerified = (): void =>
140
+ NativeModules.RNRadar.stopTrackingVerified();
145
141
 
146
142
  const getTrackingOptions = (): Promise<RadarTrackingOptions> =>
147
143
  NativeModules.RNRadar.getTrackingOptions();
@@ -201,7 +197,9 @@ const autocomplete = (
201
197
  const geocode = (options: RadarGeocodeOptions): Promise<RadarAddressCallback> =>
202
198
  NativeModules.RNRadar.geocode(options);
203
199
 
204
- const reverseGeocode = (options?: RadarReverseGeocodeOptions): Promise<RadarAddressCallback> =>
200
+ const reverseGeocode = (
201
+ options?: RadarReverseGeocodeOptions
202
+ ): Promise<RadarAddressCallback> =>
205
203
  NativeModules.RNRadar.reverseGeocode(options);
206
204
 
207
205
  const ipGeocode = (): Promise<RadarIPGeocodeCallback> =>
@@ -222,10 +220,15 @@ const logConversion = (
222
220
  const sendEvent = (name: string, metadata: RadarMetadata): void =>
223
221
  NativeModules.RNRadar.sendEvent(name, metadata);
224
222
 
225
- const on = (channel: RadarEventChannel, callback: RadarListenerCallback): void =>
226
- eventEmitter.addListener(channel, callback);
223
+ const on = (
224
+ channel: RadarEventChannel,
225
+ callback: RadarListenerCallback
226
+ ): void => eventEmitter.addListener(channel, callback);
227
227
 
228
- const off = (channel: RadarEventChannel, callback?: Function | undefined): void => {
228
+ const off = (
229
+ channel: RadarEventChannel,
230
+ callback?: Function | undefined
231
+ ): void => {
229
232
  if (callback) {
230
233
  // @ts-ignore
231
234
  eventEmitter.removeListener(channel, callback);
@@ -251,10 +254,7 @@ const Radar: RadarNativeInterface = {
251
254
  setAnonymousTrackingEnabled,
252
255
  isUsingRemoteTrackingOptions,
253
256
  getPermissionsStatus,
254
- requestForegroundLocationPermission,
255
- requestBackgroundLocationPermission,
256
- getLocationPermissionStatus,
257
- openAppSettings,
257
+ requestPermissions,
258
258
  getLocation,
259
259
  trackOnce,
260
260
  trackVerified,