react-native-move-sdk 2.6.9 → 2.7.1-alpha

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.
@@ -1,329 +1,4 @@
1
- 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; }
2
-
3
- import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
4
- const {
5
- MoveSdk: NativeMoveSdk
6
- } = NativeModules;
7
- const eventEmitter = new NativeEventEmitter(NativeMoveSdk);
8
- export default class MoveSdk {
9
- static sdkStateFromNative(sdkState) {
10
- if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {
11
- return sdkState;
12
- }
13
-
14
- return MoveSdk.UNINITIALIZED;
15
- }
16
-
17
- static tripStateFromNative(nativeTripState) {
18
- if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {
19
- return nativeTripState;
20
- }
21
-
22
- return MoveSdk.UNKNOWN;
23
- }
24
-
25
- static authStateFromNative(nativeAuthState) {
26
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
27
- return nativeAuthState;
28
- }
29
-
30
- return MoveSdk.AUTH_UNKNOWN;
31
- }
32
-
33
- static async setup(config, auth, android, options) {
34
- const {
35
- timelineDetectionServices,
36
- drivingServices,
37
- walkingServices
38
- } = config;
39
- const {
40
- userId,
41
- projectId,
42
- accessToken,
43
- refreshToken
44
- } = auth;
45
- let platformParams = [];
46
-
47
- if (Platform.OS === 'android') {
48
- const {
49
- notifications
50
- } = android;
51
- const {
52
- tripNotification,
53
- recognitionNotification
54
- } = notifications;
55
-
56
- if (!tripNotification || !recognitionNotification) {
57
- throw new Error('MOVE SDK needs notification configuration for Android');
58
- }
59
-
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];
61
- }
62
-
63
- return await NativeMoveSdk.setup(userId, accessToken, refreshToken, projectId, // Config
64
- timelineDetectionServices, drivingServices, walkingServices, options, // 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();
76
- }
77
-
78
- static resolveError() {
79
- NativeMoveSdk.resolveError();
80
- }
81
-
82
- static async updateAuth(auth) {
83
- const {
84
- userId,
85
- projectId,
86
- accessToken,
87
- refreshToken
88
- } = auth;
89
- return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);
90
- }
91
-
92
- static startAutomaticDetection() {
93
- NativeMoveSdk.startAutomaticDetection();
94
- }
95
-
96
- static stopAutomaticDetection() {
97
- NativeMoveSdk.stopAutomaticDetection();
98
- }
99
-
100
- static forceTripRecognition() {
101
- let duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 60000;
102
- NativeMoveSdk.forceTripRecognition(duration);
103
- }
104
-
105
- static keepInForeground(enabled) {
106
- if (Platform.OS === 'android') {
107
- NativeMoveSdk.keepInForeground(enabled);
108
- } else {
109
- console.warn('MoveSdk.keepInForeground() is Android OS only.');
110
- }
111
- }
112
-
113
- static keepActive(enabled) {
114
- if (Platform.OS === 'android') {
115
- NativeMoveSdk.keepActive(enabled);
116
- } else {
117
- console.warn('MoveSdk.keepActive() is Android OS only.');
118
- }
119
- }
120
-
121
- static async synchronizeUserData() {
122
- return await NativeMoveSdk.synchronizeUserData();
123
- }
124
-
125
- static async getAuthState() {
126
- const authState = await NativeMoveSdk.getAuthState();
127
- return MoveSdk.authStateFromNative(authState);
128
- }
129
-
130
- static async getState() {
131
- const state = await NativeMoveSdk.getState();
132
- return MoveSdk.sdkStateFromNative(state);
133
- }
134
-
135
- static async getTripState() {
136
- const tripState = await NativeMoveSdk.getTripState();
137
- return MoveSdk.tripStateFromNative(tripState);
138
- }
139
-
140
- static async getErrors() {
141
- return await NativeMoveSdk.getErrors();
142
- }
143
-
144
- static async getWarnings() {
145
- return await NativeMoveSdk.getWarnings();
146
- }
147
-
148
- static async initiateAssistanceCall() {
149
- return await NativeMoveSdk.initiateAssistanceCall();
150
- }
151
-
152
- static setAssistanceMetaData(data) {
153
- NativeMoveSdk.setAssistanceMetaData(data);
154
- }
155
-
156
- static addTripStateListener(tripStateChanged) {
157
- return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', event => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));
158
- }
159
-
160
- static addTripStartListener(tripStartTriggered) {
161
- return eventEmitter.addListener('MOVE_SDK_TRIP_START', start => tripStartTriggered(new Date(Number(start))));
162
- }
163
-
164
- static addSdkStateListener(sdkStateChanged) {
165
- return eventEmitter.addListener('MOVE_SDK_STATE', event => {
166
- sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));
167
- });
168
- }
169
-
170
- static addAuthStateListener(authStateChanged) {
171
- return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', event => {
172
- const transformedEvent = { ...event,
173
- state: MoveSdk.authStateFromNative(event.state)
174
- };
175
- authStateChanged(transformedEvent);
176
- });
177
- }
178
-
179
- static addErrorsListener(errorsReceived) {
180
- return eventEmitter.addListener('MOVE_SDK_ERRORS', event => {
181
- errorsReceived(event.errors);
182
- });
183
- }
184
-
185
- static addWarningsListener(warningsReceived) {
186
- return eventEmitter.addListener('MOVE_SDK_WARNINGS', event => {
187
- warningsReceived(event.warnings);
188
- });
189
- }
190
-
191
- static addAppEventListener(appEventReceived) {
192
- return eventEmitter.addListener('MOVE_SDK_APP_EVENT', event => {
193
- appEventReceived(event);
194
- });
195
- }
196
-
197
- static addRemoteConfigChangeListener(configChangeReceived) {
198
- return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', config => {
199
- configChangeReceived(config);
200
- });
201
- }
202
-
203
- static version() {
204
- return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';
205
- }
206
-
207
- static finishCurrentTrip() {
208
- NativeMoveSdk.finishCurrentTrip();
209
- }
210
-
211
- static ignoreCurrentTrip() {
212
- NativeMoveSdk.ignoreCurrentTrip();
213
- }
214
-
215
- static requestMotionPermission() {
216
- if (Platform.OS === 'ios') {
217
- NativeMoveSdk.requestMotionPermission();
218
- } else {
219
- console.warn('MoveSdk.requestMotionPermission() is iOS only.');
220
- }
221
- }
222
-
223
- static async shutdown() {
224
- let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
225
- return await NativeMoveSdk.shutdown(force);
226
- }
227
-
228
- static async getDeviceQualifier() {
229
- return NativeMoveSdk.getDeviceQualifier();
230
- }
231
-
232
- static async geocode(latitude, longitude) {
233
- return await NativeMoveSdk.geocode(latitude, longitude);
234
- }
235
-
236
- static async isAuthValid() {
237
- return await NativeMoveSdk.isAuthValid();
238
- } // **** PERMISSIONS MODULE START *****
239
-
240
-
241
- static async canDrawOverlays() {
242
- return await NativeMoveSdk.canDrawOverlays();
243
- }
244
-
245
- static requestDrawOverlaysPermission() {
246
- if (Platform.OS === 'android') {
247
- NativeMoveSdk.requestDrawOverlaysPermission();
248
- } else {
249
- console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');
250
- }
251
- }
252
-
253
- static async isAppIgnoringBatteryOptimization() {
254
- return await NativeMoveSdk.isAppIgnoringBatteryOptimization();
255
- }
256
-
257
- static requestAppIgnoringBatteryOptimization() {
258
- if (Platform.OS === 'android') {
259
- NativeMoveSdk.requestAppIgnoringBatteryOptimization();
260
- } else {
261
- console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');
262
- }
263
- } // **** PERMISSIONS MODULE END *****
264
-
265
-
266
- static startScanningDevices(sdkDevicesDetected) {
267
- let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['paired'];
268
- let uuid = arguments.length > 2 ? arguments[2] : undefined;
269
- let manufacturerId = arguments.length > 3 ? arguments[3] : undefined;
270
- const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', devices => {
271
- sdkDevicesDetected(devices);
272
- });
273
- const subscriptionRemove = subscription.remove;
274
-
275
- subscription.remove = () => {
276
- NativeMoveSdk.stopScanningDevices();
277
- subscriptionRemove();
278
- };
279
-
280
- NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId !== null && manufacturerId !== void 0 ? manufacturerId : -1);
281
- return subscription;
282
- }
283
-
284
- static async getRegisteredDevices() {
285
- return await NativeMoveSdk.getRegisteredDevices();
286
- }
287
-
288
- static async registerDevices(devices) {
289
- return await NativeMoveSdk.registerDevices(devices);
290
- }
291
-
292
- static async unregisterDevices(devices) {
293
- return await NativeMoveSdk.unregisterDevices(devices);
294
- }
295
-
296
- static requestBluetoothAlwaysUsagePermission() {
297
- NativeMoveSdk.requestBluetoothAlwaysUsagePermission();
298
- }
299
-
300
- static addDeviceDiscoveryListener(onScanResult) {
301
- return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', results => {
302
- onScanResult(results);
303
- });
304
- }
305
-
306
- }
307
-
308
- _defineProperty(MoveSdk, "READY", 'READY');
309
-
310
- _defineProperty(MoveSdk, "RUNNING", 'RUNNING');
311
-
312
- _defineProperty(MoveSdk, "UNINITIALIZED", 'UNINITIALIZED');
313
-
314
- _defineProperty(MoveSdk, "AUTH_EXPIRED", 'EXPIRED');
315
-
316
- _defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
317
-
318
- _defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
319
-
320
- _defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
321
-
322
- _defineProperty(MoveSdk, "DRIVING", 'DRIVING');
323
-
324
- _defineProperty(MoveSdk, "HALT", 'HALT');
325
-
326
- _defineProperty(MoveSdk, "IDLE", 'IDLE');
327
-
328
- _defineProperty(MoveSdk, "IGNORED", 'IGNORED');
1
+ export * from './MoveSdk';
2
+ export { default } from './MoveSdk';
3
+ export { default as LazyMoveSdk } from './components/LazyMoveSdk';
329
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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","options","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","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","addRemoteConfigChangeListener","configChangeReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","shutdown","force","getDeviceQualifier","geocode","latitude","longitude","isAuthValid","canDrawOverlays","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization","startScanningDevices","sdkDevicesDetected","filter","uuid","manufacturerId","subscription","devices","subscriptionRemove","remove","stopScanningDevices","getRegisteredDevices","registerDevices","unregisterDevices","requestBluetoothAlwaysUsagePermission","addDeviceDiscoveryListener","onScanResult","results"],"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' | 'INVALID';\nexport type DrivingService =\n | 'DISTRACTION_FREE_DRIVING'\n | 'DRIVING_BEHAVIOUR'\n | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PLACES'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'ASSISTANCE_CALL'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE';\n\nexport type IssueListService =\n | TimelineDetectionService\n | DrivingService\n | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type ShutdownReturnType = 'NETWORK_ERROR' | 'SUCCESS' | 'UNINITIALIZED';\n\nexport type MoveSdkConfig = {\n timelineDetectionServices: Array<TimelineDetectionService>;\n drivingServices: Array<DrivingService>;\n walkingServices: Array<WalkingService>;\n};\n\nexport type MoveSdkDeviceDiscovery = {\n startDelay?: number;\n duration?: number;\n interval?: number;\n stopScanOnFirstDiscovered?: boolean;\n};\n\nexport type MoveSdkOptions = {\n motionPermissionMandatory?: boolean;\n backgroundLocationPermissionMandatory?: boolean;\n overlayPermissionMandatory?: boolean;\n useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: 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 options?: MoveSdkOptions\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 options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(\n userId,\n accessToken,\n refreshToken,\n projectId\n );\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(\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 addTripStartListener(\n tripStartTriggered: (start: Date) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) =>\n\t tripStartTriggered(new Date(Number(start)))\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: (errors: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (warnings: WarningListType) => 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 addRemoteConfigChangeListener(\n configChangeReceived: (config: Array<IssueListService>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n\t\tconfigChangeReceived(config);\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 async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestDrawOverlaysPermission() 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 static startScanningDevices(\n sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void,\n filter: MoveSdkDeviceFilter[] = ['paired'],\n uuid?: string,\n manufacturerId?: number\n ): ListenerSubscription {\n const subscription = eventEmitter.addListener(\n 'MOVE_SDK_DEVICES',\n (devices) => {\n sdkDevicesDetected(devices);\n }\n );\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(\n onScanResult: (state: Array<MoveScanResult>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["default","LazyMoveSdk"],"mappings":"AAAA,cAAc,WAAd;AACA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASA,OAAO,IAAIC,WAApB,QAAuC,0BAAvC","sourcesContent":["export * from './MoveSdk';\nexport { default } from './MoveSdk';\nexport { default as LazyMoveSdk } from './components/LazyMoveSdk';\n"]}
@@ -0,0 +1,136 @@
1
+ import { EmitterSubscription } from 'react-native';
2
+ export type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';
3
+ export type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';
4
+ export type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';
5
+ export type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';
6
+ export type WalkingService = 'WALKING_LOCATION';
7
+ export type OtherService = 'POINTS_OF_INTEREST';
8
+ export type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';
9
+ export type ErrorReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'ACTIVITY_PERMISSION_MISSING' | 'BATTERY_PERMISSION_MISSING' | 'UNAUTHORIZED' | 'INTERNET_PERMISSION_MISSING' | 'PHONE_PERMISSION_MISSING' | 'OVERLAY_PERMISSION_MISSING' | 'NOTIFICATION_MISSING' | 'ACCELEROMETER_MISSING' | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING' | 'PRECISE_LOCATION_PERMISSION_MISSING';
10
+ export type WarningReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'ACTIVITY_PERMISSION_MISSING' | 'BATTERY_OPTIMIZATION' | 'BLUETOOTH_TURNED_OFF' | 'BLUETOOTH_SCAN_PERMISSION_MISSING' | 'BLUETOOTH_CONNECT_PERMISSION_MISSING' | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING' | 'NOTIFICATION_PERMISSION_MISSING' | 'FINE_LOCATION_PERMISSION_MISSING' | 'BLUETOOTH_PERMISSION_MISSING' | 'GPS_OFF' | 'OFFLINE';
11
+ export type IssueListService = TimelineDetectionService | DrivingService | WalkingService;
12
+ export type IssueListItem<ReasonsType> = {
13
+ reasons: Array<ReasonsType>;
14
+ service?: IssueListService;
15
+ };
16
+ export type ErrorListType = Array<IssueListItem<ErrorReasons>>;
17
+ export type WarningListType = Array<IssueListItem<WarningReasons>>;
18
+ export type ShutdownReturnType = 'NETWORK_ERROR' | 'SUCCESS' | 'UNINITIALIZED';
19
+ export type MoveSdkConfig = {
20
+ timelineDetectionServices: Array<TimelineDetectionService>;
21
+ drivingServices: Array<DrivingService>;
22
+ walkingServices: Array<WalkingService>;
23
+ };
24
+ export type MoveSdkDeviceDiscovery = {
25
+ startDelay?: number;
26
+ duration?: number;
27
+ interval?: number;
28
+ stopScanOnFirstDiscovered?: boolean;
29
+ };
30
+ export type MoveSdkOptions = {
31
+ motionPermissionMandatory?: boolean;
32
+ backgroundLocationPermissionMandatory?: boolean;
33
+ useBackendConfig?: boolean;
34
+ deviceDiscovery?: MoveSdkDeviceDiscovery;
35
+ };
36
+ export type MoveSdkAuth = {
37
+ userId: string;
38
+ accessToken: string;
39
+ refreshToken: string;
40
+ projectId: number;
41
+ };
42
+ export type NotificationConfig = {
43
+ title: string;
44
+ text: string;
45
+ channel: {
46
+ id: string;
47
+ name: string;
48
+ description: string;
49
+ };
50
+ };
51
+ export type MoveSdkAndroidConfig = {
52
+ notifications: {
53
+ recognitionNotification: NotificationConfig;
54
+ tripNotification: NotificationConfig;
55
+ };
56
+ };
57
+ export type ListenerSubscription = EmitterSubscription;
58
+ export type AuthStateEvent = {
59
+ state: AuthState;
60
+ accessToken?: string;
61
+ refreshToken?: string;
62
+ };
63
+ export type MoveSdkDeviceFilter = 'beacon' | 'paired';
64
+ export type MoveSdkDevice = {
65
+ name: string;
66
+ data: string;
67
+ id: string;
68
+ };
69
+ export type MoveScanResult = {
70
+ isDiscovered: boolean;
71
+ device: MoveSdkDevice;
72
+ name: string;
73
+ };
74
+ export default class MoveSdk {
75
+ static READY: SdkState;
76
+ static RUNNING: SdkState;
77
+ static UNINITIALIZED: SdkState;
78
+ static AUTH_EXPIRED: AuthState;
79
+ static AUTH_VALID: AuthState;
80
+ static AUTH_UNKNOWN: AuthState;
81
+ static AUTH_INVALID: AuthState;
82
+ static UNKNOWN: TripState;
83
+ static DRIVING: TripState;
84
+ static HALT: TripState;
85
+ static IDLE: TripState;
86
+ static IGNORED: TripState;
87
+ static sdkStateFromNative(sdkState: SdkState): SdkState;
88
+ static tripStateFromNative(nativeTripState: TripState): TripState;
89
+ static authStateFromNative(nativeAuthState: AuthState): AuthState;
90
+ static setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void>;
91
+ static allowMockLocations(allowMockLocations: boolean): void;
92
+ static init(): void;
93
+ static resolveError(): void;
94
+ static updateAuth(auth: MoveSdkAuth): Promise<void>;
95
+ static startAutomaticDetection(): void;
96
+ static stopAutomaticDetection(): void;
97
+ static forceTripRecognition(duration?: number): void;
98
+ static keepInForeground(enabled: boolean): void;
99
+ static keepActive(enabled: boolean): void;
100
+ static synchronizeUserData(): Promise<boolean>;
101
+ static getAuthState(): Promise<AuthState>;
102
+ static getState(): Promise<SdkState>;
103
+ static getTripState(): Promise<TripState>;
104
+ static getErrors(): Promise<ErrorListType>;
105
+ static getWarnings(): Promise<WarningListType>;
106
+ static initiateAssistanceCall(): Promise<boolean>;
107
+ static setAssistanceMetaData(data: string): void;
108
+ static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription;
109
+ static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription;
110
+ static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription;
111
+ static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription;
112
+ static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription;
113
+ static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription;
114
+ static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription;
115
+ static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription;
116
+ static version(): string;
117
+ static finishCurrentTrip(): void;
118
+ static ignoreCurrentTrip(): void;
119
+ static requestMotionPermission(): void;
120
+ static shutdown(force?: boolean): Promise<ShutdownReturnType>;
121
+ static getDeviceQualifier(): Promise<string | null>;
122
+ static geocode(latitude: number, longitude: number): Promise<string>;
123
+ static isAuthValid(): Promise<boolean>;
124
+ static canDrawOverlays(): Promise<boolean>;
125
+ static requestDrawOverlaysPermission(): void;
126
+ static isAppIgnoringBatteryOptimization(): Promise<boolean>;
127
+ static requestAppIgnoringBatteryOptimization(): void;
128
+ static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter?: MoveSdkDeviceFilter[], uuid?: string, manufacturerId?: number): ListenerSubscription;
129
+ static getRegisteredDevices(): Promise<Array<MoveSdkDevice>>;
130
+ static registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean>;
131
+ static unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean>;
132
+ static requestBluetoothAlwaysUsagePermission(): void;
133
+ static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription;
134
+ static setTimer(callback: () => void, delay?: number): string;
135
+ static cancelTimer(key: string): void;
136
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type LazyMoveSdkProps = {
3
+ children: React.ReactNode;
4
+ delayToRemoveUiInBackgroundMs?: number;
5
+ };
6
+ export default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs }: LazyMoveSdkProps): React.JSX.Element;
7
+ export {};
@@ -1,134 +1,3 @@
1
- import { EmitterSubscription } from 'react-native';
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' | 'INVALID';
5
- export declare type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';
6
- export declare type WalkingService = 'WALKING_LOCATION';
7
- export declare type OtherService = 'POINTS_OF_INTEREST';
8
- export declare type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';
9
- export declare type ErrorReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'ACTIVITY_PERMISSION_MISSING' | 'BATTERY_PERMISSION_MISSING' | 'UNAUTHORIZED' | 'INTERNET_PERMISSION_MISSING' | 'PHONE_PERMISSION_MISSING' | 'OVERLAY_PERMISSION_MISSING' | 'NOTIFICATION_MISSING' | 'ACCELEROMETER_MISSING' | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING' | 'PRECISE_LOCATION_PERMISSION_MISSING';
10
- export declare type WarningReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'ACTIVITY_PERMISSION_MISSING' | 'BATTERY_OPTIMIZATION' | 'BLUETOOTH_TURNED_OFF' | 'BLUETOOTH_SCAN_PERMISSION_MISSING' | 'BLUETOOTH_CONNECT_PERMISSION_MISSING' | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING' | 'NOTIFICATION_PERMISSION_MISSING' | 'FINE_LOCATION_PERMISSION_MISSING' | 'BLUETOOTH_PERMISSION_MISSING' | 'GPS_OFF' | 'OFFLINE';
11
- export declare type IssueListService = TimelineDetectionService | DrivingService | WalkingService;
12
- export declare type IssueListItem<ReasonsType> = {
13
- reasons: Array<ReasonsType>;
14
- service?: IssueListService;
15
- };
16
- export declare type ErrorListType = Array<IssueListItem<ErrorReasons>>;
17
- export declare type WarningListType = Array<IssueListItem<WarningReasons>>;
18
- export declare type ShutdownReturnType = 'NETWORK_ERROR' | 'SUCCESS' | 'UNINITIALIZED';
19
- export declare type MoveSdkConfig = {
20
- timelineDetectionServices: Array<TimelineDetectionService>;
21
- drivingServices: Array<DrivingService>;
22
- walkingServices: Array<WalkingService>;
23
- };
24
- export declare type MoveSdkDeviceDiscovery = {
25
- startDelay?: number;
26
- duration?: number;
27
- interval?: number;
28
- stopScanOnFirstDiscovered?: boolean;
29
- };
30
- export declare type MoveSdkOptions = {
31
- motionPermissionMandatory?: boolean;
32
- backgroundLocationPermissionMandatory?: boolean;
33
- overlayPermissionMandatory?: boolean;
34
- useBackendConfig?: boolean;
35
- deviceDiscovery?: MoveSdkDeviceDiscovery;
36
- };
37
- export declare type MoveSdkAuth = {
38
- userId: string;
39
- accessToken: string;
40
- refreshToken: string;
41
- projectId: number;
42
- };
43
- export declare type NotificationConfig = {
44
- title: string;
45
- text: string;
46
- channel: {
47
- id: string;
48
- name: string;
49
- description: string;
50
- };
51
- };
52
- export declare type MoveSdkAndroidConfig = {
53
- notifications: {
54
- recognitionNotification: NotificationConfig;
55
- tripNotification: NotificationConfig;
56
- };
57
- };
58
- export declare type ListenerSubscription = EmitterSubscription;
59
- export declare type AuthStateEvent = {
60
- state: AuthState;
61
- accessToken?: string;
62
- refreshToken?: string;
63
- };
64
- export declare type MoveSdkDeviceFilter = 'beacon' | 'paired';
65
- export declare type MoveSdkDevice = {
66
- name: string;
67
- data: string;
68
- id: string;
69
- };
70
- export declare type MoveScanResult = {
71
- isDiscovered: boolean;
72
- device: MoveSdkDevice;
73
- name: string;
74
- };
75
- export default class MoveSdk {
76
- static READY: SdkState;
77
- static RUNNING: SdkState;
78
- static UNINITIALIZED: SdkState;
79
- static AUTH_EXPIRED: AuthState;
80
- static AUTH_VALID: AuthState;
81
- static AUTH_UNKNOWN: AuthState;
82
- static UNKNOWN: TripState;
83
- static DRIVING: TripState;
84
- static HALT: TripState;
85
- static IDLE: TripState;
86
- static IGNORED: TripState;
87
- static sdkStateFromNative(sdkState: SdkState): SdkState;
88
- static tripStateFromNative(nativeTripState: TripState): TripState;
89
- static authStateFromNative(nativeAuthState: AuthState): AuthState;
90
- static setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void>;
91
- static allowMockLocations(allowMockLocations: boolean): void;
92
- static init(): void;
93
- static resolveError(): void;
94
- static updateAuth(auth: MoveSdkAuth): Promise<void>;
95
- static startAutomaticDetection(): void;
96
- static stopAutomaticDetection(): void;
97
- static forceTripRecognition(duration?: number): void;
98
- static keepInForeground(enabled: boolean): void;
99
- static keepActive(enabled: boolean): void;
100
- static synchronizeUserData(): Promise<boolean>;
101
- static getAuthState(): Promise<AuthState>;
102
- static getState(): Promise<SdkState>;
103
- static getTripState(): Promise<TripState>;
104
- static getErrors(): Promise<ErrorListType>;
105
- static getWarnings(): Promise<WarningListType>;
106
- static initiateAssistanceCall(): Promise<boolean>;
107
- static setAssistanceMetaData(data: string): void;
108
- static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription;
109
- static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription;
110
- static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription;
111
- static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription;
112
- static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription;
113
- static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription;
114
- static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription;
115
- static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription;
116
- static version(): string;
117
- static finishCurrentTrip(): void;
118
- static ignoreCurrentTrip(): void;
119
- static requestMotionPermission(): void;
120
- static shutdown(force?: boolean): Promise<ShutdownReturnType>;
121
- static getDeviceQualifier(): Promise<string | null>;
122
- static geocode(latitude: number, longitude: number): Promise<string>;
123
- static isAuthValid(): Promise<boolean>;
124
- static canDrawOverlays(): Promise<boolean>;
125
- static requestDrawOverlaysPermission(): void;
126
- static isAppIgnoringBatteryOptimization(): Promise<boolean>;
127
- static requestAppIgnoringBatteryOptimization(): void;
128
- static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter?: MoveSdkDeviceFilter[], uuid?: string, manufacturerId?: number): ListenerSubscription;
129
- static getRegisteredDevices(): Promise<Array<MoveSdkDevice>>;
130
- static registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean>;
131
- static unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean>;
132
- static requestBluetoothAlwaysUsagePermission(): void;
133
- static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription;
134
- }
1
+ export * from './MoveSdk';
2
+ export { default } from './MoveSdk';
3
+ export { default as LazyMoveSdk } from './components/LazyMoveSdk';