react-native-move-sdk 0.1.0 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/android/build.gradle +5 -5
- package/android/src/main/java/in/dolph/move/sdk/MoveSdkModule.kt +2 -2
- package/android/src/main/java/in/dolph/move/sdk/NativeMoveSdkWrapper.kt +4 -2
- package/ios/NativeModule/DolphinSdk.h +2 -1
- package/ios/NativeModule/DolphinSdk.swift +6 -2
- package/lib/commonjs/index.js +3 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/package.json +1 -1
- package/react-native-move-sdk.podspec +2 -2
- package/src/index.ts +6 -2
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@ React Native library for MOVE SDK - please see https://docs.movesdk.com/move/ fo
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
npm install
|
|
8
|
+
npm install react-native-move-sdk --save
|
|
9
9
|
#or
|
|
10
|
-
yarn add
|
|
10
|
+
yarn add react-native-move-sdk
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
# iOS
|
|
@@ -70,7 +70,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|
|
70
70
|
See https://docs.movesdk.com/move/sdk-1/api-interface/react-native/intialization
|
|
71
71
|
|
|
72
72
|
```js
|
|
73
|
-
import MoveSdk from '
|
|
73
|
+
import MoveSdk from 'react-native-move-sdk';
|
|
74
74
|
...
|
|
75
75
|
const tripChannel = {
|
|
76
76
|
id: 'CT',
|
|
@@ -134,11 +134,11 @@ If the sdk is in an error state, for example because no permission was given, th
|
|
|
134
134
|
|
|
135
135
|
```js
|
|
136
136
|
MoveSdk.addSDKStateListener((event: { state: SdkState | null }) => {
|
|
137
|
-
|
|
137
|
+
...
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
MoveSdk.addTripStateListener((event: TripState | null) => {
|
|
141
|
-
|
|
141
|
+
...
|
|
142
142
|
});
|
|
143
143
|
|
|
144
144
|
MoveSdk.addAuthStateListener((event: AuthStateEvent) => {
|
|
@@ -146,7 +146,7 @@ MoveSdk.addAuthStateListener((event: AuthStateEvent) => {
|
|
|
146
146
|
});
|
|
147
147
|
|
|
148
148
|
MoveSdk.addAppEventListener((event: string) => {
|
|
149
|
-
|
|
149
|
+
...
|
|
150
150
|
});
|
|
151
151
|
|
|
152
152
|
MoveSdk.addInitErrorListener((event: ConfigurationError) => {
|
package/android/build.gradle
CHANGED
|
@@ -5,7 +5,7 @@ buildscript {
|
|
|
5
5
|
repositories {
|
|
6
6
|
mavenCentral()
|
|
7
7
|
google()
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
dependencies {
|
|
@@ -66,8 +66,8 @@ repositories {
|
|
|
66
66
|
google()
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
|
|
70
|
+
|
|
71
71
|
|
|
72
72
|
def found = false
|
|
73
73
|
def defaultDir = null
|
|
@@ -139,7 +139,7 @@ def kotlin_version = getExtOrDefault('kotlinVersion')
|
|
|
139
139
|
|
|
140
140
|
dependencies {
|
|
141
141
|
// noinspection GradleDynamicVersion
|
|
142
|
-
|
|
142
|
+
|
|
143
143
|
implementation "com.facebook.react:react-native:+"
|
|
144
|
-
api "io.dolphin.move:move-sdk:1.
|
|
144
|
+
api "io.dolphin.move:move-sdk:1.6.11.+"
|
|
145
145
|
}
|
|
@@ -155,8 +155,8 @@ class MoveSdkModule(context: ReactApplicationContext) : ReactContextBaseJavaModu
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
@ReactMethod
|
|
158
|
-
fun synchronizeUserData() {
|
|
159
|
-
nativeSdkWrapper.synchronizeUserData()
|
|
158
|
+
fun synchronizeUserData(promise: Promise) {
|
|
159
|
+
nativeSdkWrapper.synchronizeUserData(promise)
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
@ReactMethod
|
|
@@ -195,8 +195,10 @@ class NativeMoveSdkWrapper(private val context: Context) : MoveSdk.StateListener
|
|
|
195
195
|
MoveSdk.get()?.keepActive(enabled)
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
fun synchronizeUserData() {
|
|
199
|
-
MoveSdk.get()?.synchronizeUserData
|
|
198
|
+
fun synchronizeUserData(promise: Promise) {
|
|
199
|
+
MoveSdk.get()?.synchronizeUserData { synced ->
|
|
200
|
+
promise.resolve(synced)
|
|
201
|
+
}
|
|
200
202
|
}
|
|
201
203
|
|
|
202
204
|
fun ignoreCurrentTrip() {
|
|
@@ -37,7 +37,8 @@ RCT_EXTERN_METHOD(shutdown)
|
|
|
37
37
|
|
|
38
38
|
RCT_EXTERN_METHOD(forceTripRecognition)
|
|
39
39
|
|
|
40
|
-
RCT_EXTERN_METHOD(synchronizeUserData)
|
|
40
|
+
RCT_EXTERN_METHOD(synchronizeUserData: (RCTPromiseResolveBlock)resolve
|
|
41
|
+
rejecter: (RCTPromiseRejectBlock)reject)
|
|
41
42
|
|
|
42
43
|
RCT_EXTERN_METHOD(ignoreCurrentTrip)
|
|
43
44
|
|
|
@@ -162,8 +162,12 @@ class DolphinSdk: RCTEventEmitter {
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
@objc
|
|
165
|
-
func synchronizeUserData(
|
|
166
|
-
|
|
165
|
+
func synchronizeUserData(
|
|
166
|
+
_ resolve: @escaping RCTPromiseResolveBlock,
|
|
167
|
+
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
168
|
+
DolphinSDKLauncher.shared.sdk.synchronizeUserData() { success in
|
|
169
|
+
resolve(success)
|
|
170
|
+
}
|
|
167
171
|
}
|
|
168
172
|
|
|
169
173
|
@objc
|
package/lib/commonjs/index.js
CHANGED
|
@@ -151,7 +151,9 @@ class MoveSdk {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
static synchronizeUserData() {
|
|
154
|
-
|
|
154
|
+
return new Promise((resolve, _reject) => {
|
|
155
|
+
NativeMoveSdk.synchronizeUserData().then(value => resolve(value));
|
|
156
|
+
});
|
|
155
157
|
}
|
|
156
158
|
|
|
157
159
|
static shutdown() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["DolphinSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","MoveSdk","sdkStateFromNative","nativeSdkState","stateString","toLowerCase","includes","substring","indexOf","UNINITIALIZED","READY","RUNNING","ERROR","tripStateFromNative","nativeTripState","state","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","configurationErrorFromNative","nativeInitError","initialize","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","otherServices","contractId","productId","accessToken","refreshToken","platformParams","Platform","OS","notifications","allowMockLocations","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","catch","e","message","resolveError","updateAuth","startAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","stopAutomaticDetection","synchronizeUserData","shutdown","getAuthState","Promise","resolve","_reject","then","nativeState","getState","getTripState","addTripStateListener","tripStateChanged","addListener","event","addSDKStateListener","sdkStateChanged","transformedEvent","addInitErrorListener","initErrorReceived","error","addAuthStateListener","authStateChanged","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","canDrawOverlays","result","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type AndroidSdkState = 'Error' | 'Uninitialised' | 'Ready' | 'Running';\nexport type SdkState = 'error' | 'uninitialized' | 'ready' | 'running';\n\nexport type NativeSdkState = AndroidSdkState | SdkState;\n\nexport type TripState = 'unknown' | 'driving' | 'halt' | 'idle' | 'ignored';\nexport type AuthState = 'unknown' | 'valid' | 'expired';\n\nexport type AndroidTripState =\n | 'UNKNOWN'\n | 'DRIVING'\n | 'HALT'\n | 'IDLE'\n | 'IGNORED';\n\nexport type NativeTripState = AndroidTripState | TripState;\n\nexport type AndroidAuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type IosAuthState = 'unknown' | 'valid' | 'expired';\nexport type NativeAuthState = AndroidAuthState | IosAuthState;\n\nexport type DrivingService = 'DistractionFreeDriving' | 'DrivingBehaviour';\nexport type WalkingService = 'Location';\nexport type OtherService = 'PointsOfInterest';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'BICYCLE'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT';\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices: OtherService[];\n};\n\nexport type MoveSdkAuth = {\n contractId: string;\n accessToken: string;\n refreshToken: string;\n productId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type ConfigurationError =\n | 'authinvalid'\n | 'configmismatch'\n | 'serviceunreachable';\n\nexport type IosConfigurationError =\n | 'serviceUnreachable'\n | 'authInvalid'\n | 'configMismatch';\n\nexport type AndroidConfigurationError =\n | 'ServiceUnreachable'\n | 'AuthInvalid'\n | 'ConfigMismatch';\n\nexport type NativeConfigurationError =\n | IosConfigurationError\n | AndroidConfigurationError;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nconst { DolphinSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static ERROR: SdkState = 'error';\n static READY: SdkState = 'ready';\n static RUNNING: SdkState = 'running';\n static UNINITIALIZED: SdkState = 'uninitialized';\n\n static AUTH_INVALID: ConfigurationError = 'authinvalid';\n static AUTH_EXPIRED: AuthState = 'expired';\n static AUTH_VALID: AuthState = 'valid';\n\n static UNKNOWN: TripState = 'unknown';\n static DRIVING: TripState = 'driving';\n static HALT: TripState = 'halt';\n static IDLE: TripState = 'idle';\n static IGNORED: TripState = 'ignored';\n\n static sdkStateFromNative(nativeSdkState: NativeSdkState): SdkState | null {\n let stateString = nativeSdkState?.toLowerCase() as SdkState;\n\n if (stateString?.includes('(')) {\n stateString = stateString\n ?.substring(0, stateString?.indexOf('('))\n .toLowerCase() as SdkState;\n }\n\n switch (stateString) {\n case 'uninitialized':\n return MoveSdk.UNINITIALIZED;\n\n case 'ready':\n return MoveSdk.READY;\n\n case 'running':\n return MoveSdk.RUNNING;\n\n case 'error':\n return MoveSdk.ERROR;\n default:\n return null;\n }\n }\n\n static tripStateFromNative(\n nativeTripState: NativeTripState\n ): TripState | null {\n const state = nativeTripState?.toLowerCase() as TripState;\n\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(state)\n ) {\n return state;\n }\n\n return null;\n }\n\n static authStateFromNative(\n nativeAuthState: NativeAuthState\n ): AuthState | null {\n const state = nativeAuthState?.toLowerCase() as AuthState;\n\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {\n return state;\n }\n\n return null;\n }\n\n static configurationErrorFromNative(\n nativeInitError: NativeConfigurationError\n ) {\n const state = nativeInitError?.toLowerCase() as ConfigurationError;\n return state;\n }\n\n static initialize(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ) {\n const {\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n } = config;\n\n const { contractId, productId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications, allowMockLocations } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n allowMockLocations,\n ];\n }\n\n NativeMoveSdk.initialize(\n contractId,\n accessToken,\n refreshToken,\n productId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n // Platform config\n ...platformParams\n ).catch((e) => {\n throw new Error(\n `Initialization failed, Exception occured with message ${e.message}`\n );\n });\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static updateAuth(auth: MoveSdkAuth) {\n const { contractId, productId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static synchronizeUserData() {\n NativeMoveSdk.synchronizeUserData();\n }\n\n static shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n static getAuthState(): Promise<AuthState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getAuthState().then((nativeState: NativeAuthState) =>\n resolve(MoveSdk.authStateFromNative(nativeState))\n );\n });\n }\n\n static getState(): Promise<SdkState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getState().then((nativeState: NativeSdkState) =>\n resolve(MoveSdk.sdkStateFromNative(nativeState))\n );\n });\n }\n\n static getTripState(): Promise<TripState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getTripState().then((nativeState: NativeTripState) =>\n resolve(MoveSdk.tripStateFromNative(nativeState))\n );\n });\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState | null) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-TripState', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSDKStateListener(\n sdkStateChanged: (event: { state: SdkState | null }) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-State', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.sdkStateFromNative(event.state),\n };\n\n sdkStateChanged(transformedEvent);\n });\n }\n\n static addInitErrorListener(\n initErrorReceived: (error: ConfigurationError) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-InitError', (event) =>\n initErrorReceived(MoveSdk.configurationErrorFromNative(event.error))\n );\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AuthState', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AppEvent', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static canDrawOverlays(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.canDrawOverlays().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n static isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.isAppIgnoringBatteryOptimization().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["DolphinSdk","NativeMoveSdk","NativeModules","eventEmitter","NativeEventEmitter","MoveSdk","sdkStateFromNative","nativeSdkState","stateString","toLowerCase","includes","substring","indexOf","UNINITIALIZED","READY","RUNNING","ERROR","tripStateFromNative","nativeTripState","state","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","configurationErrorFromNative","nativeInitError","initialize","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","otherServices","contractId","productId","accessToken","refreshToken","platformParams","Platform","OS","notifications","allowMockLocations","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","catch","e","message","resolveError","updateAuth","startAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","stopAutomaticDetection","synchronizeUserData","Promise","resolve","_reject","then","value","shutdown","getAuthState","nativeState","getState","getTripState","addTripStateListener","tripStateChanged","addListener","event","addSDKStateListener","sdkStateChanged","transformedEvent","addInitErrorListener","initErrorReceived","error","addAuthStateListener","authStateChanged","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","canDrawOverlays","result","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type AndroidSdkState = 'Error' | 'Uninitialised' | 'Ready' | 'Running';\nexport type SdkState = 'error' | 'uninitialized' | 'ready' | 'running';\n\nexport type NativeSdkState = AndroidSdkState | SdkState;\n\nexport type TripState = 'unknown' | 'driving' | 'halt' | 'idle' | 'ignored';\nexport type AuthState = 'unknown' | 'valid' | 'expired';\n\nexport type AndroidTripState =\n | 'UNKNOWN'\n | 'DRIVING'\n | 'HALT'\n | 'IDLE'\n | 'IGNORED';\n\nexport type NativeTripState = AndroidTripState | TripState;\n\nexport type AndroidAuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type IosAuthState = 'unknown' | 'valid' | 'expired';\nexport type NativeAuthState = AndroidAuthState | IosAuthState;\n\nexport type DrivingService = 'DistractionFreeDriving' | 'DrivingBehaviour';\nexport type WalkingService = 'Location';\nexport type OtherService = 'PointsOfInterest';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'BICYCLE'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT';\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices: OtherService[];\n};\n\nexport type MoveSdkAuth = {\n contractId: string;\n accessToken: string;\n refreshToken: string;\n productId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type ConfigurationError =\n | 'authinvalid'\n | 'configmismatch'\n | 'serviceunreachable';\n\nexport type IosConfigurationError =\n | 'serviceUnreachable'\n | 'authInvalid'\n | 'configMismatch';\n\nexport type AndroidConfigurationError =\n | 'ServiceUnreachable'\n | 'AuthInvalid'\n | 'ConfigMismatch';\n\nexport type NativeConfigurationError =\n | IosConfigurationError\n | AndroidConfigurationError;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nconst { DolphinSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static ERROR: SdkState = 'error';\n static READY: SdkState = 'ready';\n static RUNNING: SdkState = 'running';\n static UNINITIALIZED: SdkState = 'uninitialized';\n\n static AUTH_INVALID: ConfigurationError = 'authinvalid';\n static AUTH_EXPIRED: AuthState = 'expired';\n static AUTH_VALID: AuthState = 'valid';\n\n static UNKNOWN: TripState = 'unknown';\n static DRIVING: TripState = 'driving';\n static HALT: TripState = 'halt';\n static IDLE: TripState = 'idle';\n static IGNORED: TripState = 'ignored';\n\n static sdkStateFromNative(nativeSdkState: NativeSdkState): SdkState | null {\n let stateString = nativeSdkState?.toLowerCase() as SdkState;\n\n if (stateString?.includes('(')) {\n stateString = stateString\n ?.substring(0, stateString?.indexOf('('))\n .toLowerCase() as SdkState;\n }\n\n switch (stateString) {\n case 'uninitialized':\n return MoveSdk.UNINITIALIZED;\n\n case 'ready':\n return MoveSdk.READY;\n\n case 'running':\n return MoveSdk.RUNNING;\n\n case 'error':\n return MoveSdk.ERROR;\n default:\n return null;\n }\n }\n\n static tripStateFromNative(\n nativeTripState: NativeTripState\n ): TripState | null {\n const state = nativeTripState?.toLowerCase() as TripState;\n\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(state)\n ) {\n return state;\n }\n\n return null;\n }\n\n static authStateFromNative(\n nativeAuthState: NativeAuthState\n ): AuthState | null {\n const state = nativeAuthState?.toLowerCase() as AuthState;\n\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {\n return state;\n }\n\n return null;\n }\n\n static configurationErrorFromNative(\n nativeInitError: NativeConfigurationError\n ) {\n const state = nativeInitError?.toLowerCase() as ConfigurationError;\n return state;\n }\n\n static initialize(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ) {\n const {\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n } = config;\n\n const { contractId, productId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications, allowMockLocations } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n allowMockLocations,\n ];\n }\n\n NativeMoveSdk.initialize(\n contractId,\n accessToken,\n refreshToken,\n productId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n // Platform config\n ...platformParams\n ).catch((e) => {\n throw new Error(\n `Initialization failed, Exception occured with message ${e.message}`\n );\n });\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static updateAuth(auth: MoveSdkAuth) {\n const { contractId, productId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static synchronizeUserData(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.synchronizeUserData().then((value: boolean) =>\n resolve(value)\n );\n });\n }\n\n static shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n static getAuthState(): Promise<AuthState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getAuthState().then((nativeState: NativeAuthState) =>\n resolve(MoveSdk.authStateFromNative(nativeState))\n );\n });\n }\n\n static getState(): Promise<SdkState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getState().then((nativeState: NativeSdkState) =>\n resolve(MoveSdk.sdkStateFromNative(nativeState))\n );\n });\n }\n\n static getTripState(): Promise<TripState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getTripState().then((nativeState: NativeTripState) =>\n resolve(MoveSdk.tripStateFromNative(nativeState))\n );\n });\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState | null) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-TripState', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSDKStateListener(\n sdkStateChanged: (event: { state: SdkState | null }) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-State', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.sdkStateFromNative(event.state),\n };\n\n sdkStateChanged(transformedEvent);\n });\n }\n\n static addInitErrorListener(\n initErrorReceived: (error: ConfigurationError) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-InitError', (event) =>\n initErrorReceived(MoveSdk.configurationErrorFromNative(event.error))\n );\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AuthState', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AppEvent', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static canDrawOverlays(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.canDrawOverlays().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n static isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.isAppIgnoringBatteryOptimization().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}
|
package/lib/module/index.js
CHANGED
|
@@ -142,7 +142,9 @@ export default class MoveSdk {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
static synchronizeUserData() {
|
|
145
|
-
|
|
145
|
+
return new Promise((resolve, _reject) => {
|
|
146
|
+
NativeMoveSdk.synchronizeUserData().then(value => resolve(value));
|
|
147
|
+
});
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
static shutdown() {
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","Platform","DolphinSdk","NativeMoveSdk","eventEmitter","MoveSdk","sdkStateFromNative","nativeSdkState","stateString","toLowerCase","includes","substring","indexOf","UNINITIALIZED","READY","RUNNING","ERROR","tripStateFromNative","nativeTripState","state","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","configurationErrorFromNative","nativeInitError","initialize","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","otherServices","contractId","productId","accessToken","refreshToken","platformParams","OS","notifications","allowMockLocations","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","catch","e","message","resolveError","updateAuth","startAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","stopAutomaticDetection","synchronizeUserData","shutdown","getAuthState","Promise","resolve","_reject","then","nativeState","getState","getTripState","addTripStateListener","tripStateChanged","addListener","event","addSDKStateListener","sdkStateChanged","transformedEvent","addInitErrorListener","initErrorReceived","error","addAuthStateListener","authStateChanged","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","canDrawOverlays","result","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type AndroidSdkState = 'Error' | 'Uninitialised' | 'Ready' | 'Running';\nexport type SdkState = 'error' | 'uninitialized' | 'ready' | 'running';\n\nexport type NativeSdkState = AndroidSdkState | SdkState;\n\nexport type TripState = 'unknown' | 'driving' | 'halt' | 'idle' | 'ignored';\nexport type AuthState = 'unknown' | 'valid' | 'expired';\n\nexport type AndroidTripState =\n | 'UNKNOWN'\n | 'DRIVING'\n | 'HALT'\n | 'IDLE'\n | 'IGNORED';\n\nexport type NativeTripState = AndroidTripState | TripState;\n\nexport type AndroidAuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type IosAuthState = 'unknown' | 'valid' | 'expired';\nexport type NativeAuthState = AndroidAuthState | IosAuthState;\n\nexport type DrivingService = 'DistractionFreeDriving' | 'DrivingBehaviour';\nexport type WalkingService = 'Location';\nexport type OtherService = 'PointsOfInterest';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'BICYCLE'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT';\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices: OtherService[];\n};\n\nexport type MoveSdkAuth = {\n contractId: string;\n accessToken: string;\n refreshToken: string;\n productId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type ConfigurationError =\n | 'authinvalid'\n | 'configmismatch'\n | 'serviceunreachable';\n\nexport type IosConfigurationError =\n | 'serviceUnreachable'\n | 'authInvalid'\n | 'configMismatch';\n\nexport type AndroidConfigurationError =\n | 'ServiceUnreachable'\n | 'AuthInvalid'\n | 'ConfigMismatch';\n\nexport type NativeConfigurationError =\n | IosConfigurationError\n | AndroidConfigurationError;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nconst { DolphinSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static ERROR: SdkState = 'error';\n static READY: SdkState = 'ready';\n static RUNNING: SdkState = 'running';\n static UNINITIALIZED: SdkState = 'uninitialized';\n\n static AUTH_INVALID: ConfigurationError = 'authinvalid';\n static AUTH_EXPIRED: AuthState = 'expired';\n static AUTH_VALID: AuthState = 'valid';\n\n static UNKNOWN: TripState = 'unknown';\n static DRIVING: TripState = 'driving';\n static HALT: TripState = 'halt';\n static IDLE: TripState = 'idle';\n static IGNORED: TripState = 'ignored';\n\n static sdkStateFromNative(nativeSdkState: NativeSdkState): SdkState | null {\n let stateString = nativeSdkState?.toLowerCase() as SdkState;\n\n if (stateString?.includes('(')) {\n stateString = stateString\n ?.substring(0, stateString?.indexOf('('))\n .toLowerCase() as SdkState;\n }\n\n switch (stateString) {\n case 'uninitialized':\n return MoveSdk.UNINITIALIZED;\n\n case 'ready':\n return MoveSdk.READY;\n\n case 'running':\n return MoveSdk.RUNNING;\n\n case 'error':\n return MoveSdk.ERROR;\n default:\n return null;\n }\n }\n\n static tripStateFromNative(\n nativeTripState: NativeTripState\n ): TripState | null {\n const state = nativeTripState?.toLowerCase() as TripState;\n\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(state)\n ) {\n return state;\n }\n\n return null;\n }\n\n static authStateFromNative(\n nativeAuthState: NativeAuthState\n ): AuthState | null {\n const state = nativeAuthState?.toLowerCase() as AuthState;\n\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {\n return state;\n }\n\n return null;\n }\n\n static configurationErrorFromNative(\n nativeInitError: NativeConfigurationError\n ) {\n const state = nativeInitError?.toLowerCase() as ConfigurationError;\n return state;\n }\n\n static initialize(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ) {\n const {\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n } = config;\n\n const { contractId, productId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications, allowMockLocations } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n allowMockLocations,\n ];\n }\n\n NativeMoveSdk.initialize(\n contractId,\n accessToken,\n refreshToken,\n productId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n // Platform config\n ...platformParams\n ).catch((e) => {\n throw new Error(\n `Initialization failed, Exception occured with message ${e.message}`\n );\n });\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static updateAuth(auth: MoveSdkAuth) {\n const { contractId, productId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static synchronizeUserData() {\n NativeMoveSdk.synchronizeUserData();\n }\n\n static shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n static getAuthState(): Promise<AuthState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getAuthState().then((nativeState: NativeAuthState) =>\n resolve(MoveSdk.authStateFromNative(nativeState))\n );\n });\n }\n\n static getState(): Promise<SdkState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getState().then((nativeState: NativeSdkState) =>\n resolve(MoveSdk.sdkStateFromNative(nativeState))\n );\n });\n }\n\n static getTripState(): Promise<TripState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getTripState().then((nativeState: NativeTripState) =>\n resolve(MoveSdk.tripStateFromNative(nativeState))\n );\n });\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState | null) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-TripState', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSDKStateListener(\n sdkStateChanged: (event: { state: SdkState | null }) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-State', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.sdkStateFromNative(event.state),\n };\n\n sdkStateChanged(transformedEvent);\n });\n }\n\n static addInitErrorListener(\n initErrorReceived: (error: ConfigurationError) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-InitError', (event) =>\n initErrorReceived(MoveSdk.configurationErrorFromNative(event.error))\n );\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AuthState', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AppEvent', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static canDrawOverlays(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.canDrawOverlays().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n static isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.isAppIgnoringBatteryOptimization().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","Platform","DolphinSdk","NativeMoveSdk","eventEmitter","MoveSdk","sdkStateFromNative","nativeSdkState","stateString","toLowerCase","includes","substring","indexOf","UNINITIALIZED","READY","RUNNING","ERROR","tripStateFromNative","nativeTripState","state","UNKNOWN","DRIVING","HALT","IDLE","IGNORED","authStateFromNative","nativeAuthState","AUTH_VALID","AUTH_EXPIRED","configurationErrorFromNative","nativeInitError","initialize","config","auth","android","timelineDetectionServices","drivingServices","walkingServices","otherServices","contractId","productId","accessToken","refreshToken","platformParams","OS","notifications","allowMockLocations","tripNotification","recognitionNotification","Error","title","text","channel","id","name","description","catch","e","message","resolveError","updateAuth","startAutomaticDetection","forceTripRecognition","keepInForeground","enabled","console","warn","keepActive","stopAutomaticDetection","synchronizeUserData","Promise","resolve","_reject","then","value","shutdown","getAuthState","nativeState","getState","getTripState","addTripStateListener","tripStateChanged","addListener","event","addSDKStateListener","sdkStateChanged","transformedEvent","addInitErrorListener","initErrorReceived","error","addAuthStateListener","authStateChanged","addAppEventListener","appEventReceived","version","getConstants","finishCurrentTrip","ignoreCurrentTrip","canDrawOverlays","result","requestDrawOverlaysPermission","isAppIgnoringBatteryOptimization","requestAppIgnoringBatteryOptimization"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n Platform,\n EmitterSubscription,\n} from 'react-native';\n\nexport type AndroidSdkState = 'Error' | 'Uninitialised' | 'Ready' | 'Running';\nexport type SdkState = 'error' | 'uninitialized' | 'ready' | 'running';\n\nexport type NativeSdkState = AndroidSdkState | SdkState;\n\nexport type TripState = 'unknown' | 'driving' | 'halt' | 'idle' | 'ignored';\nexport type AuthState = 'unknown' | 'valid' | 'expired';\n\nexport type AndroidTripState =\n | 'UNKNOWN'\n | 'DRIVING'\n | 'HALT'\n | 'IDLE'\n | 'IGNORED';\n\nexport type NativeTripState = AndroidTripState | TripState;\n\nexport type AndroidAuthState = 'UNKNOWN' | 'VALID' | 'EXPIRED';\nexport type IosAuthState = 'unknown' | 'valid' | 'expired';\nexport type NativeAuthState = AndroidAuthState | IosAuthState;\n\nexport type DrivingService = 'DistractionFreeDriving' | 'DrivingBehaviour';\nexport type WalkingService = 'Location';\nexport type OtherService = 'PointsOfInterest';\nexport type TimelineDetectionService =\n | 'DRIVING'\n | 'BICYCLE'\n | 'WALKING'\n | 'PUBLIC_TRANSPORT';\nexport type MoveSdkConfig = {\n timelineDetectionServices: TimelineDetectionService[];\n drivingServices: DrivingService[];\n walkingServices: WalkingService[];\n otherServices: OtherService[];\n};\n\nexport type MoveSdkAuth = {\n contractId: string;\n accessToken: string;\n refreshToken: string;\n productId: number;\n};\n\nexport type NotificationConfig = {\n title: string;\n text: string;\n channel: { id: string; name: string; description: string };\n};\n\nexport type MoveSdkAndroidConfig = {\n notifications: {\n recognitionNotification: NotificationConfig;\n tripNotification: NotificationConfig;\n };\n allowMockLocations: boolean;\n};\n\nexport type ListenerSubscription = EmitterSubscription;\n\nexport type ConfigurationError =\n | 'authinvalid'\n | 'configmismatch'\n | 'serviceunreachable';\n\nexport type IosConfigurationError =\n | 'serviceUnreachable'\n | 'authInvalid'\n | 'configMismatch';\n\nexport type AndroidConfigurationError =\n | 'ServiceUnreachable'\n | 'AuthInvalid'\n | 'ConfigMismatch';\n\nexport type NativeConfigurationError =\n | IosConfigurationError\n | AndroidConfigurationError;\n\nexport type AuthStateEvent = {\n state: AuthState;\n accessToken?: string;\n refreshToken?: string;\n};\n\nconst { DolphinSdk: NativeMoveSdk } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativeMoveSdk);\n\nexport default class MoveSdk {\n static ERROR: SdkState = 'error';\n static READY: SdkState = 'ready';\n static RUNNING: SdkState = 'running';\n static UNINITIALIZED: SdkState = 'uninitialized';\n\n static AUTH_INVALID: ConfigurationError = 'authinvalid';\n static AUTH_EXPIRED: AuthState = 'expired';\n static AUTH_VALID: AuthState = 'valid';\n\n static UNKNOWN: TripState = 'unknown';\n static DRIVING: TripState = 'driving';\n static HALT: TripState = 'halt';\n static IDLE: TripState = 'idle';\n static IGNORED: TripState = 'ignored';\n\n static sdkStateFromNative(nativeSdkState: NativeSdkState): SdkState | null {\n let stateString = nativeSdkState?.toLowerCase() as SdkState;\n\n if (stateString?.includes('(')) {\n stateString = stateString\n ?.substring(0, stateString?.indexOf('('))\n .toLowerCase() as SdkState;\n }\n\n switch (stateString) {\n case 'uninitialized':\n return MoveSdk.UNINITIALIZED;\n\n case 'ready':\n return MoveSdk.READY;\n\n case 'running':\n return MoveSdk.RUNNING;\n\n case 'error':\n return MoveSdk.ERROR;\n default:\n return null;\n }\n }\n\n static tripStateFromNative(\n nativeTripState: NativeTripState\n ): TripState | null {\n const state = nativeTripState?.toLowerCase() as TripState;\n\n if (\n [\n MoveSdk.UNKNOWN,\n MoveSdk.DRIVING,\n MoveSdk.HALT,\n MoveSdk.IDLE,\n MoveSdk.IGNORED,\n ].includes(state)\n ) {\n return state;\n }\n\n return null;\n }\n\n static authStateFromNative(\n nativeAuthState: NativeAuthState\n ): AuthState | null {\n const state = nativeAuthState?.toLowerCase() as AuthState;\n\n if ([MoveSdk.AUTH_VALID, MoveSdk.AUTH_EXPIRED].includes(state)) {\n return state;\n }\n\n return null;\n }\n\n static configurationErrorFromNative(\n nativeInitError: NativeConfigurationError\n ) {\n const state = nativeInitError?.toLowerCase() as ConfigurationError;\n return state;\n }\n\n static initialize(\n config: MoveSdkConfig,\n auth: MoveSdkAuth,\n android: MoveSdkAndroidConfig\n ) {\n const {\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n } = config;\n\n const { contractId, productId, accessToken, refreshToken } = auth;\n\n let platformParams: Array<string | boolean> = [];\n if (Platform.OS === 'android') {\n const { notifications, allowMockLocations } = android;\n\n const { tripNotification, recognitionNotification } = notifications;\n\n if (!tripNotification || !recognitionNotification) {\n throw new Error(\n 'MOVE SDK needs notification configuration for Android'\n );\n }\n\n platformParams = [\n recognitionNotification.title,\n recognitionNotification.text,\n recognitionNotification.channel.id,\n recognitionNotification.channel.name,\n recognitionNotification.channel.description,\n tripNotification.title,\n tripNotification.text,\n tripNotification.channel.id,\n tripNotification.channel.name,\n tripNotification.channel.description,\n allowMockLocations,\n ];\n }\n\n NativeMoveSdk.initialize(\n contractId,\n accessToken,\n refreshToken,\n productId,\n // Config\n timelineDetectionServices,\n drivingServices,\n walkingServices,\n otherServices,\n // Platform config\n ...platformParams\n ).catch((e) => {\n throw new Error(\n `Initialization failed, Exception occured with message ${e.message}`\n );\n });\n }\n\n static resolveError() {\n NativeMoveSdk.resolveError();\n }\n\n static updateAuth(auth: MoveSdkAuth) {\n const { contractId, productId, accessToken, refreshToken } = auth;\n NativeMoveSdk.updateAuth(contractId, accessToken, refreshToken, productId);\n }\n\n static startAutomaticDetection() {\n NativeMoveSdk.startAutomaticDetection();\n }\n\n static forceTripRecognition() {\n NativeMoveSdk.forceTripRecognition();\n }\n\n static keepInForeground(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepInForeground(enabled);\n } else {\n console.warn('MoveSdk.keepInForeground() is Android OS only.');\n }\n }\n\n static keepActive(enabled: boolean) {\n if (Platform.OS === 'android') {\n NativeMoveSdk.keepActive(enabled);\n } else {\n console.warn('MoveSdk.keepActive() is Android OS only.');\n }\n }\n\n static stopAutomaticDetection() {\n NativeMoveSdk.stopAutomaticDetection();\n }\n\n static synchronizeUserData(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.synchronizeUserData().then((value: boolean) =>\n resolve(value)\n );\n });\n }\n\n static shutdown() {\n NativeMoveSdk.shutdown();\n }\n\n static getAuthState(): Promise<AuthState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getAuthState().then((nativeState: NativeAuthState) =>\n resolve(MoveSdk.authStateFromNative(nativeState))\n );\n });\n }\n\n static getState(): Promise<SdkState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getState().then((nativeState: NativeSdkState) =>\n resolve(MoveSdk.sdkStateFromNative(nativeState))\n );\n });\n }\n\n static getTripState(): Promise<TripState | null> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.getTripState().then((nativeState: NativeTripState) =>\n resolve(MoveSdk.tripStateFromNative(nativeState))\n );\n });\n }\n\n static addTripStateListener(\n tripStateChanged: (state: TripState | null) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-TripState', (event) =>\n tripStateChanged(MoveSdk.tripStateFromNative(event.state))\n );\n }\n\n static addSDKStateListener(\n sdkStateChanged: (event: { state: SdkState | null }) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-State', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.sdkStateFromNative(event.state),\n };\n\n sdkStateChanged(transformedEvent);\n });\n }\n\n static addInitErrorListener(\n initErrorReceived: (error: ConfigurationError) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-InitError', (event) =>\n initErrorReceived(MoveSdk.configurationErrorFromNative(event.error))\n );\n }\n\n static addAuthStateListener(\n authStateChanged: (event: AuthStateEvent) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AuthState', (event) => {\n const transformedEvent = {\n ...event,\n state: MoveSdk.authStateFromNative(event.state),\n };\n authStateChanged(transformedEvent);\n });\n }\n\n static addAppEventListener(\n appEventReceived: (event: string) => void\n ): ListenerSubscription {\n return eventEmitter.addListener('DolphinSdk-AppEvent', (event) => {\n appEventReceived(event);\n });\n }\n\n static version(): string {\n return Platform.OS === 'android'\n ? NativeMoveSdk.getConstants().version\n : 'Unknown';\n }\n\n static finishCurrentTrip() {\n NativeMoveSdk.finishCurrentTrip();\n }\n\n static ignoreCurrentTrip() {\n NativeMoveSdk.ignoreCurrentTrip();\n }\n\n // **** PERMISSIONS MODULE START *****\n\n static canDrawOverlays(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.canDrawOverlays().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestDrawOverlaysPermission() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestDrawOverlaysPermission();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n static isAppIgnoringBatteryOptimization(): Promise<boolean> {\n return new Promise((resolve, _reject) => {\n NativeMoveSdk.isAppIgnoringBatteryOptimization().then((result: boolean) =>\n resolve(result)\n );\n });\n }\n\n static requestAppIgnoringBatteryOptimization() {\n if (Platform.OS === 'android') {\n NativeMoveSdk.requestAppIgnoringBatteryOptimization();\n } else {\n console.warn(\n 'MoveSdk.requestAppIgnoringBatteryOptimization() is Android OS only.'\n );\n }\n }\n\n // **** PERMISSIONS MODULE END *****\n}\n"]}
|
|
@@ -76,7 +76,7 @@ export default class MoveSdk {
|
|
|
76
76
|
static keepInForeground(enabled: boolean): void;
|
|
77
77
|
static keepActive(enabled: boolean): void;
|
|
78
78
|
static stopAutomaticDetection(): void;
|
|
79
|
-
static synchronizeUserData():
|
|
79
|
+
static synchronizeUserData(): Promise<boolean>;
|
|
80
80
|
static shutdown(): void;
|
|
81
81
|
static getAuthState(): Promise<AuthState | null>;
|
|
82
82
|
static getState(): Promise<SdkState | null>;
|
package/package.json
CHANGED
|
@@ -10,11 +10,11 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = package["license"]
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
|
-
s.platforms = { :ios => "
|
|
13
|
+
s.platforms = { :ios => "11.0" }
|
|
14
14
|
|
|
15
15
|
s.source = { :git => "https://github.com/***", :tag=> "v#{s.version}" }
|
|
16
16
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
17
17
|
|
|
18
18
|
s.dependency 'React'
|
|
19
|
-
s.dependency 'DolphinMoveSDK', '1.
|
|
19
|
+
s.dependency 'DolphinMoveSDK', '1.6.2.196'
|
|
20
20
|
end
|
package/src/index.ts
CHANGED
|
@@ -270,8 +270,12 @@ export default class MoveSdk {
|
|
|
270
270
|
NativeMoveSdk.stopAutomaticDetection();
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
static synchronizeUserData() {
|
|
274
|
-
|
|
273
|
+
static synchronizeUserData(): Promise<boolean> {
|
|
274
|
+
return new Promise((resolve, _reject) => {
|
|
275
|
+
NativeMoveSdk.synchronizeUserData().then((value: boolean) =>
|
|
276
|
+
resolve(value)
|
|
277
|
+
);
|
|
278
|
+
});
|
|
275
279
|
}
|
|
276
280
|
|
|
277
281
|
static shutdown() {
|