react-native-move-sdk 2.12.0 → 2.14.0-1

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 (89) hide show
  1. package/android/build.gradle.kts +42 -0
  2. package/android/gradle.properties +16 -6
  3. package/android/settings.gradle.kts +35 -0
  4. package/android/src/{main/java/in/dolph/move/sdk → legacy}/MoveSdkModule.kt +30 -195
  5. package/android/src/main/AndroidManifest.xml +1 -11
  6. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/DeviceScanner.kt +19 -21
  7. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/Mapper.kt +3 -2
  8. package/android/src/main/java/com/movesdk/MoveExtensions.kt +188 -0
  9. package/android/src/main/java/{in/dolph/move/sdk/MoveSdkRepository.kt → com/movesdk/MoveSdkConfigRepository.kt} +3 -1
  10. package/android/src/main/java/com/movesdk/MoveSdkPackage.kt +32 -0
  11. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/NativeMoveSdkWrapper.kt +201 -61
  12. package/android/src/main/java/com/movesdk/extentions/ConnectionExt.kt +52 -0
  13. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/extentions/PermissionUtils.kt +1 -1
  14. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/extentions/SharedPreferencesExt.kt +1 -1
  15. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/metadata/MetadataStorage.kt +1 -1
  16. package/android/src/main/java/{in/dolph/move/sdk → com/movesdk}/metadata/MetadataStorageImpl.kt +2 -2
  17. package/android/src/main/java/com/movesdk/shared/Constants.kt +39 -0
  18. package/android/src/turbo/MoveSdkModule.kt +422 -0
  19. package/ios/MoveSdk.h +13 -0
  20. package/ios/MoveSdk.mm +717 -0
  21. package/ios/MoveSdk.swift +1022 -0
  22. package/ios/{NativeModule/MoveSdkDeviceScanner.swift → MoveSdkDeviceScanner.swift} +1 -1
  23. package/lib/commonjs/NativeMoveSdk.js +21 -0
  24. package/lib/commonjs/NativeMoveSdk.js.map +1 -0
  25. package/lib/commonjs/components/LazyMoveSdk.js +22 -41
  26. package/lib/commonjs/components/LazyMoveSdk.js.map +1 -1
  27. package/lib/commonjs/index.js +331 -25
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/package.json +1 -0
  30. package/lib/module/NativeMoveSdk.js +17 -0
  31. package/lib/module/NativeMoveSdk.js.map +1 -0
  32. package/lib/module/components/LazyMoveSdk.js +15 -20
  33. package/lib/module/components/LazyMoveSdk.js.map +1 -1
  34. package/lib/module/index.js +337 -3
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/package.json +1 -0
  37. package/lib/typescript/commonjs/example/src/App.d.ts +2 -0
  38. package/lib/typescript/commonjs/example/src/App.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/package.json +1 -0
  40. package/lib/typescript/commonjs/src/NativeMoveSdk.d.ts +133 -0
  41. package/lib/typescript/commonjs/src/NativeMoveSdk.d.ts.map +1 -0
  42. package/lib/typescript/{components → commonjs/src/components}/LazyMoveSdk.d.ts +2 -1
  43. package/lib/typescript/commonjs/src/components/LazyMoveSdk.d.ts.map +1 -0
  44. package/lib/typescript/commonjs/src/index.d.ts +84 -0
  45. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  46. package/lib/typescript/module/example/src/App.d.ts +2 -0
  47. package/lib/typescript/module/example/src/App.d.ts.map +1 -0
  48. package/lib/typescript/module/package.json +1 -0
  49. package/lib/typescript/module/src/NativeMoveSdk.d.ts +133 -0
  50. package/lib/typescript/module/src/NativeMoveSdk.d.ts.map +1 -0
  51. package/lib/typescript/module/src/components/LazyMoveSdk.d.ts +8 -0
  52. package/lib/typescript/module/src/components/LazyMoveSdk.d.ts.map +1 -0
  53. package/lib/typescript/module/src/index.d.ts +84 -0
  54. package/lib/typescript/module/src/index.d.ts.map +1 -0
  55. package/package.json +197 -138
  56. package/react-native-move-sdk.podspec +30 -9
  57. package/src/NativeMoveSdk.ts +227 -0
  58. package/src/components/LazyMoveSdk.tsx +2 -2
  59. package/src/{MoveSdk.ts → index.tsx} +131 -199
  60. package/android/.project +0 -17
  61. package/android/build.gradle +0 -153
  62. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  63. package/android/gradle/wrapper/gradle-wrapper.properties +0 -8
  64. package/android/gradlew +0 -183
  65. package/android/gradlew.bat +0 -100
  66. package/android/src/main/java/in/dolph/move/sdk/MoveExtensions.kt +0 -72
  67. package/android/src/main/java/in/dolph/move/sdk/MoveSdkPackage.kt +0 -19
  68. package/android/src/main/java/in/dolph/move/sdk/WrapperBtConnectionsReceiver.kt +0 -96
  69. package/android/src/main/res/drawable-anydpi-v24/ic_notification.xml +0 -13
  70. package/android/src/main/res/drawable-hdpi/ic_notification.png +0 -0
  71. package/android/src/main/res/drawable-mdpi/ic_notification.png +0 -0
  72. package/android/src/main/res/drawable-xhdpi/ic_notification.png +0 -0
  73. package/android/src/main/res/drawable-xxhdpi/ic_notification.png +0 -0
  74. package/android/src/main/res/values/strings.xml +0 -9
  75. package/android/src/main/strings.xml +0 -0
  76. package/android/src/test/java/io/dolphin/move/MoveWrapperTest.kt +0 -190
  77. package/ios/MoveSdk-Bridging-Header.h +0 -3
  78. package/ios/MoveSdk.xcodeproj/project.pbxproj +0 -287
  79. package/ios/MoveSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  80. package/ios/MoveSdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  81. package/ios/NativeModule/MoveSdk.h +0 -144
  82. package/ios/NativeModule/MoveSdk.swift +0 -1359
  83. package/lib/commonjs/MoveSdk.js +0 -443
  84. package/lib/commonjs/MoveSdk.js.map +0 -1
  85. package/lib/module/MoveSdk.js +0 -432
  86. package/lib/module/MoveSdk.js.map +0 -1
  87. package/lib/typescript/MoveSdk.d.ts +0 -158
  88. package/lib/typescript/index.d.ts +0 -3
  89. package/src/index.ts +0 -3
