react-native-move-sdk 2.10.0 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/README.md +6 -3
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkModule.kt +4 -15
- package/android/src/main/java/in/dolph/move/sdk/NativeMoveSdkWrapper.kt +5 -3
- package/ios/NativeModule/MoveSdk.swift +19 -5
- package/lib/commonjs/MoveSdk.js +6 -0
- package/lib/commonjs/MoveSdk.js.map +1 -1
- package/lib/module/MoveSdk.js +6 -0
- package/lib/module/MoveSdk.js.map +1 -1
- package/lib/typescript/MoveSdk.d.ts +5 -0
- package/package.json +1 -1
- package/src/MoveSdk.ts +11 -0
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024 Dolphin Technologies
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -14,7 +14,7 @@ copies or substantial portions of the Software.
|
|
|
14
14
|
|
|
15
15
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
16
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# react-native-move-sdk
|
|
2
2
|
|
|
3
|
-
React Native library for MOVE SDK - please see https://docs.movesdk.com/move
|
|
3
|
+
React Native library for MOVE SDK - please see https://docs.movesdk.com/move-platform for features and details about the MOVE SDK.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -61,7 +61,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|
|
61
61
|
|
|
62
62
|
## Usage
|
|
63
63
|
|
|
64
|
-
See https://docs.movesdk.com/move/sdk
|
|
64
|
+
See https://docs.movesdk.com/move-platform/sdk/api-interface/react-native/intialization
|
|
65
65
|
|
|
66
66
|
```js
|
|
67
67
|
import MoveSdk from 'react-native-move-sdk';
|
|
@@ -107,7 +107,7 @@ MoveSdk.setup(CONFIG, auth, ANDROID_CONFIG)
|
|
|
107
107
|
|
|
108
108
|
# Methods
|
|
109
109
|
|
|
110
|
-
See: https://docs.movesdk.com/move/sdk
|
|
110
|
+
See: https://docs.movesdk.com/move-platform/sdk/api-interface/react-native/services
|
|
111
111
|
|
|
112
112
|
Required permissions description ios and android...
|
|
113
113
|
|
|
@@ -151,6 +151,9 @@ MoveSdk.addErrorsListener((errors: ErrorListType) => {
|
|
|
151
151
|
...
|
|
152
152
|
});
|
|
153
153
|
|
|
154
|
+
MoveSdk.addLogListener((log: MoveSdkLog) => {
|
|
155
|
+
...
|
|
156
|
+
});
|
|
154
157
|
```
|
|
155
158
|
|
|
156
159
|
## License
|
|
@@ -42,6 +42,7 @@ internal const val EVENT_MOVE_SDK_APP = "MOVE_SDK_APP_EVENT"
|
|
|
42
42
|
internal const val EVENT_MOVE_CONFIG_UPDATE = "MOVE_SDK_CONFIG_UPDATE"
|
|
43
43
|
internal const val EVENT_MOVE_SDK_TRIP_START = "MOVE_SDK_TRIP_START"
|
|
44
44
|
internal const val EVENT_MOVE_SDK_DEVICE_STATE = "MOVE_SDK_DEVICE_STATE"
|
|
45
|
+
internal const val EVENT_MOVE_SDK_LOG = "MOVE_SDK_LOG"
|
|
45
46
|
|
|
46
47
|
internal const val ARGUMENT_ACCESS_TOKEN = "accessToken"
|
|
47
48
|
internal const val ARGUMENT_REFRESH_TOKEN = "refreshToken"
|
|
@@ -199,20 +200,12 @@ class MoveSdkModule(context: ReactApplicationContext) : ReactContextBaseJavaModu
|
|
|
199
200
|
|
|
200
201
|
@ReactMethod
|
|
201
202
|
fun startAutomaticDetection(promise: Promise?) {
|
|
202
|
-
|
|
203
|
-
promise?.resolve(true)
|
|
204
|
-
} else {
|
|
205
|
-
promise?.reject(Throwable())
|
|
206
|
-
}
|
|
203
|
+
promise?.resolve(nativeSdkWrapper.startAutomaticDetection())
|
|
207
204
|
}
|
|
208
205
|
|
|
209
206
|
@ReactMethod
|
|
210
207
|
fun stopAutomaticDetection(promise: Promise?) {
|
|
211
|
-
|
|
212
|
-
promise?.resolve(true)
|
|
213
|
-
} else {
|
|
214
|
-
promise?.reject(Throwable())
|
|
215
|
-
}
|
|
208
|
+
promise?.resolve(nativeSdkWrapper.stopAutomaticDetection())
|
|
216
209
|
}
|
|
217
210
|
|
|
218
211
|
@ReactMethod
|
|
@@ -447,11 +440,7 @@ class MoveSdkModule(context: ReactApplicationContext) : ReactContextBaseJavaModu
|
|
|
447
440
|
@ReactMethod
|
|
448
441
|
fun startTrip(metadata: ReadableMap?, promise: Promise?) {
|
|
449
442
|
val metadataMap = metadata?.toHashMap()?.mapValues { it.value.toString() }
|
|
450
|
-
|
|
451
|
-
promise?.resolve(true)
|
|
452
|
-
} else {
|
|
453
|
-
promise?.reject(Throwable("Can't start manual trip"))
|
|
454
|
-
}
|
|
443
|
+
promise?.resolve(MoveSdk.get()?.startTrip(metadataMap) == true)
|
|
455
444
|
}
|
|
456
445
|
|
|
457
446
|
@ReactMethod
|
|
@@ -605,10 +605,12 @@ class NativeMoveSdkWrapper(private val context: Context) : MoveSdk.StateListener
|
|
|
605
605
|
}
|
|
606
606
|
|
|
607
607
|
override fun onLogReceived(eventName: String, value: String?) {
|
|
608
|
-
// TBD
|
|
609
608
|
val data = mutableMapOf<Any, Any>()
|
|
610
|
-
data[
|
|
611
|
-
|
|
609
|
+
data["message"] = eventName.trim()
|
|
610
|
+
value?.let {
|
|
611
|
+
data["value"] = it.trim()
|
|
612
|
+
}
|
|
613
|
+
emitDeviceEvent(EVENT_MOVE_SDK_LOG, data)
|
|
612
614
|
}
|
|
613
615
|
|
|
614
616
|
override fun onMoveError(serviceFailures: List<MoveServiceFailure>) {
|
|
@@ -469,7 +469,7 @@ class RCTMoveSdk: RCTEventEmitter {
|
|
|
469
469
|
if MoveSDK.shared.startAutomaticDetection() {
|
|
470
470
|
resolve(true)
|
|
471
471
|
} else {
|
|
472
|
-
|
|
472
|
+
resolve(false)
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
475
|
|
|
@@ -482,7 +482,7 @@ class RCTMoveSdk: RCTEventEmitter {
|
|
|
482
482
|
if MoveSDK.shared.setLiveLocationTag(tag) {
|
|
483
483
|
resolve(true)
|
|
484
484
|
} else {
|
|
485
|
-
|
|
485
|
+
resolve(false)
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
|
|
@@ -495,7 +495,7 @@ class RCTMoveSdk: RCTEventEmitter {
|
|
|
495
495
|
if MoveSDK.shared.startTrip(metadata: data) {
|
|
496
496
|
resolve(true)
|
|
497
497
|
} else {
|
|
498
|
-
|
|
498
|
+
resolve(false)
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
|
|
@@ -516,7 +516,7 @@ class RCTMoveSdk: RCTEventEmitter {
|
|
|
516
516
|
if MoveSDK.shared.stopAutomaticDetection() {
|
|
517
517
|
resolve(true)
|
|
518
518
|
} else {
|
|
519
|
-
|
|
519
|
+
resolve(false)
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
|
|
@@ -735,6 +735,8 @@ internal class MoveSDKLauncher {
|
|
|
735
735
|
case configUpdate = "MOVE_SDK_CONFIG_UPDATE"
|
|
736
736
|
/// SDK trip start event.
|
|
737
737
|
case tripStart = "MOVE_SDK_TRIP_START"
|
|
738
|
+
/// Log event.
|
|
739
|
+
case logEvent = "MOVE_SDK_LOG"
|
|
738
740
|
}
|
|
739
741
|
|
|
740
742
|
/// User defaults kets.
|
|
@@ -828,8 +830,20 @@ internal class MoveSDKLauncher {
|
|
|
828
830
|
self.tripMetaData = [:]
|
|
829
831
|
return metadata
|
|
830
832
|
}
|
|
833
|
+
|
|
834
|
+
sdk.setLogListener { (event, value) in
|
|
835
|
+
DispatchQueue.main.async {
|
|
836
|
+
var data: [String: Any] = ["message": event]
|
|
837
|
+
|
|
838
|
+
if let value = value {
|
|
839
|
+
data["value"] = value
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
self.send(event: .logEvent, data: data)
|
|
843
|
+
}
|
|
844
|
+
}
|
|
831
845
|
}
|
|
832
|
-
|
|
846
|
+
|
|
833
847
|
/// Send event to observer.
|
|
834
848
|
/// - Parameters:
|
|
835
849
|
/// - event: Event key.
|
package/lib/commonjs/MoveSdk.js
CHANGED
|
@@ -232,6 +232,12 @@ class MoveSdk {
|
|
|
232
232
|
});
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
static addLogListener(logReceived) {
|
|
236
|
+
return eventEmitter.addListener('MOVE_SDK_LOG', event => {
|
|
237
|
+
logReceived(event);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
|
|
235
241
|
static addRemoteConfigChangeListener(configChangeReceived) {
|
|
236
242
|
return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', config => {
|
|
237
243
|
configChangeReceived(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MoveSdk.ts"],"names":["MoveSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_INVALID","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","setupWithCode","code","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","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","addDeviceStateListener","setTimer","callback","delay","key","now","toString","cancelTimer","startTrip","metadata","updateConfig","setTripMetadata","setLiveLocationTag","tag"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform, EmitterSubscription } from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE'\n | 'GO_EDITION'\n | 'ROOTED'\n | 'NO_SIM'\n | 'BACKGROUND_RESTRICTED'\n | 'MOCK_PROVIDER_LOCATION'\n | 'MOCK_PROVIDER'\n | 'LOCATION_MODE'\n | 'PLAY_SERVICES_MISSING'\n | 'LOCATION_POWER_MODE(0)'\n | 'LOCATION_POWER_MODE(1)'\n | 'LOCATION_POWER_MODE(2)'\n | 'LOCATION_POWER_MODE(3)'\n | 'LOCATION_POWER_MODE(4)';\n\nexport type IssueListService = TimelineDetectionService | DrivingService | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type 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 isConnected?: boolean;\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 static AUTH_INVALID: AuthState = 'INVALID';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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 async setupWithCode(code:string, config: MoveSdkConfig, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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.setupWithCode(\n code,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static async startAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.startAutomaticDetection();\n }\n\n static async stopAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));\n }\n\n static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) => tripStartTriggered(new Date(Number(start))));\n }\n\n static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n configChangeReceived(config);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = ['paired'], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', (devices) => {\n sdkDevicesDetected(devices);\n });\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n\n static addDeviceStateListener(onScanResult: (results: Array<MoveSdkDevice>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', results => {\n onScanResult(results);\n });\n }\n\n static setTimer(callback: () => void, delay: number = 60000): string {\n if (Platform.OS === 'android') {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n } else {\n console.warn('MoveSdk.setTimer() is Android OS only.');\n return '';\n }\n }\n\n static cancelTimer(key: string) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.cancelTimer(key);\n } else {\n console.warn('MoveSdk.cancelTimer() is Android OS only.');\n }\n }\n\n static async startTrip(metadata?: { [key: string]: string }): Promise<boolean> {\n return await NativeMoveSdk.startTrip(metadata);\n }\n\n static updateConfig(config: MoveSdkConfig) {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices);\n }\n\n static setTripMetadata(metadata?: {[key: string]: string}) {\n NativeMoveSdk.setTripMetadata(metadata);\n }\n\n static async setLiveLocationTag(tag?: string): Promise<boolean> {\n return await NativeMoveSdk.setLiveLocationTag(tag);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["MoveSdk.ts"],"names":["MoveSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_INVALID","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","setupWithCode","code","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","addLogListener","logReceived","addRemoteConfigChangeListener","configChangeReceived","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","addDeviceStateListener","setTimer","callback","delay","key","now","toString","cancelTimer","startTrip","metadata","updateConfig","setTripMetadata","setLiveLocationTag","tag"],"mappings":";;;;;;;AAAA;;;;AAuIA,MAAM;AAAEA,EAAAA,OAAO,EAAEC;AAAX,IAA6BC,0BAAnC;AACA,MAAMC,YAAY,GAAG,IAAIC,+BAAJ,CAAuBH,aAAvB,CAArB;;AAEe,MAAMD,OAAN,CAAc;AAgBF,SAAlBK,kBAAkB,CAACC,QAAD,EAA+B;AACtD,QAAI,CAACN,OAAO,CAACO,aAAT,EAAwBP,OAAO,CAACQ,KAAhC,EAAuCR,OAAO,CAACS,OAA/C,EAAwDT,OAAO,CAACO,aAAhE,EAA+EG,QAA/E,CAAwFJ,QAAxF,CAAJ,EAAuG;AACrG,aAAOA,QAAP;AACD;;AAED,WAAON,OAAO,CAACO,aAAf;AACD;;AAEyB,SAAnBI,mBAAmB,CAACC,eAAD,EAAwC;AAChE,QAAI,CAACZ,OAAO,CAACa,OAAT,EAAkBb,OAAO,CAACc,OAA1B,EAAmCd,OAAO,CAACe,IAA3C,EAAiDf,OAAO,CAACgB,IAAzD,EAA+DhB,OAAO,CAACiB,OAAvE,EAAgFP,QAAhF,CAAyFE,eAAzF,CAAJ,EAA+G;AAC7G,aAAOA,eAAP;AACD;;AAED,WAAOZ,OAAO,CAACa,OAAf;AACD;;AAEyB,SAAnBK,mBAAmB,CAACC,eAAD,EAAwC;AAChE,QAAI,CAACnB,OAAO,CAACoB,UAAT,EAAqBpB,OAAO,CAACqB,YAA7B,EAA2CrB,OAAO,CAACsB,YAAnD,EAAiEZ,QAAjE,CAA0ES,eAA1E,CAAJ,EAAgG;AAC9F,aAAOA,eAAP;AACD;;AAED,WAAOnB,OAAO,CAACuB,YAAf;AACD;;AAEiB,eAALC,KAAK,CAACC,MAAD,EAAwBC,IAAxB,EAA2CC,OAA3C,EAA0EC,OAA1E,EAAmH;AACnI,UAAM;AAAEC,MAAAA,yBAAF;AAA6BC,MAAAA,eAA7B;AAA8CC,MAAAA;AAA9C,QAAkEN,MAAxE;AAEA,UAAM;AAAEO,MAAAA,MAAF;AAAUC,MAAAA,SAAV;AAAqBC,MAAAA,WAArB;AAAkCC,MAAAA;AAAlC,QAAmDT,IAAzD;AAEA,QAAIU,cAAuC,GAAG,EAA9C;;AACA,QAAIC,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAM;AAAEC,QAAAA;AAAF,UAAoBZ,OAA1B;AAEA,YAAM;AAAEa,QAAAA,gBAAF;AAAoBC,QAAAA;AAApB,UAAgDF,aAAtD;;AAEA,UAAI,CAACC,gBAAD,IAAqB,CAACC,uBAA1B,EAAmD;AACjD,cAAM,IAAIC,KAAJ,CAAU,uDAAV,CAAN;AACD;;AAEDN,MAAAA,cAAc,GAAG,CACfK,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,MAAM/C,aAAa,CAACuB,KAAd,CACXQ,MADW,EAEXE,WAFW,EAGXC,YAHW,EAIXF,SAJW,EAKX;AACAJ,IAAAA,yBANW,EAOXC,eAPW,EAQXC,eARW,EASXH,OATW,EAUX;AACA,OAAGQ,cAXQ,CAAb;AAaD;;AAEyB,eAAba,aAAa,CAACC,IAAD,EAAczB,MAAd,EAAqCE,OAArC,EAAoEC,OAApE,EAA6G;AACrI,UAAM;AAAEC,MAAAA,yBAAF;AAA6BC,MAAAA,eAA7B;AAA8CC,MAAAA;AAA9C,QAAkEN,MAAxE;AAEA,QAAIW,cAAuC,GAAG,EAA9C;;AACA,QAAIC,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAM;AAAEC,QAAAA;AAAF,UAAoBZ,OAA1B;AAEA,YAAM;AAAEa,QAAAA,gBAAF;AAAoBC,QAAAA;AAApB,UAAgDF,aAAtD;;AAEA,UAAI,CAACC,gBAAD,IAAqB,CAACC,uBAA1B,EAAmD;AACjD,cAAM,IAAIC,KAAJ,CAAU,uDAAV,CAAN;AACD;;AAEDN,MAAAA,cAAc,GAAG,CACfK,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,MAAM/C,aAAa,CAACgD,aAAd,CACXC,IADW,EAEX;AACArB,IAAAA,yBAHW,EAIXC,eAJW,EAKXC,eALW,EAMXH,OANW,EAOX;AACA,OAAGQ,cARQ,CAAb;AAUD;;AAEwB,SAAlBe,kBAAkB,CAACA,kBAAD,EAA8B;AACrDlD,IAAAA,aAAa,CAACkD,kBAAd,CAAiCA,kBAAjC;AACD;AAED;;;AACW,SAAJC,IAAI,GAAG;AACZnD,IAAAA,aAAa,CAACmD,IAAd;AACD;;AAEkB,SAAZC,YAAY,GAAG;AACpBpD,IAAAA,aAAa,CAACoD,YAAd;AACD;;AAEsB,eAAVC,UAAU,CAAC5B,IAAD,EAAmC;AACxD,UAAM;AAAEM,MAAAA,MAAF;AAAUC,MAAAA,SAAV;AAAqBC,MAAAA,WAArB;AAAkCC,MAAAA;AAAlC,QAAmDT,IAAzD;AACA,WAAO,MAAMzB,aAAa,CAACqD,UAAd,CAAyBtB,MAAzB,EAAiCE,WAAjC,EAA8CC,YAA9C,EAA4DF,SAA5D,CAAb;AACD;;AAEmC,eAAvBsB,uBAAuB,GAAqB;AACvD,WAAO,MAAMtD,aAAa,CAACsD,uBAAd,EAAb;AACD;;AAEkC,eAAtBC,sBAAsB,GAAqB;AACtD,WAAO,MAAMvD,aAAa,CAACuD,sBAAd,EAAb;AACD;;AAE0B,SAApBC,oBAAoB,GAA2B;AAAA,QAA1BC,QAA0B,uEAAP,KAAO;AACpDzD,IAAAA,aAAa,CAACwD,oBAAd,CAAmCC,QAAnC;AACD;;AAEsB,SAAhBC,gBAAgB,CAACC,OAAD,EAAmB;AACxC,QAAIvB,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BrC,MAAAA,aAAa,CAAC0D,gBAAd,CAA+BC,OAA/B;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAAb;AACD;AACF;;AAEgB,SAAVC,UAAU,CAACH,OAAD,EAAmB;AAClC,QAAIvB,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BrC,MAAAA,aAAa,CAAC8D,UAAd,CAAyBH,OAAzB;AACD,KAFD,MAEO;AACLC,MAAAA,OAAO,CAACC,IAAR,CAAa,0CAAb;AACD;AACF;;AAE+B,eAAnBE,mBAAmB,GAAqB;AACnD,WAAO,MAAM/D,aAAa,CAAC+D,mBAAd,EAAb;AACD;;AAEwB,eAAZC,YAAY,GAAuB;AAC9C,UAAMC,SAAS,GAAG,MAAMjE,aAAa,CAACgE,YAAd,EAAxB;AACA,WAAOjE,OAAO,CAACkB,mBAAR,CAA4BgD,SAA5B,CAAP;AACD;;AAEoB,eAARC,QAAQ,GAAsB;AACzC,UAAMC,KAAK,GAAG,MAAMnE,aAAa,CAACkE,QAAd,EAApB;AACA,WAAOnE,OAAO,CAACK,kBAAR,CAA2B+D,KAA3B,CAAP;AACD;;AAEwB,eAAZC,YAAY,GAAuB;AAC9C,UAAMC,SAAS,GAAG,MAAMrE,aAAa,CAACoE,YAAd,EAAxB;AACA,WAAOrE,OAAO,CAACW,mBAAR,CAA4B2D,SAA5B,CAAP;AACD;;AAEqB,eAATC,SAAS,GAA2B;AAC/C,WAAO,MAAMtE,aAAa,CAACsE,SAAd,EAAb;AACD;;AAEuB,eAAXC,WAAW,GAA6B;AACnD,WAAO,MAAMvE,aAAa,CAACuE,WAAd,EAAb;AACD;;AAEkC,eAAtBC,sBAAsB,GAAqB;AACtD,WAAO,MAAMxE,aAAa,CAACwE,sBAAd,EAAb;AACD;;AAE2B,SAArBC,qBAAqB,CAACC,IAAD,EAAe;AACzC1E,IAAAA,aAAa,CAACyE,qBAAd,CAAoCC,IAApC;AACD;;AAE0B,SAApBC,oBAAoB,CAACC,gBAAD,EAAqE;AAC9F,WAAO1E,YAAY,CAAC2E,WAAb,CAAyB,qBAAzB,EAAiDC,KAAD,IAAWF,gBAAgB,CAAC7E,OAAO,CAACW,mBAAR,CAA4BoE,KAAK,CAACX,KAAlC,CAAD,CAA3E,CAAP;AACD;;AAE0B,SAApBY,oBAAoB,CAACC,kBAAD,EAAkE;AAC3F,WAAO9E,YAAY,CAAC2E,WAAb,CAAyB,qBAAzB,EAAiDI,KAAD,IAAWD,kBAAkB,CAAC,IAAIE,IAAJ,CAASC,MAAM,CAACF,KAAD,CAAf,CAAD,CAA7E,CAAP;AACD;;AAEyB,SAAnBG,mBAAmB,CAACC,eAAD,EAAmE;AAC3F,WAAOnF,YAAY,CAAC2E,WAAb,CAAyB,gBAAzB,EAA4CC,KAAD,IAAW;AAC3DO,MAAAA,eAAe,CAACtF,OAAO,CAACK,kBAAR,CAA2B0E,KAAK,CAACX,KAAjC,CAAD,CAAf;AACD,KAFM,CAAP;AAGD;;AAE0B,SAApBmB,oBAAoB,CAACC,gBAAD,EAA0E;AACnG,WAAOrF,YAAY,CAAC2E,WAAb,CAAyB,qBAAzB,EAAiDC,KAAD,IAAW;AAChE,YAAMU,gBAAgB,GAAG,EACvB,GAAGV,KADoB;AAEvBX,QAAAA,KAAK,EAAEpE,OAAO,CAACkB,mBAAR,CAA4B6D,KAAK,CAACX,KAAlC;AAFgB,OAAzB;AAIAoB,MAAAA,gBAAgB,CAACC,gBAAD,CAAhB;AACD,KANM,CAAP;AAOD;;AAEuB,SAAjBC,iBAAiB,CAACC,cAAD,EAAwE;AAC9F,WAAOxF,YAAY,CAAC2E,WAAb,CAAyB,iBAAzB,EAA6CC,KAAD,IAAW;AAC5DY,MAAAA,cAAc,CAACZ,KAAK,CAACa,MAAP,CAAd;AACD,KAFM,CAAP;AAGD;;AAEyB,SAAnBC,mBAAmB,CAACC,gBAAD,EAA8E;AACtG,WAAO3F,YAAY,CAAC2E,WAAb,CAAyB,mBAAzB,EAA+CC,KAAD,IAAW;AAC9De,MAAAA,gBAAgB,CAACf,KAAK,CAACgB,QAAP,CAAhB;AACD,KAFM,CAAP;AAGD;;AAEyB,SAAnBC,mBAAmB,CAACC,gBAAD,EAAkE;AAC1F,WAAO9F,YAAY,CAAC2E,WAAb,CAAyB,oBAAzB,EAAgDC,KAAD,IAAW;AAC/DkB,MAAAA,gBAAgB,CAAClB,KAAD,CAAhB;AACD,KAFM,CAAP;AAGD;;AAEoB,SAAdmB,cAAc,CAACC,WAAD,EAAiE;AACpF,WAAOhG,YAAY,CAAC2E,WAAb,CAAyB,cAAzB,EAA0CC,KAAD,IAAW;AAC7DoB,MAAAA,WAAW,CAACpB,KAAD,CAAX;AACG,KAFM,CAAP;AAGD;;AAEmC,SAA7BqB,6BAA6B,CAACC,oBAAD,EAAwF;AAC1H,WAAOlG,YAAY,CAAC2E,WAAb,CAAyB,wBAAzB,EAAoDrD,MAAD,IAAY;AACpE4E,MAAAA,oBAAoB,CAAC5E,MAAD,CAApB;AACD,KAFM,CAAP;AAGD;;AAEa,SAAP6E,OAAO,GAAW;AACvB,WAAOjE,sBAASC,EAAT,KAAgB,SAAhB,GAA4BrC,aAAa,CAACsG,YAAd,GAA6BD,OAAzD,GAAmE,SAA1E;AACD;;AAEuB,SAAjBE,iBAAiB,GAAG;AACzBvG,IAAAA,aAAa,CAACuG,iBAAd;AACD;;AAEuB,SAAjBC,iBAAiB,GAAG;AACzBxG,IAAAA,aAAa,CAACwG,iBAAd;AACD;;AAE6B,SAAvBC,uBAAuB,GAAG;AAC/B,QAAIrE,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzBrC,MAAAA,aAAa,CAACyG,uBAAd;AACD,KAFD,MAEO;AACL7C,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAAb;AACD;AACF;;AAEoB,eAAR6C,QAAQ,GAAqD;AAAA,QAApDC,KAAoD,uEAAnC,IAAmC;AACxE,WAAO,MAAM3G,aAAa,CAAC0G,QAAd,CAAuBC,KAAvB,CAAb;AACD;;AAE8B,eAAlBC,kBAAkB,GAA2B;AACxD,WAAO5G,aAAa,CAAC4G,kBAAd,EAAP;AACD;;AAEmB,eAAPC,OAAO,CAACC,QAAD,EAAmBC,SAAnB,EAAuD;AACzE,WAAO,MAAM/G,aAAa,CAAC6G,OAAd,CAAsBC,QAAtB,EAAgCC,SAAhC,CAAb;AACD;;AAEuB,eAAXC,WAAW,GAAqB;AAC3C,WAAO,MAAMhH,aAAa,CAACgH,WAAd,EAAb;AACD,GApS0B,CAsS3B;;;AAE4B,eAAfC,eAAe,GAAqB;AAC/C,WAAO,MAAMjH,aAAa,CAACiH,eAAd,EAAb;AACD;;AAEmC,SAA7BC,6BAA6B,GAAG;AACrC,QAAI9E,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BrC,MAAAA,aAAa,CAACkH,6BAAd;AACD,KAFD,MAEO;AACLtD,MAAAA,OAAO,CAACC,IAAR,CAAa,6DAAb;AACD;AACF;;AAE4C,eAAhCsD,gCAAgC,GAAqB;AAChE,WAAO,MAAMnH,aAAa,CAACmH,gCAAd,EAAb;AACD;;AAE2C,SAArCC,qCAAqC,GAAG;AAC7C,QAAIhF,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BrC,MAAAA,aAAa,CAACoH,qCAAd;AACD,KAFD,MAEO;AACLxD,MAAAA,OAAO,CAACC,IAAR,CAAa,qEAAb;AACD;AACF,GA9T0B,CAgU3B;;;AAE2B,SAApBwD,oBAAoB,CAACC,kBAAD,EAAsK;AAAA,QAA1GC,MAA0G,uEAA1E,CAAC,QAAD,CAA0E;AAAA,QAA9DC,IAA8D;AAAA,QAA/CC,cAA+C;AAC/L,UAAMC,YAAY,GAAGxH,YAAY,CAAC2E,WAAb,CAAyB,kBAAzB,EAA8C8C,OAAD,IAAa;AAC7EL,MAAAA,kBAAkB,CAACK,OAAD,CAAlB;AACD,KAFoB,CAArB;AAGA,UAAMC,kBAAkB,GAAGF,YAAY,CAACG,MAAxC;;AACAH,IAAAA,YAAY,CAACG,MAAb,GAAsB,MAAM;AAC1B7H,MAAAA,aAAa,CAAC8H,mBAAd;AACAF,MAAAA,kBAAkB;AACnB,KAHD;;AAKA5H,IAAAA,aAAa,CAACqH,oBAAd,CAAmCE,MAAnC,EAA2CC,IAA3C,EAAiDC,cAAjD,aAAiDA,cAAjD,cAAiDA,cAAjD,GAAmE,CAAC,CAApE;AACA,WAAOC,YAAP;AACD;;AAEgC,eAApBK,oBAAoB,GAAkC;AACjE,WAAO,MAAM/H,aAAa,CAAC+H,oBAAd,EAAb;AACD;;AAE2B,eAAfC,eAAe,CAACL,OAAD,EAAkD;AAC5E,WAAO,MAAM3H,aAAa,CAACgI,eAAd,CAA8BL,OAA9B,CAAb;AACD;;AAE6B,eAAjBM,iBAAiB,CAACN,OAAD,EAAkD;AAC9E,WAAO,MAAM3H,aAAa,CAACiI,iBAAd,CAAgCN,OAAhC,CAAb;AACD;;AAE2C,SAArCO,qCAAqC,GAAS;AACnDlI,IAAAA,aAAa,CAACkI,qCAAd;AACD;;AAEgC,SAA1BC,0BAA0B,CAACC,YAAD,EAA6E;AAC5G,WAAOlI,YAAY,CAAC2E,WAAb,CAAyB,sBAAzB,EAAkDwD,OAAD,IAAa;AACnED,MAAAA,YAAY,CAACC,OAAD,CAAZ;AACD,KAFM,CAAP;AAGD;;AAE4B,SAAtBC,sBAAsB,CAACF,YAAD,EAA8E;AACzG,WAAOlI,YAAY,CAAC2E,WAAb,CAAyB,uBAAzB,EAAkDwD,OAAO,IAAI;AAClED,MAAAA,YAAY,CAACC,OAAD,CAAZ;AACD,KAFM,CAAP;AAGD;;AAEc,SAARE,QAAQ,CAACC,QAAD,EAAsD;AAAA,QAA/BC,KAA+B,uEAAf,KAAe;;AACnE,QAAIrG,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAMqG,GAAG,GAAGxD,IAAI,CAACyD,GAAL,GAAWC,QAAX,EAAZ;AACA5I,MAAAA,aAAa,CAACuI,QAAd,CAAuBE,KAAvB,EAA8BC,GAA9B,EAAmCF,QAAnC;AACA,aAAOE,GAAP;AACD,KAJD,MAIO;AACL9E,MAAAA,OAAO,CAACC,IAAR,CAAa,wCAAb;AACA,aAAO,EAAP;AACD;AACF;;AAEiB,SAAXgF,WAAW,CAACH,GAAD,EAAc;AAC9B,QAAItG,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BrC,MAAAA,aAAa,CAAC6I,WAAd,CAA0BH,GAA1B;AACD,KAFD,MAEO;AACL9E,MAAAA,OAAO,CAACC,IAAR,CAAa,2CAAb;AACD;AACF;;AAEqB,eAATiF,SAAS,CAACC,QAAD,EAAyD;AAC7E,WAAO,MAAM/I,aAAa,CAAC8I,SAAd,CAAwBC,QAAxB,CAAb;AACD;;AAEkB,SAAZC,YAAY,CAACxH,MAAD,EAAwB;AACzC,UAAM;AAAEI,MAAAA,yBAAF;AAA6BC,MAAAA,eAA7B;AAA8CC,MAAAA;AAA9C,QAAkEN,MAAxE;AACAxB,IAAAA,aAAa,CAACgJ,YAAd,CAA2BpH,yBAA3B,EAAsDC,eAAtD,EAAuEC,eAAvE;AACD;;AAEqB,SAAfmH,eAAe,CAACF,QAAD,EAAqC;AACzD/I,IAAAA,aAAa,CAACiJ,eAAd,CAA8BF,QAA9B;AACD;;AAE8B,eAAlBG,kBAAkB,CAACC,GAAD,EAAiC;AAC9D,WAAO,MAAMnJ,aAAa,CAACkJ,kBAAd,CAAiCC,GAAjC,CAAb;AACD;;AA9Y0B;;;;gBAARpJ,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,kBAQc,S;;gBARdA,O,aAUS,S;;gBAVTA,O,aAWS,S;;gBAXTA,O,UAYM,M;;gBAZNA,O,UAaM,M;;gBAbNA,O,aAcS,S","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform, EmitterSubscription } from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE'\n | 'GO_EDITION'\n | 'ROOTED'\n | 'NO_SIM'\n | 'BACKGROUND_RESTRICTED'\n | 'MOCK_PROVIDER_LOCATION'\n | 'MOCK_PROVIDER'\n | 'LOCATION_MODE'\n | 'PLAY_SERVICES_MISSING'\n | 'LOCATION_POWER_MODE(0)'\n | 'LOCATION_POWER_MODE(1)'\n | 'LOCATION_POWER_MODE(2)'\n | 'LOCATION_POWER_MODE(3)'\n | 'LOCATION_POWER_MODE(4)';\n\nexport type IssueListService = TimelineDetectionService | DrivingService | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type 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 isConnected?: boolean;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nexport type MoveSdkLog = {\n message: string;\n value?: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n static AUTH_INVALID: AuthState = 'INVALID';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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 async setupWithCode(code:string, config: MoveSdkConfig, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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.setupWithCode(\n code,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static async startAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.startAutomaticDetection();\n }\n\n static async stopAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));\n }\n\n static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) => tripStartTriggered(new Date(Number(start))));\n }\n\n static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static addLogListener(logReceived: (event: MoveSdkLog) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_LOG', (event) => {\n\t\tlogReceived(event);\n });\n }\n\n static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n configChangeReceived(config);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = ['paired'], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', (devices) => {\n sdkDevicesDetected(devices);\n });\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n\n static addDeviceStateListener(onScanResult: (results: Array<MoveSdkDevice>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', results => {\n onScanResult(results);\n });\n }\n\n static setTimer(callback: () => void, delay: number = 60000): string {\n if (Platform.OS === 'android') {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n } else {\n console.warn('MoveSdk.setTimer() is Android OS only.');\n return '';\n }\n }\n\n static cancelTimer(key: string) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.cancelTimer(key);\n } else {\n console.warn('MoveSdk.cancelTimer() is Android OS only.');\n }\n }\n\n static async startTrip(metadata?: { [key: string]: string }): Promise<boolean> {\n return await NativeMoveSdk.startTrip(metadata);\n }\n\n static updateConfig(config: MoveSdkConfig) {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices);\n }\n\n static setTripMetadata(metadata?: {[key: string]: string}) {\n NativeMoveSdk.setTripMetadata(metadata);\n }\n\n static async setLiveLocationTag(tag?: string): Promise<boolean> {\n return await NativeMoveSdk.setLiveLocationTag(tag);\n }\n}\n"]}
|
package/lib/module/MoveSdk.js
CHANGED
|
@@ -223,6 +223,12 @@ export default class MoveSdk {
|
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
static addLogListener(logReceived) {
|
|
227
|
+
return eventEmitter.addListener('MOVE_SDK_LOG', event => {
|
|
228
|
+
logReceived(event);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
226
232
|
static addRemoteConfigChangeListener(configChangeReceived) {
|
|
227
233
|
return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', config => {
|
|
228
234
|
configChangeReceived(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MoveSdk.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_INVALID","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","setupWithCode","code","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","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","addDeviceStateListener","setTimer","callback","delay","key","now","toString","cancelTimer","startTrip","metadata","updateConfig","setTripMetadata","setLiveLocationTag","tag"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform, EmitterSubscription } from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE'\n | 'GO_EDITION'\n | 'ROOTED'\n | 'NO_SIM'\n | 'BACKGROUND_RESTRICTED'\n | 'MOCK_PROVIDER_LOCATION'\n | 'MOCK_PROVIDER'\n | 'LOCATION_MODE'\n | 'PLAY_SERVICES_MISSING'\n | 'LOCATION_POWER_MODE(0)'\n | 'LOCATION_POWER_MODE(1)'\n | 'LOCATION_POWER_MODE(2)'\n | 'LOCATION_POWER_MODE(3)'\n | 'LOCATION_POWER_MODE(4)';\n\nexport type IssueListService = TimelineDetectionService | DrivingService | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type 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 isConnected?: boolean;\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 static AUTH_INVALID: AuthState = 'INVALID';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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 async setupWithCode(code:string, config: MoveSdkConfig, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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.setupWithCode(\n code,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static async startAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.startAutomaticDetection();\n }\n\n static async stopAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));\n }\n\n static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) => tripStartTriggered(new Date(Number(start))));\n }\n\n static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n configChangeReceived(config);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = ['paired'], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', (devices) => {\n sdkDevicesDetected(devices);\n });\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n\n static addDeviceStateListener(onScanResult: (results: Array<MoveSdkDevice>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', results => {\n onScanResult(results);\n });\n }\n\n static setTimer(callback: () => void, delay: number = 60000): string {\n if (Platform.OS === 'android') {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n } else {\n console.warn('MoveSdk.setTimer() is Android OS only.');\n return '';\n }\n }\n\n static cancelTimer(key: string) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.cancelTimer(key);\n } else {\n console.warn('MoveSdk.cancelTimer() is Android OS only.');\n }\n }\n\n static async startTrip(metadata?: { [key: string]: string }): Promise<boolean> {\n return await NativeMoveSdk.startTrip(metadata);\n }\n\n static updateConfig(config: MoveSdkConfig) {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices);\n }\n\n static setTripMetadata(metadata?: {[key: string]: string}) {\n NativeMoveSdk.setTripMetadata(metadata);\n }\n\n static async setLiveLocationTag(tag?: string): Promise<boolean> {\n return await NativeMoveSdk.setLiveLocationTag(tag);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["MoveSdk.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_INVALID","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","setupWithCode","code","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","addLogListener","logReceived","addRemoteConfigChangeListener","configChangeReceived","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","addDeviceStateListener","setTimer","callback","delay","key","now","toString","cancelTimer","startTrip","metadata","updateConfig","setTripMetadata","setLiveLocationTag","tag"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform, EmitterSubscription } from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'WALKING_LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PLACES' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_PERMISSION_MISSING'\n | 'UNAUTHORIZED'\n | 'INTERNET_PERMISSION_MISSING'\n | 'PHONE_PERMISSION_MISSING'\n | 'OVERLAY_PERMISSION_MISSING'\n | 'NOTIFICATION_MISSING'\n | 'ACCELEROMETER_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'PRECISE_LOCATION_PERMISSION_MISSING';\n\nexport type WarningReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BLUETOOTH_TURNED_OFF'\n | 'BLUETOOTH_SCAN_PERMISSION_MISSING'\n | 'BLUETOOTH_CONNECT_PERMISSION_MISSING'\n | 'GOOGLE_PLAY_LOCATION_ACCURACY_MISSING'\n | 'NOTIFICATION_PERMISSION_MISSING'\n | 'FINE_LOCATION_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING'\n | 'GPS_OFF'\n | 'OFFLINE'\n | 'GO_EDITION'\n | 'ROOTED'\n | 'NO_SIM'\n | 'BACKGROUND_RESTRICTED'\n | 'MOCK_PROVIDER_LOCATION'\n | 'MOCK_PROVIDER'\n | 'LOCATION_MODE'\n | 'PLAY_SERVICES_MISSING'\n | 'LOCATION_POWER_MODE(0)'\n | 'LOCATION_POWER_MODE(1)'\n | 'LOCATION_POWER_MODE(2)'\n | 'LOCATION_POWER_MODE(3)'\n | 'LOCATION_POWER_MODE(4)';\n\nexport type IssueListService = TimelineDetectionService | DrivingService | WalkingService;\n\nexport type IssueListItem<ReasonsType> = {\n reasons: Array<ReasonsType>;\n service?: IssueListService;\n};\n\nexport type ErrorListType = Array<IssueListItem<ErrorReasons>>;\n\nexport type WarningListType = Array<IssueListItem<WarningReasons>>;\n\nexport type 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 isConnected?: boolean;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nexport type MoveSdkLog = {\n message: string;\n value?: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n static AUTH_INVALID: AuthState = 'INVALID';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([MoveSdk.UNINITIALIZED, MoveSdk.READY, MoveSdk.RUNNING, MoveSdk.UNINITIALIZED].includes(sdkState)) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if ([MoveSdk.UNKNOWN, MoveSdk.DRIVING, MoveSdk.HALT, MoveSdk.IDLE, MoveSdk.IGNORED].includes(nativeTripState)) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(config: MoveSdkConfig, auth: MoveSdkAuth, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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 async setupWithCode(code:string, config: MoveSdkConfig, android: MoveSdkAndroidConfig, options?: MoveSdkOptions): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error('MOVE SDK needs notification configuration for Android');\n }\n\n platformParams = [\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.setupWithCode(\n code,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(userId, accessToken, refreshToken, projectId);\n }\n\n static async startAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.startAutomaticDetection();\n }\n\n static async stopAutomaticDetection(): Promise<boolean> {\n return await NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(tripStateChanged: (state: TripState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) => tripStateChanged(MoveSdk.tripStateFromNative(event.state)));\n }\n\n static addTripStartListener(tripStartTriggered: (start: Date) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_START', (start) => tripStartTriggered(new Date(Number(start))));\n }\n\n static addSdkStateListener(sdkStateChanged: (state: SdkState) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(authStateChanged: (event: AuthStateEvent) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static addLogListener(logReceived: (event: MoveSdkLog) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_LOG', (event) => {\n\t\tlogReceived(event);\n });\n }\n\n static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {\n configChangeReceived(config);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android' ? NativeMoveSdk.getConstants().version : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static async getDeviceQualifier(): Promise<string | null> {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn('MoveSdk.requestDrawOverlaysPermission() is Android OS only.');\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn('MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.');\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = ['paired'], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener('MOVE_SDK_DEVICES', (devices) => {\n sdkDevicesDetected(devices);\n });\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n return await NativeMoveSdk.getRegisteredDevices();\n }\n\n static async registerDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.registerDevices(devices);\n }\n\n static async unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean> {\n return await NativeMoveSdk.unregisterDevices(devices);\n }\n\n static requestBluetoothAlwaysUsagePermission(): void {\n NativeMoveSdk.requestBluetoothAlwaysUsagePermission();\n }\n\n static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n\n static addDeviceStateListener(onScanResult: (results: Array<MoveSdkDevice>) => void): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_DEVICE_STATE', results => {\n onScanResult(results);\n });\n }\n\n static setTimer(callback: () => void, delay: number = 60000): string {\n if (Platform.OS === 'android') {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n } else {\n console.warn('MoveSdk.setTimer() is Android OS only.');\n return '';\n }\n }\n\n static cancelTimer(key: string) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.cancelTimer(key);\n } else {\n console.warn('MoveSdk.cancelTimer() is Android OS only.');\n }\n }\n\n static async startTrip(metadata?: { [key: string]: string }): Promise<boolean> {\n return await NativeMoveSdk.startTrip(metadata);\n }\n\n static updateConfig(config: MoveSdkConfig) {\n const { timelineDetectionServices, drivingServices, walkingServices } = config;\n NativeMoveSdk.updateConfig(timelineDetectionServices, drivingServices, walkingServices);\n }\n\n static setTripMetadata(metadata?: {[key: string]: string}) {\n NativeMoveSdk.setTripMetadata(metadata);\n }\n\n static async setLiveLocationTag(tag?: string): Promise<boolean> {\n return await NativeMoveSdk.setLiveLocationTag(tag);\n }\n}\n"]}
|
|
@@ -73,6 +73,10 @@ export type MoveScanResult = {
|
|
|
73
73
|
device: MoveSdkDevice;
|
|
74
74
|
name: string;
|
|
75
75
|
};
|
|
76
|
+
export type MoveSdkLog = {
|
|
77
|
+
message: string;
|
|
78
|
+
value?: string;
|
|
79
|
+
};
|
|
76
80
|
export default class MoveSdk {
|
|
77
81
|
static READY: SdkState;
|
|
78
82
|
static RUNNING: SdkState;
|
|
@@ -115,6 +119,7 @@ export default class MoveSdk {
|
|
|
115
119
|
static addErrorsListener(errorsReceived: (errors: ErrorListType) => void): ListenerSubscription;
|
|
116
120
|
static addWarningsListener(warningsReceived: (warnings: WarningListType) => void): ListenerSubscription;
|
|
117
121
|
static addAppEventListener(appEventReceived: (event: string) => void): ListenerSubscription;
|
|
122
|
+
static addLogListener(logReceived: (event: MoveSdkLog) => void): ListenerSubscription;
|
|
118
123
|
static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription;
|
|
119
124
|
static version(): string;
|
|
120
125
|
static finishCurrentTrip(): void;
|
package/package.json
CHANGED
package/src/MoveSdk.ts
CHANGED
|
@@ -128,6 +128,11 @@ export type MoveScanResult = {
|
|
|
128
128
|
name: string;
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
+
export type MoveSdkLog = {
|
|
132
|
+
message: string;
|
|
133
|
+
value?: string;
|
|
134
|
+
};
|
|
135
|
+
|
|
131
136
|
const { MoveSdk: NativeMoveSdk } = NativeModules;
|
|
132
137
|
const eventEmitter = new NativeEventEmitter(NativeMoveSdk);
|
|
133
138
|
|
|
@@ -377,6 +382,12 @@ export default class MoveSdk {
|
|
|
377
382
|
});
|
|
378
383
|
}
|
|
379
384
|
|
|
385
|
+
static addLogListener(logReceived: (event: MoveSdkLog) => void): ListenerSubscription {
|
|
386
|
+
return eventEmitter.addListener('MOVE_SDK_LOG', (event) => {
|
|
387
|
+
logReceived(event);
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
|
|
380
391
|
static addRemoteConfigChangeListener(configChangeReceived: (config: Array<IssueListService>) => void): ListenerSubscription {
|
|
381
392
|
return eventEmitter.addListener('MOVE_SDK_CONFIG_UPDATE', (config) => {
|
|
382
393
|
configChangeReceived(config);
|