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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,7 @@ class MoveSdk {
32
32
  }
33
33
 
34
34
  static authStateFromNative(nativeAuthState) {
35
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
35
+ if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {
36
36
  return nativeAuthState;
37
37
  }
38
38
 
@@ -314,13 +314,23 @@ class MoveSdk {
314
314
 
315
315
  static setTimer(callback) {
316
316
  let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60000;
317
- const key = Date.now().toString();
318
- NativeMoveSdk.setTimer(delay, key, callback);
319
- return key;
317
+
318
+ if (_reactNative.Platform.OS === 'android') {
319
+ const key = Date.now().toString();
320
+ NativeMoveSdk.setTimer(delay, key, callback);
321
+ return key;
322
+ } else {
323
+ console.warn('MoveSdk.setTimer() is Android OS only.');
324
+ return '';
325
+ }
320
326
  }
321
327
 
322
328
  static cancelTimer(key) {
323
- NativeMoveSdk.cancelTimer(key);
329
+ if (_reactNative.Platform.OS === 'android') {
330
+ NativeMoveSdk.cancelTimer(key);
331
+ } else {
332
+ console.warn('MoveSdk.cancelTimer() is Android OS only.');
333
+ }
324
334
  }
325
335
 
326
336
  }
@@ -339,6 +349,8 @@ _defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
339
349
 
340
350
  _defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
341
351
 
352
+ _defineProperty(MoveSdk, "AUTH_INVALID", 'INVALID');
353
+
342
354
  _defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
343
355
 
344
356
  _defineProperty(MoveSdk, "DRIVING", 'DRIVING');
@@ -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_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","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","setTimer","callback","delay","key","now","toString","cancelTimer"],"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\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 useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([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].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 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 startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(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 setTimer(callback: (key: string) => void, delay: number = 60000): string {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n }\n\n static cancelTimer(key: string) {\n NativeMoveSdk.cancelTimer(key);\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","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","setTimer","callback","delay","key","now","toString","cancelTimer"],"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\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 useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n 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 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 startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(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 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"]}
@@ -23,7 +23,7 @@ export default class MoveSdk {
23
23
  }
24
24
 
25
25
  static authStateFromNative(nativeAuthState) {
26
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
26
+ if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {
27
27
  return nativeAuthState;
28
28
  }
29
29
 
@@ -305,13 +305,23 @@ export default class MoveSdk {
305
305
 
306
306
  static setTimer(callback) {
307
307
  let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60000;
308
- const key = Date.now().toString();
309
- NativeMoveSdk.setTimer(delay, key, callback);
310
- return key;
308
+
309
+ if (Platform.OS === 'android') {
310
+ const key = Date.now().toString();
311
+ NativeMoveSdk.setTimer(delay, key, callback);
312
+ return key;
313
+ } else {
314
+ console.warn('MoveSdk.setTimer() is Android OS only.');
315
+ return '';
316
+ }
311
317
  }
312
318
 
313
319
  static cancelTimer(key) {
314
- NativeMoveSdk.cancelTimer(key);
320
+ if (Platform.OS === 'android') {
321
+ NativeMoveSdk.cancelTimer(key);
322
+ } else {
323
+ console.warn('MoveSdk.cancelTimer() is Android OS only.');
324
+ }
315
325
  }
316
326
 
317
327
  }
@@ -328,6 +338,8 @@ _defineProperty(MoveSdk, "AUTH_VALID", 'VALID');
328
338
 
329
339
  _defineProperty(MoveSdk, "AUTH_UNKNOWN", 'UNKNOWN');
330
340
 
341
+ _defineProperty(MoveSdk, "AUTH_INVALID", 'INVALID');
342
+
331
343
  _defineProperty(MoveSdk, "UNKNOWN", 'UNKNOWN');
332
344
 
333
345
  _defineProperty(MoveSdk, "DRIVING", 'DRIVING');
@@ -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_UNKNOWN","setup","config","auth","android","options","timelineDetectionServices","drivingServices","walkingServices","userId","projectId","accessToken","refreshToken","platformParams","OS","notifications","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","allowMockLocations","init","resolveError","updateAuth","startAutomaticDetection","stopAutomaticDetection","forceTripRecognition","duration","keepInForeground","enabled","console","warn","keepActive","synchronizeUserData","getAuthState","authState","getState","state","getTripState","tripState","getErrors","getWarnings","initiateAssistanceCall","setAssistanceMetaData","data","addTripStateListener","tripStateChanged","addListener","event","addTripStartListener","tripStartTriggered","start","Date","Number","addSdkStateListener","sdkStateChanged","addAuthStateListener","authStateChanged","transformedEvent","addErrorsListener","errorsReceived","errors","addWarningsListener","warningsReceived","warnings","addAppEventListener","appEventReceived","addRemoteConfigChangeListener","configChangeReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","requestMotionPermission","shutdown","force","getDeviceQualifier","geocode","latitude","longitude","isAuthValid","canDrawOverlays","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization","startScanningDevices","sdkDevicesDetected","filter","uuid","manufacturerId","subscription","devices","subscriptionRemove","remove","stopScanningDevices","getRegisteredDevices","registerDevices","unregisterDevices","requestBluetoothAlwaysUsagePermission","addDeviceDiscoveryListener","onScanResult","results","setTimer","callback","delay","key","now","toString","cancelTimer"],"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\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 useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n\n static UNKNOWN: TripState = 'UNKNOWN';\n static DRIVING: TripState = 'DRIVING';\n static HALT: TripState = 'HALT';\n static IDLE: TripState = 'IDLE';\n static IGNORED: TripState = 'IGNORED';\n\n static sdkStateFromNative(sdkState: SdkState): SdkState {\n if ([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].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 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 startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(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 setTimer(callback: (key: string) => void, delay: number = 60000): string {\n const key = Date.now().toString();\n NativeMoveSdk.setTimer(delay, key, callback);\n return key;\n }\n\n static cancelTimer(key: string) {\n NativeMoveSdk.cancelTimer(key);\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","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","setTimer","callback","delay","key","now","toString","cancelTimer"],"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\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 useBackendConfig?: boolean;\n deviceDiscovery?: MoveSdkDeviceDiscovery;\n};\n\nexport type MoveSdkAuth = {\n userId: string;\n accessToken: string;\n refreshToken: string;\n projectId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nexport type MoveSdkDeviceFilter = 'beacon' | 'paired';\n\nexport type MoveSdkDevice = {\n name: string;\n data: string;\n id: string;\n};\n\nexport type MoveScanResult = {\n isDiscovered: boolean;\n device: MoveSdkDevice;\n name: string;\n};\n\nconst { MoveSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static READY: SdkState = 'READY';\n static RUNNING: SdkState = 'RUNNING';\n static UNINITIALIZED: SdkState = 'UNINITIALIZED';\n\n static AUTH_EXPIRED: AuthState = 'EXPIRED';\n static AUTH_VALID: AuthState = 'VALID';\n static AUTH_UNKNOWN: AuthState = 'UNKNOWN';\n 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 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 startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static forceTripRecognition(duration: number = 60000) {\n NativeMoveSdk.forceTripRecognition(duration);\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static async synchronizeUserData(): Promise<boolean> {\n return await NativeMoveSdk.synchronizeUserData();\n }\n\n static async getAuthState(): Promise<AuthState> {\n const authState = await NativeMoveSdk.getAuthState();\n return MoveSdk.authStateFromNative(authState);\n }\n\n static async getState(): Promise<SdkState> {\n const state = await NativeMoveSdk.getState();\n return MoveSdk.sdkStateFromNative(state);\n }\n\n static async getTripState(): Promise<TripState> {\n const tripState = await NativeMoveSdk.getTripState();\n return MoveSdk.tripStateFromNative(tripState);\n }\n\n static async getErrors(): Promise<ErrorListType> {\n return await NativeMoveSdk.getErrors();\n }\n\n static async getWarnings(): Promise<WarningListType> {\n return await NativeMoveSdk.getWarnings();\n }\n\n static async initiateAssistanceCall(): Promise<boolean> {\n return await NativeMoveSdk.initiateAssistanceCall();\n }\n\n static setAssistanceMetaData(data: string) {\n NativeMoveSdk.setAssistanceMetaData(data);\n }\n\n static addTripStateListener(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 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"]}
@@ -78,6 +78,7 @@ export default class MoveSdk {
78
78
  static AUTH_EXPIRED: AuthState;
79
79
  static AUTH_VALID: AuthState;
80
80
  static AUTH_UNKNOWN: AuthState;
81
+ static AUTH_INVALID: AuthState;
81
82
  static UNKNOWN: TripState;
82
83
  static DRIVING: TripState;
83
84
  static HALT: TripState;
@@ -130,6 +131,6 @@ export default class MoveSdk {
130
131
  static unregisterDevices(devices: Array<MoveSdkDevice>): Promise<boolean>;
131
132
  static requestBluetoothAlwaysUsagePermission(): void;
132
133
  static addDeviceDiscoveryListener(onScanResult: (state: Array<MoveScanResult>) => void): ListenerSubscription;
133
- static setTimer(callback: (key: string) => void, delay?: number): string;
134
+ static setTimer(callback: () => void, delay?: number): string;
134
135
  static cancelTimer(key: string): void;
135
136
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-move-sdk",
3
- "version": "2.7.0",
3
+ "version": "2.7.1-alpha",
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.6.9.276'
21
+ s.dependency 'MoveSDK', '2.7.0.280'
22
22
  end
package/src/MoveSdk.ts CHANGED
@@ -124,6 +124,7 @@ export default class MoveSdk {
124
124
  static AUTH_EXPIRED: AuthState = 'EXPIRED';
125
125
  static AUTH_VALID: AuthState = 'VALID';
126
126
  static AUTH_UNKNOWN: AuthState = 'UNKNOWN';
127
+ static AUTH_INVALID: AuthState = 'INVALID';
127
128
 
128
129
  static UNKNOWN: TripState = 'UNKNOWN';
129
130
  static DRIVING: TripState = 'DRIVING';
@@ -148,7 +149,7 @@ export default class MoveSdk {
148
149
  }
149
150
 
150
151
  static authStateFromNative(nativeAuthState: AuthState): AuthState {
151
- if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(nativeAuthState)) {
152
+ if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED, MoveSdk.AUTH_INVALID].includes(nativeAuthState)) {
152
153
  return nativeAuthState;
153
154
  }
154
155
 
@@ -428,13 +429,22 @@ export default class MoveSdk {
428
429
  });
429
430
  }
430
431
 
431
- static setTimer(callback: (key: string) => void, delay: number = 60000): string {
432
- const key = Date.now().toString();
433
- NativeMoveSdk.setTimer(delay, key, callback);
434
- return key;
432
+ static setTimer(callback: () => void, delay: number = 60000): string {
433
+ if (Platform.OS === 'android') {
434
+ const key = Date.now().toString();
435
+ NativeMoveSdk.setTimer(delay, key, callback);
436
+ return key;
437
+ } else {
438
+ console.warn('MoveSdk.setTimer() is Android OS only.');
439
+ return '';
440
+ }
435
441
  }
436
442
 
437
443
  static cancelTimer(key: string) {
438
- NativeMoveSdk.cancelTimer(key);
444
+ if (Platform.OS === 'android') {
445
+ NativeMoveSdk.cancelTimer(key);
446
+ } else {
447
+ console.warn('MoveSdk.cancelTimer() is Android OS only.');
448
+ }
439
449
  }
440
450
  }