@@ -1,443 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _reactNative = require("react-native");
9
-
10
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
- const {
13
- MoveSdk: NativeMoveSdk
14
- } = _reactNative.NativeModules;
15
- const eventEmitter = new _reactNative.NativeEventEmitter(NativeMoveSdk);
16
-
17
- class MoveSdk {
18
- static sdkStateFromNative(sdkState) {
19
- if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {
20
- return sdkState;
21
- }
22
-
23
- return MoveSdk.UNINITIALIZED;
24
- }
25
-
26
- static tripStateFromNative(nativeTripState) {
27
- if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {
28
- return nativeTripState;
29
- }
30
-
31
- return MoveSdk.UNKNOWN;
32
- }
33
-
34
- static authStateFromNative(nativeAuthState) {
35
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {
36
- return nativeAuthState;
37
- }
38
-
39
- return MoveSdk.AUTH_UNKNOWN;
40
- }
41
-
42
- static async setup(config, auth, android, options) {
43
- const {
44
- timelineDetectionServices,
45
- drivingServices,
46
- walkingServices
47
- } = config;
48
- const {
49
- userId,
50
- projectId,
51
- accessToken,
52
- refreshToken
53
- } = auth;
54
- let platformParams = [];
55
-
56
- if (_reactNative.Platform.OS === 'android') {
57
- const {
58
- notifications
59
- } = android;
60
- const {
61
- tripNotification,
62
- recognitionNotification
63
- } = notifications;
64
-
65
- if (!tripNotification || !recognitionNotification) {
66
- throw new Error('MOVE SDK needs notification configuration for Android');
67
- }
68
-
69
- platformParams = [recognitionNotification.title, recognitionNotification.text, tripNotification.title, tripNotification.text];
70
- }
71
-
72
- return await NativeMoveSdk.setup(userId, accessToken, refreshToken, projectId, // Config
73
- timelineDetectionServices, drivingServices, walkingServices, options, // Platform config
74
- ...platformParams);
75
- }
76
-
77
- static async setupWithCode(code, config, android, options) {
78
- const {
79
- timelineDetectionServices,
80
- drivingServices,
81
- walkingServices
82
- } = config;
83
- let platformParams = [];
84
-
85
- if (_reactNative.Platform.OS === 'android') {
86
- const {
87
- notifications
88
- } = android;
89
- const {
90
- tripNotification,
91
- recognitionNotification
92
- } = notifications;
93
-
94
- if (!tripNotification || !recognitionNotification) {
95
- throw new Error('MOVE SDK needs notification configuration for Android');
96
- }
97
-
98
- platformParams = [recognitionNotification.title, recognitionNotification.text, tripNotification.title, tripNotification.text];
99
- }
100
-
101
- return await NativeMoveSdk.setupWithCode(code, // Config
102
- timelineDetectionServices, drivingServices, walkingServices, options, // Platform config
103
- ...platformParams);
104
- }
105
-
106
- static allowMockLocations(allowMockLocations) {
107
- NativeMoveSdk.allowMockLocations(allowMockLocations);
108
- }
109
- /* Deprecated */
110
-
111
-
112
- static init() {
113
- NativeMoveSdk.init();
114
- }
115
-
116
- static resolveError() {
117
- NativeMoveSdk.resolveError();
118
- }
119
-
120
- static async updateAuth(auth) {
121
- const {
122
- userId,
123
- projectId,
124
- accessToken,
125
- refreshToken
126
- } = auth;
127
- return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);
128
- }
129
-
130
- static async startAutomaticDetection() {
131
- return await NativeMoveSdk.startAutomaticDetection();
132
- }
133
-
134
- static async stopAutomaticDetection() {
135
- return await NativeMoveSdk.stopAutomaticDetection();
136
- }
137
-
138
- static forceTripRecognition() {
139
- let duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 60000;
140
- NativeMoveSdk.forceTripRecognition(duration);
141
- }
142
-
143
- static keepInForeground(enabled) {
144
- if (_reactNative.Platform.OS === 'android') {
145
- NativeMoveSdk.keepInForeground(enabled);
146
- } else {
147
- console.warn('MoveSdk.keepInForeground() is Android OS only.');
148
- }
149
- }
150
-
151
- static keepActive(enabled) {
152
- if (_reactNative.Platform.OS === 'android') {
153
- NativeMoveSdk.keepActive(enabled);
154
- } else {
155
- console.warn('MoveSdk.keepActive() is Android OS only.');
156
- }
157
- }
158
-
159
- static async synchronizeUserData() {
160
- return await NativeMoveSdk.synchronizeUserData();
161
- }
162
-
163
- static async getAuthState() {
164
- const authState = await NativeMoveSdk.getAuthState();
165
- return MoveSdk.authStateFromNative(authState);
166
- }
167
-
168
- static async getState() {
169
- const state = await NativeMoveSdk.getState();
170
- return MoveSdk.sdkStateFromNative(state);
171
- }
172
-
173
- static async getTripState() {
174
- const tripState = await NativeMoveSdk.getTripState();
175
- return MoveSdk.tripStateFromNative(tripState);
176
- }
177
-
178
- static async getErrors() {
179
- return await NativeMoveSdk.getErrors();
180
- }
181
-
182
- static async getWarnings() {
183
- return await NativeMoveSdk.getWarnings();
184
- }
185
-
186
- static async initiateAssistanceCall() {
187
- return await NativeMoveSdk.initiateAssistanceCall();
188
- }
189
-
190
- static setAssistanceMetaData(data) {
191
- NativeMoveSdk.setAssistanceMetaData(data);
192
- }
193
-
194
- static addTripStateListener(tripStateChanged) {
195
- return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', event => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));
196
- }
197
-
198
- static addTripStartListener(tripStartTriggered) {
199
- return eventEmitter.addListener('MOVE_SDK_TRIP_START', start => tripStartTriggered(new Date(Number(start))));
200
- }
201
-
202
- static addSdkStateListener(sdkStateChanged) {
203
- return eventEmitter.addListener('MOVE_SDK_STATE', event => {
204
- sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));
205
- });
206
- }
207
-
208
- static addAuthStateListener(authStateChanged) {
209
- return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', event => {
210
- const transformedEvent = { ...event,
211
- state: MoveSdk.authStateFromNative(event.state)
212
- };
213
- authStateChanged(transformedEvent);
214
- });
215
- }
216
-
217
- static addErrorsListener(errorsReceived) {
218
- return eventEmitter.addListener('MOVE_SDK_ERRORS', event => {
219
- errorsReceived(event.errors);
220
- });
221
- }
222
-
223
- static addWarningsListener(warningsReceived) {
224
- return eventEmitter.addListener('MOVE_SDK_WARNINGS', event => {
225
- warningsReceived(event.warnings);
226
- });
227
- }
228
-
229
- static addAppEventListener(appEventReceived) {
230
- return eventEmitter.addListener('MOVE_SDK_APP_EVENT', event => {
231
- appEventReceived(event);
232
- });
233
- }
234
-
235
- static addLogListener(logReceived) {
236
- return eventEmitter.addListener('MOVE_SDK_LOG', event => {
237
- logReceived(event);
238
- });
239
- }
240
-
241
- static addRemoteConfigChangeListener(configChangeReceived) {
242
- return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', config => {
243
- configChangeReceived(config.services);
244
- });
245
- }
246
-
247
- static addHealthListener(scoreReceived) {
248
- return eventEmitter.addListener('MOVE_SDK_HEALTH', health => {
249
- scoreReceived(health);
250
- });
251
- }
252
-
253
- static version() {
254
- return _reactNative.Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';
255
- }
256
-
257
- static finishCurrentTrip() {
258
- NativeMoveSdk.finishCurrentTrip();
259
- }
260
-
261
- static ignoreCurrentTrip() {
262
- NativeMoveSdk.ignoreCurrentTrip();
263
- }
264
-
265
- static requestMotionPermission() {
266
- if (_reactNative.Platform.OS === 'ios') {
267
- NativeMoveSdk.requestMotionPermission();
268
- } else {
269
- console.warn('MoveSdk.requestMotionPermission() is iOS only.');
270
- }
271
- }
272
-
273
- static async getBluetoothPermission() {
274
- return await NativeMoveSdk.getBluetoothPermission();
275
- }
276
-
277
- static async getBluetoothState() {
278
- return await NativeMoveSdk.getBluetoothState();
279
- }
280
-
281
- static async shutdown() {
282
- let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
283
- return await NativeMoveSdk.shutdown(force);
284
- }
285
-
286
- static async getDeviceQualifier() {
287
- return NativeMoveSdk.getDeviceQualifier();
288
- }
289
-
290
- static async geocode(latitude, longitude) {
291
- return await NativeMoveSdk.geocode(latitude, longitude);
292
- }
293
-
294
- static async isAuthValid() {
295
- return await NativeMoveSdk.isAuthValid();
296
- } // **** PERMISSIONS MODULE START *****
297
-
298
-
299
- static async canDrawOverlays() {
300
- return await NativeMoveSdk.canDrawOverlays();
301
- }
302
-
303
- static requestDrawOverlaysPermission() {
304
- if (_reactNative.Platform.OS === 'android') {
305
- NativeMoveSdk.requestDrawOverlaysPermission();
306
- } else {
307
- console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');
308
- }
309
- }
310
-
311
- static async isAppIgnoringBatteryOptimization() {
312
- return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
313
- }
314
-
315
- static requestAppIgnoringBatteryOptimization() {
316
- if (_reactNative.Platform.OS === 'android') {
317
- NativeMoveSdk.requestAppIgnoringBatteryOptimization();
318
- } else {
319
- console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');
320
- }
321
- } // **** PERMISSIONS MODULE END *****
322
-
323
-
324
- static startScanningDevices(sdkDevicesDetected) {
325
- let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['paired'];
326
- let uuid = arguments.length > 2 ? arguments[2] : undefined;
327
- let manufacturerId = arguments.length > 3 ? arguments[3] : undefined;
328
- const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', devices => {
329
- sdkDevicesDetected(devices);
330
- });
331
- const subscriptionRemove = subscription.remove;
332
-
333
- subscription.remove = () => {
334
- NativeMoveSdk.stopScanningDevices();
335
- subscriptionRemove();
336
- };
337
-
338
- NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId !== null && manufacturerId !== void 0 ? manufacturerId : -1);
339
- return subscription;
340
- }
341
-
342
- static async getRegisteredDevices() {
343
- return await NativeMoveSdk.getRegisteredDevices();
344
- }
345
-
346
- static async registerDevices(devices) {
347
- return await NativeMoveSdk.registerDevices(devices);
348
- }
349
-
350
- static async unregisterDevices(devices) {
351
- return await NativeMoveSdk.unregisterDevices(devices);
352
- }
353
-
354
- static requestBluetoothAlwaysUsagePermission() {
355
- NativeMoveSdk.requestBluetoothAlwaysUsagePermission();
356
- }
357
-
358
- static addDeviceDiscoveryListener(onScanResult) {
359
- return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', results => {
360
- onScanResult(results);
361
- });
362
- }
363
-
364
- static addDeviceStateListener(onScanResult) {
365
- return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', results => {
366
- onScanResult(results);
367
- });
368
- }
369
-
370
- static setTimer(callback) {
371
- let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60000;
372
-
373
- if (_reactNative.Platform.OS === 'android') {
374
- const key = Date.now().toString();
375
- NativeMoveSdk.setTimer(delay, key, callback);
376
- return key;
377
- } else {
378
- console.warn('MoveSdk.setTimer() is Android OS only.');
379
- return '';
380
- }
381
- }
382
-
383
- static cancelTimer(key) {
384
- if (_reactNative.Platform.OS === 'android') {
385
- NativeMoveSdk.cancelTimer(key);
386
- } else {
387
- console.warn('MoveSdk.cancelTimer() is Android OS only.');
388
- }
389
- }
390
-
391
- static async startTrip(metadata) {
392
- return await NativeMoveSdk.startTrip(metadata);
393
- }
394
-
395
- static updateConfig(config, options) {
396
- const {
397
- timelineDetectionServices,
398
- drivingServices,
399
- walkingServices
400
- } = config;
401
- NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices, options);
402
- }
403
-
404
- static setTripMetadata(metadata) {
405
- NativeMoveSdk.setTripMetadata(metadata);
406
- }
407
-
408
- static async setLiveLocationTag(tag) {
409
- return await NativeMoveSdk.setLiveLocationTag(tag);
410
- }
411
-
412
- static startNativeSdkStateListener() {
413
- NativeMoveSdk.startNativeSdkStateListener();
414
- }
415
-
416
- }
417
-
418
- exports.default = MoveSdk;
419
-
420
- _defineProperty(MoveSdk, "READY", 'READY');
421
-
422
- _defineProperty(MoveSdk, "RUNNING", 'RUNNING');
423
-
424
- _defineProperty(MoveSdk, "UNINITIALIZED", 'UNINITIALIZED');
425
-
426
- _defineProperty(MoveSdk, "AUTH_EXPIRED", 'EXPIRED');
427
-
428
- _defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
429
-
430
- _defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
431
-
432
- _defineProperty(MoveSdk, "AUTH_INVALID", 'INVALID');
433
-
434
- _defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
435
-
436
- _defineProperty(MoveSdk, "DRIVING", 'DRIVING');
437
-
438
- _defineProperty(MoveSdk, "HALT", 'HALT');
439
-
440
- _defineProperty(MoveSdk, "IDLE", 'IDLE');
441
-
442
- _defineProperty(MoveSdk, "IGNORED", 'IGNORED');
443
- //# sourceMappingURL=MoveSdk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["MoveSdk.ts"],"names":["MoveSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_INVALID","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","setupWithCode","code","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","addLogListener","logReceived","addRemoteConfigChangeListener","configChangeReceived","services","addHealthListener","scoreReceived","health","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","getBluetoothPermission","getBluetoothState","shutdown","force","getDeviceQualifier","geocode","latitude","longitude","isAuthValid","canDrawOverlays","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization","startScanningDevices","sdkDevicesDetected","filter","uuid","manufacturerId","subscription","devices","subscriptionRemove","remove","stopScanningDevices","getRegisteredDevices","registerDevices","unregisterDevices","requestBluetoothAlwaysUsagePermission","addDeviceDiscoveryListener","onScanResult","results","addDeviceStateListener","setTimer","callback","delay","key","now","toString","cancelTimer","startTrip","metadata","updateConfig","setTripMetadata","setLiveLocationTag","tag","startNativeSdkStateListener"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform, EmitterSubscription } from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE'\n | 'GO_EDITION'\n | 'ROOTED'\n | 'NO_SIM'\n | 'BACKGROUND_RESTRICTED'\n | 'MOCK_PROVIDER_LOCATION'\n | 'MOCK_PROVIDER'\n | 'LOCATION_MODE'\n | 'PLAY_SERVICES_MISSING'\n | 'LOCATION_POWER_MODE(0)'\n | 'LOCATION_POWER_MODE(1)'\n | 'LOCATION_POWER_MODE(2)'\n | 'LOCATION_POWER_MODE(3)'\n | 'LOCATION_POWER_MODE(4)'\n | 'ENERGY_SAVER';\n\nexport type IssueListService = TimelineDetectionService | DrivingService | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type HealthReasons =\n | 'BATTERY_LEVEL'\n | 'CPU_USAGE'\n | 'DISK_USAGE'\n | 'INTERNET_USAGE'\n | 'MEMORY_USAGE'\n | 'NEW_VERSION'\n | 'UNIMPLEMENTED_LISTENERS';\n\nexport type HealthListItem = {\n reason: HealthReasons;\n description: string;\n};\n\nexport type MoveHealthScore = Array<HealthListItem>;\n\nexport type ShutdownReturnType = 'NETWORK_ERROR' | 'SUCCESS' | 'UNINITIALIZED';\n\nexport type MoveSdkConfig = {\n timelineDetectionServices: Array<TimelineDetectionService>;\n drivingServices: Array<DrivingService>;\n walkingServices: Array<WalkingService>;\n};\n\nexport type MoveSdkDeviceDiscovery = {\n startDelay?: number;\n duration?: number;\n interval?: number;\n stopScanOnFirstDiscovered?: boolean;\n};\n\nexport type MoveSdkOptions = {\n motionPermissionMandatory?: boolean;\n backgroundLocationPermissionMandatory?: boolean;\n overlayPermissionMandatory?: boolean;\n useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired' | 'connected';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n isConnected?: boolean;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nexport type MoveSdkLog = {\n message: string;\n value?: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n static AUTH_INVALID: AuthState = 'INVALID';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [recognitionNotification.title, recognitionNotification.text, tripNotification.title, tripNotification.text];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static async setupWithCode(code: string, config: MoveSdkConfig, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [recognitionNotification.title, recognitionNotification.text, tripNotification.title, tripNotification.text];\n }\n\n return await NativeMoveSdk.setupWithCode(\n code,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static async startAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.startAutomaticDetection();\n }\n\n static async stopAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));\n }\n\n static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) => tripStartTriggered(new Date(Number(start))));\n }\n\n static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static addLogListener(logReceived: (event: MoveSdkLog) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_LOG', (event) => {\n logReceived(event);\n });\n }\n\n static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n configChangeReceived(config.services);\n });\n }\n\n static addHealthListener(scoreReceived: (health: MoveHealthScore) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_HEALTH', (health) => {\n scoreReceived(health);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async getBluetoothPermission(): Promise<boolean> {\n return await NativeMoveSdk.getBluetoothPermission();\n }\n\n static async getBluetoothState(): Promise<boolean> {\n return await NativeMoveSdk.getBluetoothState();\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = ['paired'], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', (devices) => {\n sdkDevicesDetected(devices);\n });\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n\n static addDeviceStateListener(onScanResult: (results: Array<MoveSdkDevice>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', (results) => {\n onScanResult(results);\n });\n }\n\n static setTimer(callback: () => void, delay: number = 60000): string {\n if (Platform.OS === 'android') {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n } else {\n console.warn('MoveSdk.setTimer() is Android OS only.');\n return '';\n }\n }\n\n static cancelTimer(key: string) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.cancelTimer(key);\n } else {\n console.warn('MoveSdk.cancelTimer() is Android OS only.');\n }\n }\n\n static async startTrip(metadata?: { [key: string]: string }): Promise<boolean> {\n return await NativeMoveSdk.startTrip(metadata);\n }\n\n static updateConfig(config: MoveSdkConfig, options?: MoveSdkOptions) {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices, options);\n }\n\n static setTripMetadata(metadata?: { [key: string]: string }) {\n NativeMoveSdk.setTripMetadata(metadata);\n }\n\n static async setLiveLocationTag(tag?: string): Promise<boolean> {\n return await NativeMoveSdk.setLiveLocationTag(tag);\n }\n\n static startNativeSdkStateListener() {\n NativeMoveSdk.startNativeSdkStateListener();\n }\n}\n"]}