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.
- package/README.md +1 -1
- package/android/build.gradle +45 -39
- package/android/gradle/wrapper/gradle-wrapper.properties +4 -1
- package/android/gradle.properties +8 -4
- package/android/src/main/java/in/dolph/move/sdk/MoveExtensions.kt +44 -0
- package/android/src/main/java/in/dolph/move/sdk/MoveNotificationConfig.kt +26 -26
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkConfig.kt +8 -13
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkModule.kt +137 -27
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkPackage.kt +1 -1
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkRepository.kt +171 -162
- package/android/src/main/java/in/dolph/move/sdk/NativeMoveSdkWrapper.kt +184 -84
- package/android/src/test/java/io/dolphin/move/MoveWrapperTest.kt +157 -0
- package/ios/MoveSdk-Bridging-Header.h +1 -0
- package/ios/MoveSdk.xcodeproj/project.pbxproj +6 -8
- package/ios/NativeModule/{DolphinSdk.h → MoveSdk.h} +21 -7
- package/ios/NativeModule/MoveSdk.swift +607 -0
- package/lib/commonjs/index.js +105 -111
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +105 -111
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +38 -38
- package/package.json +1 -1
- package/react-native-move-sdk.podspec +3 -1
- package/src/index.ts +163 -190
- package/ios/NativeModule/DolphinSdk.swift +0 -357
- package/ios/NativeModule/DolphinSdkDemoReactNative-Bridging-Header.h +0 -8
package/lib/module/index.js
CHANGED
|
@@ -2,74 +2,43 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
2
2
|
|
|
3
3
|
import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
|
|
4
4
|
const {
|
|
5
|
-
|
|
5
|
+
MoveSdk: NativeMoveSdk
|
|
6
6
|
} = NativeModules;
|
|
7
7
|
const eventEmitter = new NativeEventEmitter(NativeMoveSdk);
|
|
8
8
|
export default class MoveSdk {
|
|
9
|
-
static sdkStateFromNative(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
let stateString = nativeSdkState === null || nativeSdkState === void 0 ? void 0 : nativeSdkState.toLowerCase();
|
|
13
|
-
|
|
14
|
-
if ((_stateString = stateString) !== null && _stateString !== void 0 && _stateString.includes('(')) {
|
|
15
|
-
var _stateString2, _stateString3;
|
|
16
|
-
|
|
17
|
-
stateString = (_stateString2 = stateString) === null || _stateString2 === void 0 ? void 0 : _stateString2.substring(0, (_stateString3 = stateString) === null || _stateString3 === void 0 ? void 0 : _stateString3.indexOf('(')).toLowerCase();
|
|
9
|
+
static sdkStateFromNative(sdkState) {
|
|
10
|
+
if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {
|
|
11
|
+
return sdkState;
|
|
18
12
|
}
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
case 'uninitialized':
|
|
22
|
-
return MoveSdk.UNINITIALIZED;
|
|
23
|
-
|
|
24
|
-
case 'ready':
|
|
25
|
-
return MoveSdk.READY;
|
|
26
|
-
|
|
27
|
-
case 'running':
|
|
28
|
-
return MoveSdk.RUNNING;
|
|
29
|
-
|
|
30
|
-
case 'error':
|
|
31
|
-
return MoveSdk.ERROR;
|
|
32
|
-
|
|
33
|
-
default:
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
14
|
+
return MoveSdk.UNINITIALIZED;
|
|
36
15
|
}
|
|
37
16
|
|
|
38
17
|
static tripStateFromNative(nativeTripState) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(state)) {
|
|
42
|
-
return state;
|
|
18
|
+
if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {
|
|
19
|
+
return nativeTripState;
|
|
43
20
|
}
|
|
44
21
|
|
|
45
|
-
return
|
|
22
|
+
return MoveSdk.UNKNOWN;
|
|
46
23
|
}
|
|
47
24
|
|
|
48
25
|
static authStateFromNative(nativeAuthState) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {
|
|
52
|
-
return state;
|
|
26
|
+
if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
|
|
27
|
+
return nativeAuthState;
|
|
53
28
|
}
|
|
54
29
|
|
|
55
|
-
return
|
|
30
|
+
return MoveSdk.AUTH_UNKNOWN;
|
|
56
31
|
}
|
|
57
32
|
|
|
58
|
-
static
|
|
59
|
-
const state = nativeInitError === null || nativeInitError === void 0 ? void 0 : nativeInitError.toLowerCase();
|
|
60
|
-
return state;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static initialize(config, auth, android) {
|
|
33
|
+
static async setup(config, auth, android) {
|
|
64
34
|
const {
|
|
65
35
|
timelineDetectionServices,
|
|
66
36
|
drivingServices,
|
|
67
|
-
walkingServices
|
|
68
|
-
otherServices
|
|
37
|
+
walkingServices
|
|
69
38
|
} = config;
|
|
70
39
|
const {
|
|
71
|
-
|
|
72
|
-
|
|
40
|
+
userId,
|
|
41
|
+
projectId,
|
|
73
42
|
accessToken,
|
|
74
43
|
refreshToken
|
|
75
44
|
} = auth;
|
|
@@ -77,8 +46,7 @@ export default class MoveSdk {
|
|
|
77
46
|
|
|
78
47
|
if (Platform.OS === 'android') {
|
|
79
48
|
const {
|
|
80
|
-
notifications
|
|
81
|
-
allowMockLocations
|
|
49
|
+
notifications
|
|
82
50
|
} = android;
|
|
83
51
|
const {
|
|
84
52
|
tripNotification,
|
|
@@ -89,14 +57,22 @@ export default class MoveSdk {
|
|
|
89
57
|
throw new Error('MOVE SDK needs notification configuration for Android');
|
|
90
58
|
}
|
|
91
59
|
|
|
92
|
-
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
|
|
60
|
+
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];
|
|
93
61
|
}
|
|
94
62
|
|
|
95
|
-
NativeMoveSdk.
|
|
96
|
-
timelineDetectionServices, drivingServices, walkingServices,
|
|
97
|
-
...platformParams)
|
|
98
|
-
|
|
99
|
-
|
|
63
|
+
return await NativeMoveSdk.setup(userId, accessToken, refreshToken, projectId, // Config
|
|
64
|
+
timelineDetectionServices, drivingServices, walkingServices, // Platform config
|
|
65
|
+
...platformParams);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static allowMockLocations(allowMockLocations) {
|
|
69
|
+
NativeMoveSdk.allowMockLocations(allowMockLocations);
|
|
70
|
+
}
|
|
71
|
+
/* Deprecated */
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
static init() {
|
|
75
|
+
NativeMoveSdk.init();
|
|
100
76
|
}
|
|
101
77
|
|
|
102
78
|
static resolveError() {
|
|
@@ -105,18 +81,22 @@ export default class MoveSdk {
|
|
|
105
81
|
|
|
106
82
|
static updateAuth(auth) {
|
|
107
83
|
const {
|
|
108
|
-
|
|
109
|
-
|
|
84
|
+
userId,
|
|
85
|
+
projectId,
|
|
110
86
|
accessToken,
|
|
111
87
|
refreshToken
|
|
112
88
|
} = auth;
|
|
113
|
-
NativeMoveSdk.updateAuth(
|
|
89
|
+
NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);
|
|
114
90
|
}
|
|
115
91
|
|
|
116
92
|
static startAutomaticDetection() {
|
|
117
93
|
NativeMoveSdk.startAutomaticDetection();
|
|
118
94
|
}
|
|
119
95
|
|
|
96
|
+
static stopAutomaticDetection() {
|
|
97
|
+
NativeMoveSdk.stopAutomaticDetection();
|
|
98
|
+
}
|
|
99
|
+
|
|
120
100
|
static forceTripRecognition() {
|
|
121
101
|
NativeMoveSdk.forceTripRecognition();
|
|
122
102
|
}
|
|
@@ -137,57 +117,53 @@ export default class MoveSdk {
|
|
|
137
117
|
}
|
|
138
118
|
}
|
|
139
119
|
|
|
140
|
-
static
|
|
141
|
-
NativeMoveSdk.
|
|
120
|
+
static async synchronizeUserData() {
|
|
121
|
+
return await NativeMoveSdk.synchronizeUserData();
|
|
142
122
|
}
|
|
143
123
|
|
|
144
|
-
static
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
124
|
+
static async getAuthState() {
|
|
125
|
+
const authState = await NativeMoveSdk.getAuthState();
|
|
126
|
+
return MoveSdk.authStateFromNative(authState);
|
|
148
127
|
}
|
|
149
128
|
|
|
150
|
-
static
|
|
151
|
-
NativeMoveSdk.
|
|
129
|
+
static async getState() {
|
|
130
|
+
const state = await NativeMoveSdk.getState();
|
|
131
|
+
return MoveSdk.sdkStateFromNative(state);
|
|
152
132
|
}
|
|
153
133
|
|
|
154
|
-
static
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
134
|
+
static async getTripState() {
|
|
135
|
+
const tripState = await NativeMoveSdk.getTripState();
|
|
136
|
+
return MoveSdk.tripStateFromNative(tripState);
|
|
158
137
|
}
|
|
159
138
|
|
|
160
|
-
static
|
|
161
|
-
return
|
|
162
|
-
NativeMoveSdk.getState().then(nativeState => resolve(MoveSdk.sdkStateFromNative(nativeState)));
|
|
163
|
-
});
|
|
139
|
+
static async getErrors() {
|
|
140
|
+
return await NativeMoveSdk.getErrors();
|
|
164
141
|
}
|
|
165
142
|
|
|
166
|
-
static
|
|
167
|
-
return
|
|
168
|
-
NativeMoveSdk.getTripState().then(nativeState => resolve(MoveSdk.tripStateFromNative(nativeState)));
|
|
169
|
-
});
|
|
143
|
+
static async getWarnings() {
|
|
144
|
+
return await NativeMoveSdk.getWarnings();
|
|
170
145
|
}
|
|
171
146
|
|
|
172
|
-
static
|
|
173
|
-
return
|
|
147
|
+
static async initiateAssistanceCall() {
|
|
148
|
+
return await NativeMoveSdk.initiateAssistanceCall();
|
|
174
149
|
}
|
|
175
150
|
|
|
176
|
-
static
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
});
|
|
151
|
+
static setAssistanceMetaData(data) {
|
|
152
|
+
NativeMoveSdk.setAssistanceMetaData(data);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
static addTripStateListener(tripStateChanged) {
|
|
156
|
+
return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', event => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));
|
|
183
157
|
}
|
|
184
158
|
|
|
185
|
-
static
|
|
186
|
-
return eventEmitter.addListener('
|
|
159
|
+
static addSdkStateListener(sdkStateChanged) {
|
|
160
|
+
return eventEmitter.addListener('MOVE_SDK_STATE', event => {
|
|
161
|
+
sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));
|
|
162
|
+
});
|
|
187
163
|
}
|
|
188
164
|
|
|
189
165
|
static addAuthStateListener(authStateChanged) {
|
|
190
|
-
return eventEmitter.addListener('
|
|
166
|
+
return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', event => {
|
|
191
167
|
const transformedEvent = { ...event,
|
|
192
168
|
state: MoveSdk.authStateFromNative(event.state)
|
|
193
169
|
};
|
|
@@ -195,8 +171,20 @@ export default class MoveSdk {
|
|
|
195
171
|
});
|
|
196
172
|
}
|
|
197
173
|
|
|
174
|
+
static addErrorsListener(errorsReceived) {
|
|
175
|
+
return eventEmitter.addListener('MOVE_SDK_ERRORS', event => {
|
|
176
|
+
errorsReceived(event.errors);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
static addWarningsListener(warningsReceived) {
|
|
181
|
+
return eventEmitter.addListener('MOVE_SDK_WARNINGS', event => {
|
|
182
|
+
warningsReceived(event.warnings);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
198
186
|
static addAppEventListener(appEventReceived) {
|
|
199
|
-
return eventEmitter.addListener('
|
|
187
|
+
return eventEmitter.addListener('MOVE_SDK_APP_EVENT', event => {
|
|
200
188
|
appEventReceived(event);
|
|
201
189
|
});
|
|
202
190
|
}
|
|
@@ -211,13 +199,23 @@ export default class MoveSdk {
|
|
|
211
199
|
|
|
212
200
|
static ignoreCurrentTrip() {
|
|
213
201
|
NativeMoveSdk.ignoreCurrentTrip();
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
static requestMotionPermission() {
|
|
205
|
+
if (Platform.OS === 'ios') {
|
|
206
|
+
NativeMoveSdk.requestMotionPermission();
|
|
207
|
+
} else {
|
|
208
|
+
console.warn('MoveSdk.requestMotionPermission() is iOS only.');
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
static shutdown() {
|
|
213
|
+
NativeMoveSdk.shutdown();
|
|
214
214
|
} // **** PERMISSIONS MODULE START *****
|
|
215
215
|
|
|
216
216
|
|
|
217
|
-
static canDrawOverlays() {
|
|
218
|
-
return
|
|
219
|
-
NativeMoveSdk.canDrawOverlays().then(result => resolve(result));
|
|
220
|
-
});
|
|
217
|
+
static async canDrawOverlays() {
|
|
218
|
+
return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
|
|
221
219
|
}
|
|
222
220
|
|
|
223
221
|
static requestDrawOverlaysPermission() {
|
|
@@ -228,10 +226,8 @@ export default class MoveSdk {
|
|
|
228
226
|
}
|
|
229
227
|
}
|
|
230
228
|
|
|
231
|
-
static isAppIgnoringBatteryOptimization() {
|
|
232
|
-
return
|
|
233
|
-
NativeMoveSdk.isAppIgnoringBatteryOptimization().then(result => resolve(result));
|
|
234
|
-
});
|
|
229
|
+
static async isAppIgnoringBatteryOptimization() {
|
|
230
|
+
return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
|
|
235
231
|
}
|
|
236
232
|
|
|
237
233
|
static requestAppIgnoringBatteryOptimization() {
|
|
@@ -245,27 +241,25 @@ export default class MoveSdk {
|
|
|
245
241
|
|
|
246
242
|
}
|
|
247
243
|
|
|
248
|
-
_defineProperty(MoveSdk, "
|
|
249
|
-
|
|
250
|
-
_defineProperty(MoveSdk, "READY", 'ready');
|
|
244
|
+
_defineProperty(MoveSdk, "READY", 'READY');
|
|
251
245
|
|
|
252
|
-
_defineProperty(MoveSdk, "RUNNING", '
|
|
246
|
+
_defineProperty(MoveSdk, "RUNNING", 'RUNNING');
|
|
253
247
|
|
|
254
|
-
_defineProperty(MoveSdk, "UNINITIALIZED", '
|
|
248
|
+
_defineProperty(MoveSdk, "UNINITIALIZED", 'UNINITIALIZED');
|
|
255
249
|
|
|
256
|
-
_defineProperty(MoveSdk, "
|
|
250
|
+
_defineProperty(MoveSdk, "AUTH_EXPIRED", 'EXPIRED');
|
|
257
251
|
|
|
258
|
-
_defineProperty(MoveSdk, "
|
|
252
|
+
_defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
|
|
259
253
|
|
|
260
|
-
_defineProperty(MoveSdk, "
|
|
254
|
+
_defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
|
|
261
255
|
|
|
262
|
-
_defineProperty(MoveSdk, "UNKNOWN", '
|
|
256
|
+
_defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
|
|
263
257
|
|
|
264
|
-
_defineProperty(MoveSdk, "DRIVING", '
|
|
258
|
+
_defineProperty(MoveSdk, "DRIVING", 'DRIVING');
|
|
265
259
|
|
|
266
|
-
_defineProperty(MoveSdk, "HALT", '
|
|
260
|
+
_defineProperty(MoveSdk, "HALT", 'HALT');
|
|
267
261
|
|
|
268
|
-
_defineProperty(MoveSdk, "IDLE", '
|
|
262
|
+
_defineProperty(MoveSdk, "IDLE", 'IDLE');
|
|
269
263
|
|
|
270
|
-
_defineProperty(MoveSdk, "IGNORED", '
|
|
264
|
+
_defineProperty(MoveSdk, "IGNORED", 'IGNORED');
|
|
271
265
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","Platform","DolphinSdk","NativeMoveSdk","eventEmitter","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","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":"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","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":["NativeModules","NativeEventEmitter","Platform","MoveSdk","NativeMoveSdk","eventEmitter","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","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":";;AAAA,SACEA,aADF,EAEEC,kBAFF,EAGEC,QAHF,QAKO,cALP;AAqFA,MAAM;AAAEC,EAAAA,OAAO,EAAEC;AAAX,IAA6BJ,aAAnC;AACA,MAAMK,YAAY,GAAG,IAAIJ,kBAAJ,CAAuBG,aAAvB,CAArB;AAEA,eAAe,MAAMD,OAAN,CAAc;AAeF,SAAlBG,kBAAkB,CAACC,QAAD,EAA+B;AACtD,QACE,CACEJ,OAAO,CAACK,aADV,EAEEL,OAAO,CAACM,KAFV,EAGEN,OAAO,CAACO,OAHV,EAIEP,OAAO,CAACK,aAJV,EAKEG,QALF,CAKWJ,QALX,CADF,EAOE;AACA,aAAOA,QAAP;AACD;;AAED,WAAOJ,OAAO,CAACK,aAAf;AACD;;AAEyB,SAAnBI,mBAAmB,CAACC,eAAD,EAAwC;AAChE,QACE,CACEV,OAAO,CAACW,OADV,EAEEX,OAAO,CAACY,OAFV,EAGEZ,OAAO,CAACa,IAHV,EAIEb,OAAO,CAACc,IAJV,EAKEd,OAAO,CAACe,OALV,EAMEP,QANF,CAMWE,eANX,CADF,EAQE;AACA,aAAOA,eAAP;AACD;;AAED,WAAOV,OAAO,CAACW,OAAf;AACD;;AAEyB,SAAnBK,mBAAmB,CAACC,eAAD,EAAwC;AAChE,QAAI,CAACjB,OAAO,CAACkB,UAAT,EAAqBlB,OAAO,CAACmB,YAA7B,EAA2CX,QAA3C,CAAoDS,eAApD,CAAJ,EAA0E;AACxE,aAAOA,eAAP;AACD;;AAED,WAAOjB,OAAO,CAACoB,YAAf;AACD;;AAEiB,eAALC,KAAK,CAChBC,MADgB,EAEhBC,IAFgB,EAGhBC,OAHgB,EAID;AACf,UAAM;AAAEC,MAAAA,yBAAF;AAA6BC,MAAAA,eAA7B;AAA8CC,MAAAA;AAA9C,QACJL,MADF;AAGA,UAAM;AAAEM,MAAAA,MAAF;AAAUC,MAAAA,SAAV;AAAqBC,MAAAA,WAArB;AAAkCC,MAAAA;AAAlC,QAAmDR,IAAzD;AAEA,QAAIS,cAAuC,GAAG,EAA9C;;AACA,QAAIjC,QAAQ,CAACkC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAM;AAAEC,QAAAA;AAAF,UAAoBV,OAA1B;AAEA,YAAM;AAAEW,QAAAA,gBAAF;AAAoBC,QAAAA;AAApB,UAAgDF,aAAtD;;AAEA,UAAI,CAACC,gBAAD,IAAqB,CAACC,uBAA1B,EAAmD;AACjD,cAAM,IAAIC,KAAJ,CACJ,uDADI,CAAN;AAGD;;AAEDL,MAAAA,cAAc,GAAG,CACfI,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,CAAjB;AAYD;;AAED,WAAO,MAAM1C,aAAa,CAACoB,KAAd,CACXO,MADW,EAEXE,WAFW,EAGXC,YAHW,EAIXF,SAJW,EAKX;AACAJ,IAAAA,yBANW,EAOXC,eAPW,EAQXC,eARW,EAUX;AACA,OAAGK,cAXQ,CAAb;AAaD;;AAEwB,SAAlBY,kBAAkB,CAACA,kBAAD,EAA8B;AACrD3C,IAAAA,aAAa,CAAC2C,kBAAd,CAAiCA,kBAAjC;AACD;AAED;;;AACW,SAAJC,IAAI,GAAG;AACZ5C,IAAAA,aAAa,CAAC4C,IAAd;AACD;;AAEkB,SAAZC,YAAY,GAAG;AACpB7C,IAAAA,aAAa,CAAC6C,YAAd;AACD;;AAEgB,SAAVC,UAAU,CAACxB,IAAD,EAAoB;AACnC,UAAM;AAAEK,MAAAA,MAAF;AAAUC,MAAAA,SAAV;AAAqBC,MAAAA,WAArB;AAAkCC,MAAAA;AAAlC,QAAmDR,IAAzD;AACAtB,IAAAA,aAAa,CAAC8C,UAAd,CAAyBnB,MAAzB,EAAiCE,WAAjC,EAA8CC,YAA9C,EAA4DF,SAA5D;AACD;;AAE6B,SAAvBmB,uBAAuB,GAAG;AAC/B/C,IAAAA,aAAa,CAAC+C,uBAAd;AACD;;AAE4B,SAAtBC,sBAAsB,GAAG;AAC9BhD,IAAAA,aAAa,CAACgD,sBAAd;AACD;;AAE0B,SAApBC,oBAAoB,GAAG;AAC5BjD,IAAAA,aAAa,CAACiD,oBAAd;AACD;;AAEsB,SAAhBC,gBAAgB,CAACC,OAAD,EAAmB;AACxC,QAAIrD,QAAQ,CAACkC,EAAT,KAAgB,SAApB,EAA+B;AAC7BhC,MAAAA,aAAa,CAACkD,gBAAd,CAA+BC,OAA/B;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAAb;AACD;AACF;;AAEgB,SAAVC,UAAU,CAACH,OAAD,EAAmB;AAClC,QAAIrD,QAAQ,CAACkC,EAAT,KAAgB,SAApB,EAA+B;AAC7BhC,MAAAA,aAAa,CAACsD,UAAd,CAAyBH,OAAzB;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,0CAAb;AACD;AACF;;AAE+B,eAAnBE,mBAAmB,GAAqB;AACnD,WAAO,MAAMvD,aAAa,CAACuD,mBAAd,EAAb;AACD;;AAEwB,eAAZC,YAAY,GAAuB;AAC9C,UAAMC,SAAS,GAAG,MAAMzD,aAAa,CAACwD,YAAd,EAAxB;AACA,WAAOzD,OAAO,CAACgB,mBAAR,CAA4B0C,SAA5B,CAAP;AACD;;AAEoB,eAARC,QAAQ,GAAsB;AACzC,UAAMC,KAAK,GAAG,MAAM3D,aAAa,CAAC0D,QAAd,EAApB;AACA,WAAO3D,OAAO,CAACG,kBAAR,CAA2ByD,KAA3B,CAAP;AACD;;AAEwB,eAAZC,YAAY,GAAuB;AAC9C,UAAMC,SAAS,GAAG,MAAM7D,aAAa,CAAC4D,YAAd,EAAxB;AACA,WAAO7D,OAAO,CAACS,mBAAR,CAA4BqD,SAA5B,CAAP;AACD;;AAEqB,eAATC,SAAS,GAA2B;AAC/C,WAAO,MAAM9D,aAAa,CAAC8D,SAAd,EAAb;AACD;;AAEuB,eAAXC,WAAW,GAA2B;AACjD,WAAO,MAAM/D,aAAa,CAAC+D,WAAd,EAAb;AACD;;AAEkC,eAAtBC,sBAAsB,GAAqB;AACtD,WAAO,MAAMhE,aAAa,CAACgE,sBAAd,EAAb;AACD;;AAE2B,SAArBC,qBAAqB,CAACC,IAAD,EAAe;AACzClE,IAAAA,aAAa,CAACiE,qBAAd,CAAoCC,IAApC;AACD;;AAE0B,SAApBC,oBAAoB,CACzBC,gBADyB,EAEH;AACtB,WAAOnE,YAAY,CAACoE,WAAb,CAAyB,qBAAzB,EAAiDC,KAAD,IACrDF,gBAAgB,CAACrE,OAAO,CAACS,mBAAR,CAA4B8D,KAAK,CAACX,KAAlC,CAAD,CADX,CAAP;AAGD;;AAEyB,SAAnBY,mBAAmB,CACxBC,eADwB,EAEF;AACtB,WAAOvE,YAAY,CAACoE,WAAb,CAAyB,gBAAzB,EAA4CC,KAAD,IAAW;AAC3DE,MAAAA,eAAe,CAACzE,OAAO,CAACG,kBAAR,CAA2BoE,KAAK,CAACX,KAAjC,CAAD,CAAf;AACD,KAFM,CAAP;AAGD;;AAE0B,SAApBc,oBAAoB,CACzBC,gBADyB,EAEH;AACtB,WAAOzE,YAAY,CAACoE,WAAb,CAAyB,qBAAzB,EAAiDC,KAAD,IAAW;AAChE,YAAMK,gBAAgB,GAAG,EACvB,GAAGL,KADoB;AAEvBX,QAAAA,KAAK,EAAE5D,OAAO,CAACgB,mBAAR,CAA4BuD,KAAK,CAACX,KAAlC;AAFgB,OAAzB;AAIAe,MAAAA,gBAAgB,CAACC,gBAAD,CAAhB;AACD,KANM,CAAP;AAOD;;AAEuB,SAAjBC,iBAAiB,CACtBC,cADsB,EAEA;AACtB,WAAO5E,YAAY,CAACoE,WAAb,CAAyB,iBAAzB,EAA6CC,KAAD,IAAW;AAC5DO,MAAAA,cAAc,CAACP,KAAK,CAACQ,MAAP,CAAd;AACD,KAFM,CAAP;AAGD;;AAEyB,SAAnBC,mBAAmB,CACxBC,gBADwB,EAEF;AACtB,WAAO/E,YAAY,CAACoE,WAAb,CAAyB,mBAAzB,EAA+CC,KAAD,IAAW;AAC9DU,MAAAA,gBAAgB,CAACV,KAAK,CAACW,QAAP,CAAhB;AACD,KAFM,CAAP;AAGD;;AAEyB,SAAnBC,mBAAmB,CACxBC,gBADwB,EAEF;AACtB,WAAOlF,YAAY,CAACoE,WAAb,CAAyB,oBAAzB,EAAgDC,KAAD,IAAW;AAC/Da,MAAAA,gBAAgB,CAACb,KAAD,CAAhB;AACD,KAFM,CAAP;AAGD;;AAEa,SAAPc,OAAO,GAAW;AACvB,WAAOtF,QAAQ,CAACkC,EAAT,KAAgB,SAAhB,GACHhC,aAAa,CAACqF,YAAd,GAA6BD,OAD1B,GAEH,SAFJ;AAGD;;AAEuB,SAAjBE,iBAAiB,GAAG;AACzBtF,IAAAA,aAAa,CAACsF,iBAAd;AACD;;AAEuB,SAAjBC,iBAAiB,GAAG;AACzBvF,IAAAA,aAAa,CAACuF,iBAAd;AACD;;AAE6B,SAAvBC,uBAAuB,GAAG;AAC/B,QAAI1F,QAAQ,CAACkC,EAAT,KAAgB,KAApB,EAA2B;AACzBhC,MAAAA,aAAa,CAACwF,uBAAd;AACD,KAFD,MAEO;AACLpC,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAAb;AACD;AACF;;AAEc,SAARoC,QAAQ,GAAG;AAChBzF,IAAAA,aAAa,CAACyF,QAAd;AACD,GAtQ0B,CAwQ3B;;;AAE4B,eAAfC,eAAe,GAAqB;AAC/C,WAAO,MAAM1F,aAAa,CAAC2F,gCAAd,EAAb;AACD;;AAEmC,SAA7BC,6BAA6B,GAAG;AACrC,QAAI9F,QAAQ,CAACkC,EAAT,KAAgB,SAApB,EAA+B;AAC7BhC,MAAAA,aAAa,CAAC4F,6BAAd;AACD,KAFD,MAEO;AACLxC,MAAAA,OAAO,CAACC,IAAR,CACE,qEADF;AAGD;AACF;;AAE4C,eAAhCsC,gCAAgC,GAAqB;AAChE,WAAO,MAAM3F,aAAa,CAAC2F,gCAAd,EAAb;AACD;;AAE2C,SAArCE,qCAAqC,GAAG;AAC7C,QAAI/F,QAAQ,CAACkC,EAAT,KAAgB,SAApB,EAA+B;AAC7BhC,MAAAA,aAAa,CAAC6F,qCAAd;AACD,KAFD,MAEO;AACLzC,MAAAA,OAAO,CAACC,IAAR,CACE,qEADF;AAGD;AACF,GApS0B,CAsS3B;;;AAtS2B;;gBAARtD,O,WACM,O;;gBADNA,O,aAEQ,S;;gBAFRA,O,mBAGc,e;;gBAHdA,O,kBAKc,S;;gBALdA,O,gBAMY,O;;gBANZA,O,kBAOc,S;;gBAPdA,O,aASS,S;;gBATTA,O,aAUS,S;;gBAVTA,O,UAWM,M;;gBAXNA,O,UAYM,M;;gBAZNA,O,aAaS,S","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"]}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { EmitterSubscription } from 'react-native';
|
|
2
|
-
export declare type
|
|
3
|
-
export declare type
|
|
4
|
-
export declare type
|
|
5
|
-
export declare type
|
|
6
|
-
export declare type
|
|
7
|
-
export declare type
|
|
8
|
-
export declare type
|
|
9
|
-
export declare type
|
|
10
|
-
export declare type
|
|
11
|
-
export declare type
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare type
|
|
2
|
+
export declare type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';
|
|
3
|
+
export declare type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';
|
|
4
|
+
export declare type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';
|
|
5
|
+
export declare type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';
|
|
6
|
+
export declare type WalkingService = 'LOCATION';
|
|
7
|
+
export declare type OtherService = 'POINTS_OF_INTEREST';
|
|
8
|
+
export declare type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'POINTS_OF_INTEREST';
|
|
9
|
+
export declare type ErrorReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'BATTERY_OPTIMIZATION' | 'BATTERY_PERMISSION_MISSING' | 'BLUETOOTH_PERMISSION_MISSING';
|
|
10
|
+
export declare type ErrorListService = 'DRIVING[]' | 'DRIVING[DRIVING_BEHAVIOUR]' | 'DRIVING[DISTRACTION_FREE_DRIVING]' | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]' | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]' | 'WALKING[]' | 'WALKING[LOCATION]' | 'CYCLING' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'POINTS_OF_INTEREST';
|
|
11
|
+
export declare type ErrorListItem = {
|
|
12
|
+
reasons: Array<ErrorReasons>;
|
|
13
|
+
service?: ErrorListService;
|
|
14
|
+
};
|
|
15
|
+
export declare type ErrorListType = Array<ErrorListItem>;
|
|
16
16
|
export declare type MoveSdkConfig = {
|
|
17
17
|
timelineDetectionServices: TimelineDetectionService[];
|
|
18
18
|
drivingServices: DrivingService[];
|
|
19
19
|
walkingServices: WalkingService[];
|
|
20
|
-
otherServices
|
|
20
|
+
otherServices?: OtherService[];
|
|
21
21
|
};
|
|
22
22
|
export declare type MoveSdkAuth = {
|
|
23
|
-
|
|
23
|
+
userId: string;
|
|
24
24
|
accessToken: string;
|
|
25
25
|
refreshToken: string;
|
|
26
|
-
|
|
26
|
+
projectId: number;
|
|
27
27
|
};
|
|
28
28
|
export declare type NotificationConfig = {
|
|
29
29
|
title: string;
|
|
@@ -42,55 +42,55 @@ export declare type MoveSdkAndroidConfig = {
|
|
|
42
42
|
allowMockLocations: boolean;
|
|
43
43
|
};
|
|
44
44
|
export declare type ListenerSubscription = EmitterSubscription;
|
|
45
|
-
export declare type ConfigurationError = 'authinvalid' | 'configmismatch' | 'serviceunreachable';
|
|
46
|
-
export declare type IosConfigurationError = 'serviceUnreachable' | 'authInvalid' | 'configMismatch';
|
|
47
|
-
export declare type AndroidConfigurationError = 'ServiceUnreachable' | 'AuthInvalid' | 'ConfigMismatch';
|
|
48
|
-
export declare type NativeConfigurationError = IosConfigurationError | AndroidConfigurationError;
|
|
49
45
|
export declare type AuthStateEvent = {
|
|
50
46
|
state: AuthState;
|
|
51
47
|
accessToken?: string;
|
|
52
48
|
refreshToken?: string;
|
|
53
49
|
};
|
|
54
50
|
export default class MoveSdk {
|
|
55
|
-
static ERROR: SdkState;
|
|
56
51
|
static READY: SdkState;
|
|
57
52
|
static RUNNING: SdkState;
|
|
58
53
|
static UNINITIALIZED: SdkState;
|
|
59
|
-
static AUTH_INVALID: ConfigurationError;
|
|
60
54
|
static AUTH_EXPIRED: AuthState;
|
|
61
55
|
static AUTH_VALID: AuthState;
|
|
56
|
+
static AUTH_UNKNOWN: AuthState;
|
|
62
57
|
static UNKNOWN: TripState;
|
|
63
58
|
static DRIVING: TripState;
|
|
64
59
|
static HALT: TripState;
|
|
65
60
|
static IDLE: TripState;
|
|
66
61
|
static IGNORED: TripState;
|
|
67
|
-
static sdkStateFromNative(
|
|
68
|
-
static tripStateFromNative(nativeTripState:
|
|
69
|
-
static authStateFromNative(nativeAuthState:
|
|
70
|
-
static
|
|
71
|
-
static
|
|
62
|
+
static sdkStateFromNative(sdkState: SdkState): SdkState;
|
|
63
|
+
static tripStateFromNative(nativeTripState: TripState): TripState;
|
|
64
|
+
static authStateFromNative(nativeAuthState: AuthState): AuthState;
|
|
65
|
+
static setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig): Promise<void>;
|
|
66
|
+
static allowMockLocations(allowMockLocations: boolean): void;
|
|
67
|
+
static init(): void;
|
|
72
68
|
static resolveError(): void;
|
|
73
69
|
static updateAuth(auth: MoveSdkAuth): void;
|
|
74
70
|
static startAutomaticDetection(): void;
|
|
71
|
+
static stopAutomaticDetection(): void;
|
|
75
72
|
static forceTripRecognition(): void;
|
|
76
73
|
static keepInForeground(enabled: boolean): void;
|
|
77
74
|
static keepActive(enabled: boolean): void;
|
|
78
|
-
static stopAutomaticDetection(): void;
|
|
79
75
|
static synchronizeUserData(): Promise<boolean>;
|
|
80
|
-
static
|
|
81
|
-
static
|
|
82
|
-
static
|
|
83
|
-
static
|
|
84
|
-
static
|
|
85
|
-
static
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
static
|
|
76
|
+
static getAuthState(): Promise<AuthState>;
|
|
77
|
+
static getState(): Promise<SdkState>;
|
|
78
|
+
static getTripState(): Promise<TripState>;
|
|
79
|
+
static getErrors(): Promise<ErrorListType>;
|
|
80
|
+
static getWarnings(): Promise<ErrorListType>;
|
|
81
|
+
static initiateAssistanceCall(): Promise<boolean>;
|
|
82
|
+
static setAssistanceMetaData(data: string): void;
|
|
83
|
+
static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription;
|
|
84
|
+
static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription;
|
|
89
85
|
static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription;
|
|
86
|
+
static addErrorsListener(errorsReceived: (event: ErrorListType) => void): ListenerSubscription;
|
|
87
|
+
static addWarningsListener(warningsReceived: (event: ErrorListType) => void): ListenerSubscription;
|
|
90
88
|
static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription;
|
|
91
89
|
static version(): string;
|
|
92
90
|
static finishCurrentTrip(): void;
|
|
93
91
|
static ignoreCurrentTrip(): void;
|
|
92
|
+
static requestMotionPermission(): void;
|
|
93
|
+
static shutdown(): void;
|
|
94
94
|
static canDrawOverlays(): Promise<boolean>;
|
|
95
95
|
static requestDrawOverlaysPermission(): void;
|
|
96
96
|
static isAppIgnoringBatteryOptimization(): Promise<boolean>;
|
package/package.json
CHANGED
|
@@ -3,6 +3,8 @@ require 'json'
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
4
4
|
|
|
5
5
|
Pod::Spec.new do |s|
|
|
6
|
+
s.module_name = "ReactMoveSDK"
|
|
7
|
+
s.header_dir = "ReactMoveSDK"
|
|
6
8
|
s.name = "react-native-move-sdk"
|
|
7
9
|
s.version = package["version"]
|
|
8
10
|
s.summary = package["description"]
|
|
@@ -16,5 +18,5 @@ Pod::Spec.new do |s|
|
|
|
16
18
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
17
19
|
|
|
18
20
|
s.dependency 'React'
|
|
19
|
-
s.dependency '
|
|
21
|
+
s.dependency 'MoveSDK', '2.0.0.212'
|
|
20
22
|
end
|