react-native-move-sdk 2.4.3 → 2.4.5

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.
@@ -21,6 +21,7 @@ fun List<MoveDevice>.toMoveDeviceTypedArray(): Array<Any> {
21
21
  val map = mutableMapOf<String, Any?>()
22
22
  map["name"] = it.name
23
23
  map["data"] = it.toJsonString()
24
+ map["id"] = it.id
24
25
  devices.add(map)
25
26
  }
26
27
  return devices.toTypedArray()
@@ -59,6 +59,8 @@ class RCTMoveSdk: RCTEventEmitter {
59
59
  return .distractionFreeDriving
60
60
  case "DRIVING_BEHAVIOUR":
61
61
  return .drivingBehavior
62
+ case "DEVICE_DISCOVERY":
63
+ return .deviceDiscovery
62
64
  default:
63
65
  throw CError.transformedServices
64
66
  }
@@ -391,7 +393,7 @@ class RCTMoveSdk: RCTEventEmitter {
391
393
  }
392
394
 
393
395
  extension RCTMoveSdk: MoveSdkDeviceScannerDelegate {
394
- func didDiscover(devices: [MoveSdkDeviceScanner.DeviceEntry]) {
396
+ func didDiscover(devices: [MoveDevice]) {
395
397
  send(event: .devices, data: MoveSDKLauncher.shared.convert(devices: devices))
396
398
  }
397
399
  }
@@ -484,14 +486,14 @@ internal class MoveSDKLauncher {
484
486
  }
485
487
  }
486
488
 
