react-native-move-sdk 0.1.4 → 0.2.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.
@@ -10,75 +10,44 @@ var _reactNative = require("react-native");
10
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
11
 
12
12
  const {
13
- DolphinSdk: NativeMoveSdk
13
+ MoveSdk: NativeMoveSdk
14
14
  } = _reactNative.NativeModules;
15
15
  const eventEmitter = new _reactNative.NativeEventEmitter(NativeMoveSdk);
16
16
 
17
17
  class MoveSdk {
18
- static sdkStateFromNative(nativeSdkState) {
19
- var _stateString;
20
-
21
- let stateString = nativeSdkState === null || nativeSdkState === void 0 ? void 0 : nativeSdkState.toLowerCase();
22
-
23
- if ((_stateString = stateString) !== null && _stateString !== void 0 && _stateString.includes('(')) {
24
- var _stateString2, _stateString3;
25
-
26
- stateString = (_stateString2 = stateString) === null || _stateString2 === void 0 ? void 0 : _stateString2.substring(0, (_stateString3 = stateString) === null || _stateString3 === void 0 ? void 0 : _stateString3.indexOf('(')).toLowerCase();
18
+ static sdkStateFromNative(sdkState) {
19
+ if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {
20
+ return sdkState;
27
21
  }
28
22
 
29
- switch (stateString) {
30
- case 'uninitialized':
31
- return MoveSdk.UNINITIALIZED;
32
-
33
- case 'ready':
34
- return MoveSdk.READY;
35
-
36
- case 'running':
37
- return MoveSdk.RUNNING;
38
-
39
- case 'error':
40
- return MoveSdk.ERROR;
41
-
42
- default:
43
- return null;
44
- }
23
+ return MoveSdk.UNINITIALIZED;
45
24
  }
46
25
 
47
26
  static tripStateFromNative(nativeTripState) {
48
- const state = nativeTripState === null || nativeTripState === void 0 ? void 0 : nativeTripState.toLowerCase();
49
-
50
- if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(state)) {
51
- return state;
27
+ if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {
28
+ return nativeTripState;
52
29
  }
53
30
 
54
- return null;
31
+ return MoveSdk.UNKNOWN;
55
32
  }
56
33
 
57
34
  static authStateFromNative(nativeAuthState) {
58
- const state = nativeAuthState === null || nativeAuthState === void 0 ? void 0 : nativeAuthState.toLowerCase();
59
-
60
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {
61
- return state;
35
+ if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
36
+ return nativeAuthState;
62
37
  }
63
38
 
64
- return null;
39
+ return MoveSdk.AUTH_UNKNOWN;
65
40
  }
66
41
 
67
- static configurationErrorFromNative(nativeInitError) {
68
- const state = nativeInitError === null || nativeInitError === void 0 ? void 0 : nativeInitError.toLowerCase();
69
- return state;
70
- }
71
-
72
- static initialize(config, auth, android) {
42
+ static async setup(config, auth, android) {
73
43
  const {
74
44
  timelineDetectionServices,
75
45
  drivingServices,
76
- walkingServices,
77
- otherServices
46
+ walkingServices
78
47
  } = config;
79
48
  const {
80
- contractId,
81
- productId,
49
+ userId,
50
+ projectId,
82
51
  accessToken,
83
52
  refreshToken
84
53
  } = auth;
@@ -86,8 +55,7 @@ class MoveSdk {
86
55
 
87
56
  if (_reactNative.Platform.OS === 'android') {
88
57
  const {
89
- notifications,
90
- allowMockLocations
58
+ notifications
91
59
  } = android;
92
60
  const {
93
61
  tripNotification,
@@ -98,14 +66,22 @@ class MoveSdk {
98
66
  throw new Error('MOVE SDK needs notification configuration for Android');
99
67
  }
100
68
 
101
- platformParams = [recognitionNotification.title, recognitionNotification.text, recognitionNotification.channel.id, recognitionNotification.channel.name, recognitionNotification.channel.description, tripNotification.title, tripNotification.text, tripNotification.channel.id, tripNotification.channel.name, tripNotification.channel.description, allowMockLocations];
69
+ platformParams = [recognitionNotification.title, recognitionNotification.text, recognitionNotification.channel.id, recognitionNotification.channel.name, recognitionNotification.channel.description, tripNotification.title, tripNotification.text, tripNotification.channel.id, tripNotification.channel.name, tripNotification.channel.description];
102
70
  }
103
71
 
104
- NativeMoveSdk.initialize(contractId, accessToken, refreshToken, productId, // Config
105
- timelineDetectionServices, drivingServices, walkingServices, otherServices, // Platform config
106
- ...platformParams).catch(e => {
107
- throw new Error(`Initialization failed, Exception occured with message ${e.message}`);
108
- });
72
+ return await NativeMoveSdk.setup(userId, accessToken, refreshToken, projectId, // Config
73
+ timelineDetectionServices, drivingServices, walkingServices, // Platform config
74
+ ...platformParams);
75
+ }
76
+
77
+ static allowMockLocations(allowMockLocations) {
78
+ NativeMoveSdk.allowMockLocations(allowMockLocations);
79
+ }
80
+ /* Deprecated */
81
+
82
+
83
+ static init() {
84
+ NativeMoveSdk.init();
109
85
  }
110
86
 
111
87
  static resolveError() {
@@ -114,18 +90,22 @@ class MoveSdk {
114
90
 
115
91
  static updateAuth(auth) {
116
92
  const {
117
- contractId,
118
- productId,
93
+ userId,
94
+ projectId,
119
95
  accessToken,
120
96
  refreshToken
121
97
  } = auth;
122
- NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);
98
+ NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);
123
99
  }
124
100
 
125
101
  static startAutomaticDetection() {
126
102
  NativeMoveSdk.startAutomaticDetection();
127
103
  }
128
104
 
105
+ static stopAutomaticDetection() {
106
+ NativeMoveSdk.stopAutomaticDetection();
107
+ }
108
+
129
109
  static forceTripRecognition() {
130
110
  NativeMoveSdk.forceTripRecognition();
131
111
  }
@@ -146,57 +126,53 @@ class MoveSdk {
146
126
  }
147
127
  }
148
128
 
149
- static stopAutomaticDetection() {
150
- NativeMoveSdk.stopAutomaticDetection();
129
+ static async synchronizeUserData() {
130
+ return await NativeMoveSdk.synchronizeUserData();
151
131
  }
152
132
 
153
- static synchronizeUserData() {
154
- return new Promise((resolve, _reject) => {
155
- NativeMoveSdk.synchronizeUserData().then(value => resolve(value));
156
- });
133
+ static async getAuthState() {
134
+ const authState = await NativeMoveSdk.getAuthState();
135
+ return MoveSdk.authStateFromNative(authState);
157
136
  }
158
137
 
159
- static shutdown() {
160
- NativeMoveSdk.shutdown();
138
+ static async getState() {
139
+ const state = await NativeMoveSdk.getState();
140
+ return MoveSdk.sdkStateFromNative(state);
161
141
  }
162
142
 
163
- static getAuthState() {
164
- return new Promise((resolve, _reject) => {
165
- NativeMoveSdk.getAuthState().then(nativeState => resolve(MoveSdk.authStateFromNative(nativeState)));
166
- });
143
+ static async getTripState() {
144
+ const tripState = await NativeMoveSdk.getTripState();
145
+ return MoveSdk.tripStateFromNative(tripState);
167
146
  }
168
147
 
169
- static getState() {
170
- return new Promise((resolve, _reject) => {
171
- NativeMoveSdk.getState().then(nativeState => resolve(MoveSdk.sdkStateFromNative(nativeState)));
172
- });
148
+ static async getErrors() {
149
+ return await NativeMoveSdk.getErrors();
173
150
  }
174
151
 
175
- static getTripState() {
176
- return new Promise((resolve, _reject) => {
177
- NativeMoveSdk.getTripState().then(nativeState => resolve(MoveSdk.tripStateFromNative(nativeState)));
178
- });
152
+ static async getWarnings() {
153
+ return await NativeMoveSdk.getWarnings();
179
154
  }
180
155
 
181
- static addTripStateListener(tripStateChanged) {
182
- return eventEmitter.addListener('DolphinSdk-TripState', event => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));
156
+ static async initiateAssistanceCall() {
157
+ return await NativeMoveSdk.initiateAssistanceCall();
183
158
  }
184
159
 
185
- static addSDKStateListener(sdkStateChanged) {
186
- return eventEmitter.addListener('DolphinSdk-State', event => {
187
- const transformedEvent = { ...event,
188
- state: MoveSdk.sdkStateFromNative(event.state)
189
- };
190
- sdkStateChanged(transformedEvent);
191
- });
160
+ static setAssistanceMetaData(data) {
161
+ NativeMoveSdk.setAssistanceMetaData(data);
162
+ }
163
+
164
+ static addTripStateListener(tripStateChanged) {
165
+ return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', event => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));
192
166
  }
193
167
 
194
- static addInitErrorListener(initErrorReceived) {
195
- return eventEmitter.addListener('DolphinSdk-InitError', event => initErrorReceived(MoveSdk.configurationErrorFromNative(event.error)));
168
+ static addSdkStateListener(sdkStateChanged) {
169
+ return eventEmitter.addListener('MOVE_SDK_STATE', event => {
170
+ sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));
171
+ });
196
172
  }
197
173
 
198
174
  static addAuthStateListener(authStateChanged) {
199
- return eventEmitter.addListener('DolphinSdk-AuthState', event => {
175
+ return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', event => {
200
176
  const transformedEvent = { ...event,
201
177
  state: MoveSdk.authStateFromNative(event.state)
202
178
  };
@@ -204,8 +180,20 @@ class MoveSdk {
204
180
  });
205
181
  }
206
182
 
183
+ static addErrorsListener(errorsReceived) {
184
+ return eventEmitter.addListener('MOVE_SDK_ERRORS', event => {
185
+ errorsReceived(event.errors);
186
+ });
187
+ }
188
+
189
+ static addWarningsListener(warningsReceived) {
190
+ return eventEmitter.addListener('MOVE_SDK_WARNINGS', event => {
191
+ warningsReceived(event.warnings);
192
+ });
193
+ }
194
+
207
195
  static addAppEventListener(appEventReceived) {
208
- return eventEmitter.addListener('DolphinSdk-AppEvent', event => {
196
+ return eventEmitter.addListener('MOVE_SDK_APP_EVENT', event => {
209
197
  appEventReceived(event);
210
198
  });
211
199
  }
@@ -220,13 +208,23 @@ class MoveSdk {
220
208
 
221
209
  static ignoreCurrentTrip() {
222
210
  NativeMoveSdk.ignoreCurrentTrip();
211
+ }
212
+
213
+ static requestMotionPermission() {
214
+ if (_reactNative.Platform.OS === 'ios') {
215
+ NativeMoveSdk.requestMotionPermission();
216
+ } else {
217
+ console.warn('MoveSdk.requestMotionPermission() is iOS only.');
218
+ }
219
+ }
220
+
221
+ static shutdown() {
222
+ NativeMoveSdk.shutdown();
223
223
  } // **** PERMISSIONS MODULE START *****
224
224
 
225
225
 
226
- static canDrawOverlays() {
227
- return new Promise((resolve, _reject) => {
228
- NativeMoveSdk.canDrawOverlays().then(result => resolve(result));
229
- });
226
+ static async canDrawOverlays() {
227
+ return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
230
228
  }
231
229
 
232
230
  static requestDrawOverlaysPermission() {
@@ -237,10 +235,8 @@ class MoveSdk {
237
235
  }
238
236
  }
239
237
 
240
- static isAppIgnoringBatteryOptimization() {
241
- return new Promise((resolve, _reject) => {
242
- NativeMoveSdk.isAppIgnoringBatteryOptimization().then(result => resolve(result));
243
- });
238
+ static async isAppIgnoringBatteryOptimization() {
239
+ return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
244
240
  }
245
241
 
246
242
  static requestAppIgnoringBatteryOptimization() {
@@ -256,27 +252,25 @@ class MoveSdk {
256
252
 
257
253
  exports.default = MoveSdk;
258
254
 
259
- _defineProperty(MoveSdk, "ERROR", 'error');
260
-
261
- _defineProperty(MoveSdk, "READY", 'ready');
255
+ _defineProperty(MoveSdk, "READY", 'READY');
262
256
 
263
- _defineProperty(MoveSdk, "RUNNING", 'running');
257
+ _defineProperty(MoveSdk, "RUNNING", 'RUNNING');
264
258
 
265
- _defineProperty(MoveSdk, "UNINITIALIZED", 'uninitialized');
259
+ _defineProperty(MoveSdk, "UNINITIALIZED", 'UNINITIALIZED');
266
260
 
267
- _defineProperty(MoveSdk, "AUTH_INVALID", 'authinvalid');
261
+ _defineProperty(MoveSdk, "AUTH_EXPIRED", 'EXPIRED');
268
262
 
269
- _defineProperty(MoveSdk, "AUTH_EXPIRED", 'expired');
263
+ _defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
270
264
 
271
- _defineProperty(MoveSdk, "AUTH_VALID", 'valid');
265
+ _defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
272
266
 
273
- _defineProperty(MoveSdk, "UNKNOWN", 'unknown');
267
+ _defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
274
268
 
275
- _defineProperty(MoveSdk, "DRIVING", 'driving');
269
+ _defineProperty(MoveSdk, "DRIVING", 'DRIVING');
276
270
 
277
- _defineProperty(MoveSdk, "HALT", 'halt');
271
+ _defineProperty(MoveSdk, "HALT", 'HALT');
278
272
 
279
- _defineProperty(MoveSdk, "IDLE", 'idle');
273
+ _defineProperty(MoveSdk, "IDLE", 'IDLE');
280
274
 
281
- _defineProperty(MoveSdk, "IGNORED", 'ignored');
275
+ _defineProperty(MoveSdk, "IGNORED", 'IGNORED');
282
276
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["DolphinSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","MoveSdk","sdkStateFromNative","nativeSdkState","stateString","toLowerCase","includes","substring","indexOf","UNINITIALIZED","READY","RUNNING","ERROR","tripStateFromNative","nativeTripState","state","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","configurationErrorFromNative","nativeInitError","initialize","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","otherServices","contractId","productId","accessToken","refreshToken","platformParams","Platform","OS","notifications","allowMockLocations","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","catch","e","message","resolveError","updateAuth","startAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","stopAutomaticDetection","synchronizeUserData","Promise","resolve","_reject","then","value","shutdown","getAuthState","nativeState","getState","getTripState","addTripStateListener","tripStateChanged","addListener","event","addSDKStateListener","sdkStateChanged","transformedEvent","addInitErrorListener","initErrorReceived","error","addAuthStateListener","authStateChanged","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","canDrawOverlays","result","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization"],"mappings":";;;;;;;AAAA;;;;AA2FA,MAAM;AAAEA,EAAAA,UAAU,EAAEC;AAAd,IAAgCC,0BAAtC;AACA,MAAMC,YAAY,GAAG,IAAIC,+BAAJ,CAAuBH,aAAvB,CAArB;;AAEe,MAAMI,OAAN,CAAc;AAgBF,SAAlBC,kBAAkB,CAACC,cAAD,EAAkD;AAAA;;AACzE,QAAIC,WAAW,GAAGD,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEE,WAAhB,EAAlB;;AAEA,wBAAID,WAAJ,yCAAI,aAAaE,QAAb,CAAsB,GAAtB,CAAJ,EAAgC;AAAA;;AAC9BF,MAAAA,WAAW,oBAAGA,WAAH,kDAAG,cACVG,SADU,CACA,CADA,mBACGH,WADH,kDACG,cAAaI,OAAb,CAAqB,GAArB,CADH,EAEXH,WAFW,EAAd;AAGD;;AAED,YAAQD,WAAR;AACE,WAAK,eAAL;AACE,eAAOH,OAAO,CAACQ,aAAf;;AAEF,WAAK,OAAL;AACE,eAAOR,OAAO,CAACS,KAAf;;AAEF,WAAK,SAAL;AACE,eAAOT,OAAO,CAACU,OAAf;;AAEF,WAAK,OAAL;AACE,eAAOV,OAAO,CAACW,KAAf;;AACF;AACE,eAAO,IAAP;AAbJ;AAeD;;AAEyB,SAAnBC,mBAAmB,CACxBC,eADwB,EAEN;AAClB,UAAMC,KAAK,GAAGD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAET,WAAjB,EAAd;;AAEA,QACE,CACEJ,OAAO,CAACe,OADV,EAEEf,OAAO,CAACgB,OAFV,EAGEhB,OAAO,CAACiB,IAHV,EAIEjB,OAAO,CAACkB,IAJV,EAKElB,OAAO,CAACmB,OALV,EAMEd,QANF,CAMWS,KANX,CADF,EAQE;AACA,aAAOA,KAAP;AACD;;AAED,WAAO,IAAP;AACD;;AAEyB,SAAnBM,mBAAmB,CACxBC,eADwB,EAEN;AAClB,UAAMP,KAAK,GAAGO,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEjB,WAAjB,EAAd;;AAEA,QAAI,CAACJ,OAAO,CAACsB,UAAT,EAAqBtB,OAAO,CAACuB,YAA7B,EAA2ClB,QAA3C,CAAoDS,KAApD,CAAJ,EAAgE;AAC9D,aAAOA,KAAP;AACD;;AAED,WAAO,IAAP;AACD;;AAEkC,SAA5BU,4BAA4B,CACjCC,eADiC,EAEjC;AACA,UAAMX,KAAK,GAAGW,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAErB,WAAjB,EAAd;AACA,WAAOU,KAAP;AACD;;AAEgB,SAAVY,UAAU,CACfC,MADe,EAEfC,IAFe,EAGfC,OAHe,EAIf;AACA,UAAM;AACJC,MAAAA,yBADI;AAEJC,MAAAA,eAFI;AAGJC,MAAAA,eAHI;AAIJC,MAAAA;AAJI,QAKFN,MALJ;AAOA,UAAM;AAAEO,MAAAA,UAAF;AAAcC,MAAAA,SAAd;AAAyBC,MAAAA,WAAzB;AAAsCC,MAAAA;AAAtC,QAAuDT,IAA7D;AAEA,QAAIU,cAAuC,GAAG,EAA9C;;AACA,QAAIC,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAM;AAAEC,QAAAA,aAAF;AAAiBC,QAAAA;AAAjB,UAAwCb,OAA9C;AAEA,YAAM;AAAEc,QAAAA,gBAAF;AAAoBC,QAAAA;AAApB,UAAgDH,aAAtD;;AAEA,UAAI,CAACE,gBAAD,IAAqB,CAACC,uBAA1B,EAAmD;AACjD,cAAM,IAAIC,KAAJ,CACJ,uDADI,CAAN;AAGD;;AAEDP,MAAAA,cAAc,GAAG,CACfM,uBAAuB,CAACE,KADT,EAEfF,uBAAuB,CAACG,IAFT,EAGfH,uBAAuB,CAACI,OAAxB,CAAgCC,EAHjB,EAIfL,uBAAuB,CAACI,OAAxB,CAAgCE,IAJjB,EAKfN,uBAAuB,CAACI,OAAxB,CAAgCG,WALjB,EAMfR,gBAAgB,CAACG,KANF,EAOfH,gBAAgB,CAACI,IAPF,EAQfJ,gBAAgB,CAACK,OAAjB,CAAyBC,EARV,EASfN,gBAAgB,CAACK,OAAjB,CAAyBE,IATV,EAUfP,gBAAgB,CAACK,OAAjB,CAAyBG,WAVV,EAWfT,kBAXe,CAAjB;AAaD;;AAED9C,IAAAA,aAAa,CAAC8B,UAAd,CACEQ,UADF,EAEEE,WAFF,EAGEC,YAHF,EAIEF,SAJF,EAKE;AACAL,IAAAA,yBANF,EAOEC,eAPF,EAQEC,eARF,EASEC,aATF,EAUE;AACA,OAAGK,cAXL,EAYEc,KAZF,CAYSC,CAAD,IAAO;AACb,YAAM,IAAIR,KAAJ,CACH,yDAAwDQ,CAAC,CAACC,OAAQ,EAD/D,CAAN;AAGD,KAhBD;AAiBD;;AAEkB,SAAZC,YAAY,GAAG;AACpB3D,IAAAA,aAAa,CAAC2D,YAAd;AACD;;AAEgB,SAAVC,UAAU,CAAC5B,IAAD,EAAoB;AACnC,UAAM;AAAEM,MAAAA,UAAF;AAAcC,MAAAA,SAAd;AAAyBC,MAAAA,WAAzB;AAAsCC,MAAAA;AAAtC,QAAuDT,IAA7D;AACAhC,IAAAA,aAAa,CAAC4D,UAAd,CAAyBtB,UAAzB,EAAqCE,WAArC,EAAkDC,YAAlD,EAAgEF,SAAhE;AACD;;AAE6B,SAAvBsB,uBAAuB,GAAG;AAC/B7D,IAAAA,aAAa,CAAC6D,uBAAd;AACD;;AAE0B,SAApBC,oBAAoB,GAAG;AAC5B9D,IAAAA,aAAa,CAAC8D,oBAAd;AACD;;AAEsB,SAAhBC,gBAAgB,CAACC,OAAD,EAAmB;AACxC,QAAIrB,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B5C,MAAAA,aAAa,CAAC+D,gBAAd,CAA+BC,OAA/B;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAAb;AACD;AACF;;AAEgB,SAAVC,UAAU,CAACH,OAAD,EAAmB;AAClC,QAAIrB,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B5C,MAAAA,aAAa,CAACmE,UAAd,CAAyBH,OAAzB;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,0CAAb;AACD;AACF;;AAE4B,SAAtBE,sBAAsB,GAAG;AAC9BpE,IAAAA,aAAa,CAACoE,sBAAd;AACD;;AAEyB,SAAnBC,mBAAmB,GAAqB;AAC7C,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAACqE,mBAAd,GAAoCI,IAApC,CAA0CC,KAAD,IACvCH,OAAO,CAACG,KAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAEc,SAARC,QAAQ,GAAG;AAChB3E,IAAAA,aAAa,CAAC2E,QAAd;AACD;;AAEkB,SAAZC,YAAY,GAA8B;AAC/C,WAAO,IAAIN,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAAC4E,YAAd,GAA6BH,IAA7B,CAAmCI,WAAD,IAChCN,OAAO,CAACnE,OAAO,CAACoB,mBAAR,CAA4BqD,WAA5B,CAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAEc,SAARC,QAAQ,GAA6B;AAC1C,WAAO,IAAIR,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAAC8E,QAAd,GAAyBL,IAAzB,CAA+BI,WAAD,IAC5BN,OAAO,CAACnE,OAAO,CAACC,kBAAR,CAA2BwE,WAA3B,CAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAEkB,SAAZE,YAAY,GAA8B;AAC/C,WAAO,IAAIT,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAAC+E,YAAd,GAA6BN,IAA7B,CAAmCI,WAAD,IAChCN,OAAO,CAACnE,OAAO,CAACY,mBAAR,CAA4B6D,WAA5B,CAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAE0B,SAApBG,oBAAoB,CACzBC,gBADyB,EAEH;AACtB,WAAO/E,YAAY,CAACgF,WAAb,CAAyB,sBAAzB,EAAkDC,KAAD,IACtDF,gBAAgB,CAAC7E,OAAO,CAACY,mBAAR,CAA4BmE,KAAK,CAACjE,KAAlC,CAAD,CADX,CAAP;AAGD;;AAEyB,SAAnBkE,mBAAmB,CACxBC,eADwB,EAEF;AACtB,WAAOnF,YAAY,CAACgF,WAAb,CAAyB,kBAAzB,EAA8CC,KAAD,IAAW;AAC7D,YAAMG,gBAAgB,GAAG,EACvB,GAAGH,KADoB;AAEvBjE,QAAAA,KAAK,EAAEd,OAAO,CAACC,kBAAR,CAA2B8E,KAAK,CAACjE,KAAjC;AAFgB,OAAzB;AAKAmE,MAAAA,eAAe,CAACC,gBAAD,CAAf;AACD,KAPM,CAAP;AAQD;;AAE0B,SAApBC,oBAAoB,CACzBC,iBADyB,EAEH;AACtB,WAAOtF,YAAY,CAACgF,WAAb,CAAyB,sBAAzB,EAAkDC,KAAD,IACtDK,iBAAiB,CAACpF,OAAO,CAACwB,4BAAR,CAAqCuD,KAAK,CAACM,KAA3C,CAAD,CADZ,CAAP;AAGD;;AAE0B,SAApBC,oBAAoB,CACzBC,gBADyB,EAEH;AACtB,WAAOzF,YAAY,CAACgF,WAAb,CAAyB,sBAAzB,EAAkDC,KAAD,IAAW;AACjE,YAAMG,gBAAgB,GAAG,EACvB,GAAGH,KADoB;AAEvBjE,QAAAA,KAAK,EAAEd,OAAO,CAACoB,mBAAR,CAA4B2D,KAAK,CAACjE,KAAlC;AAFgB,OAAzB;AAIAyE,MAAAA,gBAAgB,CAACL,gBAAD,CAAhB;AACD,KANM,CAAP;AAOD;;AAEyB,SAAnBM,mBAAmB,CACxBC,gBADwB,EAEF;AACtB,WAAO3F,YAAY,CAACgF,WAAb,CAAyB,qBAAzB,EAAiDC,KAAD,IAAW;AAChEU,MAAAA,gBAAgB,CAACV,KAAD,CAAhB;AACD,KAFM,CAAP;AAGD;;AAEa,SAAPW,OAAO,GAAW;AACvB,WAAOnD,sBAASC,EAAT,KAAgB,SAAhB,GACH5C,aAAa,CAAC+F,YAAd,GAA6BD,OAD1B,GAEH,SAFJ;AAGD;;AAEuB,SAAjBE,iBAAiB,GAAG;AACzBhG,IAAAA,aAAa,CAACgG,iBAAd;AACD;;AAEuB,SAAjBC,iBAAiB,GAAG;AACzBjG,IAAAA,aAAa,CAACiG,iBAAd;AACD,GAnR0B,CAqR3B;;;AAEsB,SAAfC,eAAe,GAAqB;AACzC,WAAO,IAAI5B,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAACkG,eAAd,GAAgCzB,IAAhC,CAAsC0B,MAAD,IACnC5B,OAAO,CAAC4B,MAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAEmC,SAA7BC,6BAA6B,GAAG;AACrC,QAAIzD,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B5C,MAAAA,aAAa,CAACoG,6BAAd;AACD,KAFD,MAEO;AACLnC,MAAAA,OAAO,CAACC,IAAR,CACE,qEADF;AAGD;AACF;;AAEsC,SAAhCmC,gCAAgC,GAAqB;AAC1D,WAAO,IAAI/B,OAAJ,CAAY,CAACC,OAAD,EAAUC,OAAV,KAAsB;AACvCxE,MAAAA,aAAa,CAACqG,gCAAd,GAAiD5B,IAAjD,CAAuD0B,MAAD,IACpD5B,OAAO,CAAC4B,MAAD,CADT;AAGD,KAJM,CAAP;AAKD;;AAE2C,SAArCG,qCAAqC,GAAG;AAC7C,QAAI3D,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B5C,MAAAA,aAAa,CAACsG,qCAAd;AACD,KAFD,MAEO;AACLrC,MAAAA,OAAO,CAACC,IAAR,CACE,qEADF;AAGD;AACF,GAzT0B,CA2T3B;;;AA3T2B;;;;gBAAR9D,O,WACM,O;;gBADNA,O,WAEM,O;;gBAFNA,O,aAGQ,S;;gBAHRA,O,mBAIc,e;;gBAJdA,O,kBAMuB,a;;gBANvBA,O,kBAOc,S;;gBAPdA,O,gBAQY,O;;gBARZA,O,aAUS,S;;gBAVTA,O,aAWS,S;;gBAXTA,O,UAYM,M;;gBAZNA,O,UAaM,M;;gBAbNA,O,aAcS,S","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type AndroidSdkState = 'Error' | 'Uninitialised' | 'Ready' | 'Running';\nexport type SdkState = 'error' | 'uninitialized' | 'ready' | 'running';\n\nexport type NativeSdkState = AndroidSdkState | SdkState;\n\nexport type TripState = 'unknown' | 'driving' | 'halt' | 'idle' | 'ignored';\nexport type AuthState = 'unknown' | 'valid' | 'expired';\n\nexport type AndroidTripState =\n | 'UNKNOWN'\n | 'DRIVING'\n | 'HALT'\n | 'IDLE'\n | 'IGNORED';\n\nexport type NativeTripState = AndroidTripState | TripState;\n\nexport type AndroidAuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type IosAuthState = 'unknown' | 'valid' | 'expired';\nexport type NativeAuthState = AndroidAuthState | IosAuthState;\n\nexport type DrivingService = 'DistractionFreeDriving' | 'DrivingBehaviour';\nexport type WalkingService = 'Location';\nexport type OtherService = 'PointsOfInterest';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'BICYCLE'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT';\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices: OtherService[];\n};\n\nexport type MoveSdkAuth = {\n contractId: string;\n accessToken: string;\n refreshToken: string;\n productId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type ConfigurationError =\n | 'authinvalid'\n | 'configmismatch'\n | 'serviceunreachable';\n\nexport type IosConfigurationError =\n | 'serviceUnreachable'\n | 'authInvalid'\n | 'configMismatch';\n\nexport type AndroidConfigurationError =\n | 'ServiceUnreachable'\n | 'AuthInvalid'\n | 'ConfigMismatch';\n\nexport type NativeConfigurationError =\n | IosConfigurationError\n | AndroidConfigurationError;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nconst { DolphinSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static ERROR: SdkState = 'error';\n static READY: SdkState = 'ready';\n static RUNNING: SdkState = 'running';\n static UNINITIALIZED: SdkState = 'uninitialized';\n\n static AUTH_INVALID: ConfigurationError = 'authinvalid';\n static AUTH_EXPIRED: AuthState = 'expired';\n static AUTH_VALID: AuthState = 'valid';\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(nativeSdkState: NativeSdkState): SdkState | null {\n let stateString = nativeSdkState?.toLowerCase() as SdkState;\n\n if (stateString?.includes('(')) {\n stateString = stateString\n ?.substring(0, stateString?.indexOf('('))\n .toLowerCase() as SdkState;\n }\n\n switch (stateString) {\n case 'uninitialized':\n return MoveSdk.UNINITIALIZED;\n\n case 'ready':\n return MoveSdk.READY;\n\n case 'running':\n return MoveSdk.RUNNING;\n\n case 'error':\n return MoveSdk.ERROR;\n default:\n return null;\n }\n }\n\n static tripStateFromNative(\n nativeTripState: NativeTripState\n ): TripState | null {\n const state = nativeTripState?.toLowerCase() as TripState;\n\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(state)\n ) {\n return state;\n }\n\n return null;\n }\n\n static authStateFromNative(\n nativeAuthState: NativeAuthState\n ): AuthState | null {\n const state = nativeAuthState?.toLowerCase() as AuthState;\n\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {\n return state;\n }\n\n return null;\n }\n\n static configurationErrorFromNative(\n nativeInitError: NativeConfigurationError\n ) {\n const state = nativeInitError?.toLowerCase() as ConfigurationError;\n return state;\n }\n\n static initialize(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ) {\n const {\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n } = config;\n\n const { contractId, productId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications, allowMockLocations } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n allowMockLocations,\n ];\n }\n\n NativeMoveSdk.initialize(\n contractId,\n accessToken,\n refreshToken,\n productId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n // Platform config\n ...platformParams\n ).catch((e) => {\n throw new Error(\n `Initialization failed, Exception occured with message ${e.message}`\n );\n });\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static updateAuth(auth: MoveSdkAuth) {\n const { contractId, productId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\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 stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static synchronizeUserData(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.synchronizeUserData().then((value: boolean) =>\n resolve(value)\n );\n });\n }\n\n static shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n static getAuthState(): Promise<AuthState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getAuthState().then((nativeState: NativeAuthState) =>\n resolve(MoveSdk.authStateFromNative(nativeState))\n );\n });\n }\n\n static getState(): Promise<SdkState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getState().then((nativeState: NativeSdkState) =>\n resolve(MoveSdk.sdkStateFromNative(nativeState))\n );\n });\n }\n\n static getTripState(): Promise<TripState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getTripState().then((nativeState: NativeTripState) =>\n resolve(MoveSdk.tripStateFromNative(nativeState))\n );\n });\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState | null) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-TripState', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSDKStateListener(\n sdkStateChanged: (event: { state: SdkState | null }) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-State', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.sdkStateFromNative(event.state),\n };\n\n sdkStateChanged(transformedEvent);\n });\n }\n\n static addInitErrorListener(\n initErrorReceived: (error: ConfigurationError) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-InitError', (event) =>\n initErrorReceived(MoveSdk.configurationErrorFromNative(event.error))\n );\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AuthState', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AppEvent', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static canDrawOverlays(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.canDrawOverlays().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n static isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.isAppIgnoringBatteryOptimization().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}
1
+ {"version":3,"sources":["index.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_UNKNOWN","setup","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","shutdown","canDrawOverlays","isAppIgnoringBatteryOptimization","requestDrawOverlaysPermission","requestAppIgnoringBatteryOptimization"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';\nexport type WalkingService = 'LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BATTERY_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING';\n\nexport type ErrorListService =\n | 'DRIVING[]'\n | 'DRIVING[DRIVING_BEHAVIOUR]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]'\n | 'WALKING[]'\n | 'WALKING[LOCATION]'\n | 'CYCLING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorListItem = {\n reasons: Array<ErrorReasons>;\n service?: ErrorListService;\n};\n\nexport type ErrorListType = Array<ErrorListItem>;\n\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices?: OtherService[];\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 channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: 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\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 (\n [\n MoveSdk.UNINITIALIZED,\n MoveSdk.READY,\n MoveSdk.RUNNING,\n MoveSdk.UNINITIALIZED,\n ].includes(sdkState)\n ) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(nativeTripState)\n ) {\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].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } =\n 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(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n ];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n\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 updateAuth(auth: MoveSdkAuth) {\n const { userId, projectId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\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<ErrorListType> {\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(\n tripStateChanged: (state: TripState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSdkStateListener(\n sdkStateChanged: (state: SdkState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): 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(\n errorsReceived: (event: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (event: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : '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 shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\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(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}