487
- func convert(devices: [MoveSdkDeviceScanner.DeviceEntry]) -> [[String:String]] {
489
+ func convert(devices: [MoveDevice]) -> [[String:String]] {
488
490
  var deviceList: [[String: String]] = []
489
491
  for device in devices {
490
492
  let encoder = JSONEncoder()
491
493
  do {
492
- let data = try encoder.encode(device.device)
494
+ let data = try encoder.encode(device)
493
495
  let str = String(data: data, encoding: .utf8) ?? ""
494
- let info: [String: String] = ["name":device.name, "data": str]
496
+ let info: [String: String] = ["name": device.name, "data": str, "id": device.id]
495
497
  deviceList.append(info)
496
498
  } catch {
497
499
  print(error.localizedDescription)
@@ -508,7 +510,7 @@ internal class MoveSDKLauncher {
508
510
  do {
509
511
  let data = try encoder.encode(result.device)
510
512
  let str = String(data: data, encoding: .utf8) ?? ""
511
- let info: [String: Any] = ["name":result.device.name, "device": str, "isDiscovered": result.isDiscovered]
513
+ let info: [String: Any] = ["name": result.device.name, "device": str, "id": result.device.id, "isDiscovered": result.isDiscovered]
512
514
  deviceList.append(info)
513
515
  } catch {
514
516
  print(error.localizedDescription)
@@ -4,20 +4,15 @@ import Foundation
4
4
  import DolphinMoveSDK
5
5
 
6
6
  internal protocol MoveSdkDeviceScannerDelegate: AnyObject {
7
- func didDiscover(devices: [MoveSdkDeviceScanner.DeviceEntry])
7
+ func didDiscover(devices: [MoveDevice])
8
8
  }
9
9
 
10
10
  internal class MoveSdkDeviceScanner: NSObject {
11
- struct DeviceEntry {
12
- let device: MoveDevice
13
- let name: String
14
- }
15
-
16
11
  private let allowedPorts: [AVAudioSession.Port] = [.bluetoothA2DP, .bluetoothHFP, .bluetoothLE, .carAudio]
17
12
 
18
13
  private let session = AVAudioSession.sharedInstance()
19
14
  private let locationManager = CLLocationManager()
20
- private var devices: [DeviceEntry] = []
15
+ private var devices: [MoveDevice] = []
21
16
  private var timer: Timer?
22
17
  private var beaconRegion: CLBeaconRegion?
23
18
  internal var delegate: MoveSdkDeviceScannerDelegate?
@@ -33,10 +28,9 @@ internal class MoveSdkDeviceScanner: NSObject {
33
28
  }
34
29
 
35
30
  func scanAudioPorts() {
36
- let devices: [DeviceEntry] = (session.availableInputs ?? []).compactMap {
31
+ let devices: [MoveDevice] = (session.availableInputs ?? []).compactMap {
37
32
  if !allowedPorts.contains($0.portType) { return nil }
38
- let device = MoveDevice(name: $0.uid, id: $0.uid)
39
- return DeviceEntry(device: device, name: "\($0.portName)")
33
+ return MoveDevice(name: $0.portName, id: $0.uid)
40
34
  }
41
35
 
42
36
  add(devices: devices)
@@ -49,9 +43,9 @@ internal class MoveSdkDeviceScanner: NSObject {
49
43
  self.beaconRegion = beaconRegion
50
44
  }
51
45
 
52
- func add(devices: [DeviceEntry]) {
46
+ func add(devices: [MoveDevice]) {
53
47
  let devices = devices.filter { device in
54
- !self.devices.contains { $0.device == device.device }
48
+ !self.devices.contains { $0 == device }
55
49
  }
56
50
 
57
51
  if !devices.isEmpty {
@@ -95,7 +89,7 @@ extension MoveSdkDeviceScanner: CLLocationManagerDelegate {
95
89
  let devices = beacons.map {
96
90
  let name = "Beacon \($0.major):\($0.minor)"
97
91
  let device = MoveDevice(name: name, proximityUUID: $0.proximityUUID, major: UInt16(truncating: $0.major), minor: UInt16(truncating: $0.minor))
98
- return DeviceEntry(device: device, name: name)
92
+ return device
99
93
  }
100
94
 
101
95
  add(devices: devices)
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["MoveSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","shutdown","force","getDeviceQualifier","geocode","latitude","longitude","isAuthValid","canDrawOverlays","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization","startScanningDevices","sdkDevicesDetected","filter","uuid","manufacturerId","subscription","devices","subscriptionRemove","remove","stopScanningDevices","getRegisteredDevices","registerDevices","unregisterDevices","addDeviceDiscoveryListener","onScanResult","results"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';\nexport type WalkingService = 'LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'ASSISTANCE_CALL'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BATTERY_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING';\n\nexport type ErrorListService =\n | 'DRIVING[]'\n | 'DRIVING[DRIVING_BEHAVIOUR]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]'\n | 'WALKING[]'\n | 'WALKING[LOCATION]'\n | 'CYCLING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorListItem = {\n reasons: Array<ErrorReasons>;\n service?: ErrorListService;\n};\n\nexport type ErrorListType = Array<ErrorListItem>;\n\nexport type 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 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\tname: string;\n\tdata: string;\n};\n\nexport type MoveScanResult = {\n\tisDiscovered: boolean;\n\tdevice: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if (\n [\n MoveSdk.UNINITIALIZED,\n MoveSdk.READY,\n MoveSdk.RUNNING,\n MoveSdk.UNINITIALIZED,\n ].includes(sdkState)\n ) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(nativeTripState)\n ) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig,\n options?: MoveSdkOptions\n ): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } =\n config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n ];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(\n userId,\n accessToken,\n refreshToken,\n projectId\n );\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<ErrorListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSdkStateListener(\n sdkStateChanged: (state: SdkState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(\n errorsReceived: (errors: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (warnings: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static getDeviceQualifier(): string | null {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestDrawOverlaysPermission() is Android OS only.'\n );\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = [\"paired\"], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener(\n 'MOVE_SDK_DEVICES',\n (devices) => {\n sdkDevicesDetected(devices);\n }\n );\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n\treturn await NativeMoveSdk.getRegisteredDevices();\n }\n\n static registerDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static unregisterDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static addDeviceDiscoveryListener(\n onScanResult: (state: Array<MoveScanResult>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["MoveSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","Platform","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","shutdown","force","getDeviceQualifier","geocode","latitude","longitude","isAuthValid","canDrawOverlays","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization","startScanningDevices","sdkDevicesDetected","filter","uuid","manufacturerId","subscription","devices","subscriptionRemove","remove","stopScanningDevices","getRegisteredDevices","registerDevices","unregisterDevices","addDeviceDiscoveryListener","onScanResult","results"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'ASSISTANCE_CALL'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BATTERY_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING';\n\nexport type ErrorListService =\n | 'DRIVING[]'\n | 'DRIVING[DRIVING_BEHAVIOUR]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]'\n | 'WALKING[]'\n | 'WALKING[LOCATION]'\n | 'CYCLING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorListItem = {\n reasons: Array<ErrorReasons>;\n service?: ErrorListService;\n};\n\nexport type ErrorListType = Array<ErrorListItem>;\n\nexport type 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 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\tname: string;\n\tdata: string;\n\tid: string;\n};\n\nexport type MoveScanResult = {\n\tisDiscovered: boolean;\n\tdevice: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if (\n [\n MoveSdk.UNINITIALIZED,\n MoveSdk.READY,\n MoveSdk.RUNNING,\n MoveSdk.UNINITIALIZED,\n ].includes(sdkState)\n ) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(nativeTripState)\n ) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig,\n options?: MoveSdkOptions\n ): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } =\n config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n ];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(\n userId,\n accessToken,\n refreshToken,\n projectId\n );\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<ErrorListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSdkStateListener(\n sdkStateChanged: (state: SdkState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(\n errorsReceived: (errors: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (warnings: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static getDeviceQualifier(): string | null {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestDrawOverlaysPermission() is Android OS only.'\n );\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = [\"paired\"], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener(\n 'MOVE_SDK_DEVICES',\n (devices) => {\n sdkDevicesDetected(devices);\n }\n );\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n\treturn await NativeMoveSdk.getRegisteredDevices();\n }\n\n static registerDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static unregisterDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static addDeviceDiscoveryListener(\n onScanResult: (state: Array<MoveScanResult>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","Platform","MoveSdk","NativeMoveSdk","eventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","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","addDeviceDiscoveryListener","onScanResult","results"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';\nexport type WalkingService = 'LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'ASSISTANCE_CALL'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BATTERY_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING';\n\nexport type ErrorListService =\n | 'DRIVING[]'\n | 'DRIVING[DRIVING_BEHAVIOUR]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]'\n | 'WALKING[]'\n | 'WALKING[LOCATION]'\n | 'CYCLING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorListItem = {\n reasons: Array<ErrorReasons>;\n service?: ErrorListService;\n};\n\nexport type ErrorListType = Array<ErrorListItem>;\n\nexport type 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 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\tname: string;\n\tdata: string;\n};\n\nexport type MoveScanResult = {\n\tisDiscovered: boolean;\n\tdevice: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if (\n [\n MoveSdk.UNINITIALIZED,\n MoveSdk.READY,\n MoveSdk.RUNNING,\n MoveSdk.UNINITIALIZED,\n ].includes(sdkState)\n ) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(nativeTripState)\n ) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig,\n options?: MoveSdkOptions\n ): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } =\n config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n ];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(\n userId,\n accessToken,\n refreshToken,\n projectId\n );\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<ErrorListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSdkStateListener(\n sdkStateChanged: (state: SdkState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(\n errorsReceived: (errors: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (warnings: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static getDeviceQualifier(): string | null {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestDrawOverlaysPermission() is Android OS only.'\n );\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = [\"paired\"], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener(\n 'MOVE_SDK_DEVICES',\n (devices) => {\n sdkDevicesDetected(devices);\n }\n );\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n\treturn await NativeMoveSdk.getRegisteredDevices();\n }\n\n static registerDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static unregisterDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static addDeviceDiscoveryListener(\n onScanResult: (state: Array<MoveScanResult>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","Platform","MoveSdk","NativeMoveSdk","eventEmitter","sdkStateFromNative","sdkState","UNINITIALIZED","READY","RUNNING","includes","tripStateFromNative","nativeTripState","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","AUTH_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","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","addDeviceDiscoveryListener","onScanResult","results"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';\nexport type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';\nexport type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';\nexport type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';\nexport type WalkingService = 'LOCATION';\nexport type OtherService = 'POINTS_OF_INTEREST';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'CYCLING'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'ASSISTANCE_CALL'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorReasons =\n | 'BACKGROUND_LOCATION_PERMISSION_MISSING'\n | 'LOCATION_PERMISSION_MISSING'\n | 'MOTION_PERMISSION_MISSING'\n | 'ACTIVITY_PERMISSION_MISSING'\n | 'BATTERY_OPTIMIZATION'\n | 'BATTERY_PERMISSION_MISSING'\n | 'BLUETOOTH_PERMISSION_MISSING';\n\nexport type ErrorListService =\n | 'DRIVING[]'\n | 'DRIVING[DRIVING_BEHAVIOUR]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]'\n | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]'\n | 'WALKING[]'\n | 'WALKING[LOCATION]'\n | 'CYCLING'\n | 'PUBLIC_TRANSPORT'\n | 'AUTOMATIC_IMPACT_DETECTION'\n | 'POINTS_OF_INTEREST';\n\nexport type ErrorListItem = {\n reasons: Array<ErrorReasons>;\n service?: ErrorListService;\n};\n\nexport type ErrorListType = Array<ErrorListItem>;\n\nexport type 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 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\tname: string;\n\tdata: string;\n\tid: string;\n};\n\nexport type MoveScanResult = {\n\tisDiscovered: boolean;\n\tdevice: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if (\n [\n MoveSdk.UNINITIALIZED,\n MoveSdk.READY,\n MoveSdk.RUNNING,\n MoveSdk.UNINITIALIZED,\n ].includes(sdkState)\n ) {\n return sdkState;\n }\n\n return MoveSdk.UNINITIALIZED;\n }\n\n static tripStateFromNative(nativeTripState: TripState): TripState {\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(nativeTripState)\n ) {\n return nativeTripState;\n }\n\n return MoveSdk.UNKNOWN;\n }\n\n static authStateFromNative(nativeAuthState: AuthState): AuthState {\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {\n return nativeAuthState;\n }\n\n return MoveSdk.AUTH_UNKNOWN;\n }\n\n static async setup(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig,\n options?: MoveSdkOptions\n ): Promise<void> {\n const { timelineDetectionServices, drivingServices, walkingServices } =\n config;\n\n const { userId, projectId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n ];\n }\n\n return await NativeMoveSdk.setup(\n userId,\n accessToken,\n refreshToken,\n projectId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n options,\n // Platform config\n ...platformParams\n );\n }\n\n static allowMockLocations(allowMockLocations: boolean) {\n NativeMoveSdk.allowMockLocations(allowMockLocations);\n }\n\n /* Deprecated */\n static init() {\n NativeMoveSdk.init();\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static async updateAuth(auth: MoveSdkAuth): Promise<void> {\n const { userId, projectId, accessToken, refreshToken } = auth;\n return await NativeMoveSdk.updateAuth(\n userId,\n accessToken,\n refreshToken,\n projectId\n );\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<ErrorListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_TRIP_STATE', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSdkStateListener(\n sdkStateChanged: (state: SdkState) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_STATE', (event) => {\n sdkStateChanged(MoveSdk.sdkStateFromNative(event.state));\n });\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_AUTH_STATE', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addErrorsListener(\n errorsReceived: (errors: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_ERRORS', (event) => {\n errorsReceived(event.errors);\n });\n }\n\n static addWarningsListener(\n warningsReceived: (warnings: ErrorListType) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_WARNINGS', (event) => {\n warningsReceived(event.warnings);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_APP_EVENT', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n static requestMotionPermission() {\n if (Platform.OS === 'ios') {\n NativeMoveSdk.requestMotionPermission();\n } else {\n console.warn('MoveSdk.requestMotionPermission() is iOS only.');\n }\n }\n\n static async shutdown(force: boolean = true): Promise<ShutdownReturnType> {\n return await NativeMoveSdk.shutdown(force);\n }\n\n static getDeviceQualifier(): string | null {\n return NativeMoveSdk.getDeviceQualifier();\n }\n\n static async geocode(latitude: number, longitude: number): Promise<string> {\n return await NativeMoveSdk.geocode(latitude, longitude);\n }\n\n static async isAuthValid(): Promise<boolean> {\n return await NativeMoveSdk.isAuthValid();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static async canDrawOverlays(): Promise<boolean> {\n return await NativeMoveSdk.canDrawOverlays();\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestDrawOverlaysPermission() is Android OS only.'\n );\n }\n }\n\n static async isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return await NativeMoveSdk.isAppIgnoringBatteryOptimization();\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n\n static startScanningDevices(sdkDevicesDetected: (state: Array<MoveSdkDevice>) => void, filter: MoveSdkDeviceFilter[] = [\"paired\"], uuid?: string, manufacturerId?: number): ListenerSubscription {\n const subscription = eventEmitter.addListener(\n 'MOVE_SDK_DEVICES',\n (devices) => {\n sdkDevicesDetected(devices);\n }\n );\n const subscriptionRemove = subscription.remove;\n subscription.remove = () => {\n NativeMoveSdk.stopScanningDevices();\n subscriptionRemove();\n };\n\n NativeMoveSdk.startScanningDevices(filter, uuid, manufacturerId ?? -1);\n return subscription;\n }\n\n static async getRegisteredDevices(): Promise<Array<MoveSdkDevice>> {\n\treturn await NativeMoveSdk.getRegisteredDevices();\n }\n\n static registerDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static unregisterDevices(devices: Array<MoveSdkDevice>) {\n NativeMoveSdk.registerDevices(devices);\n }\n\n static addDeviceDiscoveryListener(\n onScanResult: (state: Array<MoveScanResult>) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('MOVE_SDK_SCAN_RESULT', (results) => {\n onScanResult(results);\n });\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { EmitterSubscription } from 'react-native';
2
2
  export declare type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';
3
3
  export declare type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';
4
4
  export declare type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';
5
- export declare type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';
5
+ export declare type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';
6
6
  export declare type WalkingService = 'LOCATION';
7
7
  export declare type OtherService = 'POINTS_OF_INTEREST';
8
8
  export declare type TimelineDetectionService = 'DRIVING' | 'CYCLING' | 'WALKING' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'ASSISTANCE_CALL' | 'POINTS_OF_INTEREST';
@@ -60,6 +60,7 @@ export declare type MoveSdkDeviceFilter = 'beacon' | 'paired';
60
60
  export declare type MoveSdkDevice = {
61
61
  name: string;
62
62
  data: string;
63
+ id: string;
63
64
  };
64
65
  export declare type MoveScanResult = {
65
66
  isDiscovered: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-move-sdk",
3
- "version": "2.4.3",
3
+ "version": "2.4.5",
4
4
  "description": "React Native library for MOVE SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -18,5 +18,5 @@ Pod::Spec.new do |s|
18
18
  s.source_files = "ios/**/*.{h,m,mm,swift}"
19
19
 
20
20
  s.dependency 'React'
21
- s.dependency 'DolphinMoveSDK', '2.4.1.262'
21
+ s.dependency 'DolphinMoveSDK', '2.4.2.263'
22
22
  end
package/src/index.ts CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  export type SdkState = 'UNINITIALIZED' | 'READY' | 'RUNNING';
9
9
  export type TripState = 'UNKNOWN' | 'DRIVING' | 'HALT' | 'IDLE' | 'IGNORED';
10
10
  export type AuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED' | 'INVALID';
11
- export type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';
11
+ export type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR' | 'DEVICE_DISCOVERY';
12
12
  export type WalkingService = 'LOCATION';
13
13
  export type OtherService = 'POINTS_OF_INTEREST';
14
14
  export type TimelineDetectionService =
@@ -102,6 +102,7 @@ export type MoveSdkDeviceFilter = 'beacon' | 'paired';
102
102
  export type MoveSdkDevice = {
103
103
  name: string;
104
104
  data: string;
105
+ id: string;
105
106
  };
106
107
 
107
108
  export type MoveScanResult = {