react-native-okhi 1.2.11 → 1.2.12-beta.2

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.
@@ -127,7 +127,7 @@ dependencies {
127
127
  //noinspection GradleDynamicVersion
128
128
  implementation "com.facebook.react:react-native:+"
129
129
  implementation 'io.okhi.android:core:1.7.17'
130
- implementation 'io.okhi.android:okverify:1.9.39'
130
+ implementation 'io.okhi.android:okverify:1.9.41'
131
131
  // From node_modules
132
132
  }
133
133
 
@@ -317,6 +317,21 @@ public class OkhiModule extends ReactContextBaseJavaModule {
317
317
  }
318
318
  }
319
319
 
320
+ @ReactMethod
321
+ public void getItem(String key, Promise promise) {
322
+ try {
323
+ promise.resolve(OkPreference.getItem(key, getReactApplicationContext()));
324
+ } catch (OkHiException e) {
325
+ promise.reject(e.getCode(), e.getMessage(), e);
326
+ e.printStackTrace();
327
+ }
328
+ }
329
+
330
+ @ReactMethod
331
+ public void fetchRegisteredGeofences(Promise promise) {
332
+ promise.resolve(OkVerify.fetchRegisteredGeofences(getReactApplicationContext()));
333
+ }
334
+
320
335
  @ReactMethod
321
336
  public void onNewToken(String fcmPushNotificationToken, Promise promise) {
322
337
  OkVerifyPushNotificationService.onNewToken(fcmPushNotificationToken, getReactApplicationContext());
package/ios/Okhi.m CHANGED
@@ -51,4 +51,6 @@ RCT_EXTERN_METHOD(retrieveDeviceInfo: (RCTPromiseResolveBlock)resolve reject:(RC
51
51
 
52
52
  RCT_EXTERN_METHOD(onStart: (RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
53
53
 
54
+ RCT_EXTERN_METHOD(fetchRegisteredGeofences: (RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
55
+
54
56
  @end
package/ios/Okhi.swift CHANGED
@@ -190,6 +190,20 @@ class Okhi: RCTEventEmitter {
190
190
  resolve(result)
191
191
  }
192
192
  }
193
+
194
+ @objc public func fetchRegisteredGeofences(_ resolve: RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) {
195
+ do {
196
+ let geofences: [[String: Any]] = OkVerify.fetchRegisteredGeofences()
197
+ let jsonData = try JSONSerialization.data(withJSONObject: geofences, options: [])
198
+ guard let jsonString = String(data: jsonData, encoding: .utf8) else {
199
+ resolve(NSNull())
200
+ return
201
+ }
202
+ resolve(jsonString)
203
+ } catch {
204
+ resolve(NSNull())
205
+ }
206
+ }
193
207
  }
194
208
 
195
209
  // MARK: - OkHi Utils
@@ -169,6 +169,7 @@ const OkHiLocationManager = props => {
169
169
  try {
170
170
  const response = JSON.parse(data);
171
171
  if (response.message === 'fatal_exit') {
172
+ console.error(response);
172
173
  onError(new _OkHiException.OkHiException({
173
174
  code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
174
175
  message: 'Something went wrong, please try again later.'
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n console.error(response);\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
@@ -28,6 +28,10 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
28
28
  osVersion,
29
29
  platform
30
30
  } = await _OkHiNativeModule.OkHiNativeModule.retrieveDeviceInfo();
31
+ const geofences = await _OkHiNativeModule.OkHiNativeModule.fetchRegisteredGeofences();
32
+ if (geofences) {
33
+ payload.locations = JSON.parse(geofences);
34
+ }
31
35
  payload.style = !props.theme ? undefined : {
32
36
  base: {
33
37
  color: (_props$theme = props.theme) === null || _props$theme === void 0 || (_props$theme = _props$theme.colors) === null || _props$theme === void 0 ? void 0 : _props$theme.primary,
@@ -1 +1 @@
1
- {"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","obj","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","obj","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n };\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.11"
3
+ "version": "1.2.12-beta.2"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OkHiNativeModule","NativeModules","Okhi","Proxy","get","Error","exports","OkHiNativeEvents","NativeEventEmitter","addListener"],"sources":["index.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\n\nconst LINKING_ERROR =\n `The package 'react-native-okhi' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype OkHiNativeModuleType = {\n isLocationServicesEnabled(): Promise<boolean>;\n isLocationPermissionGranted(): Promise<boolean>;\n isBackgroundLocationPermissionGranted(): Promise<boolean>;\n requestLocationPermission(): Promise<boolean>;\n requestBackgroundLocationPermission(): Promise<boolean>;\n requestEnableLocationServices(): Promise<boolean>;\n isGooglePlayServicesAvailable(): Promise<boolean>;\n requestEnableGooglePlayServices(): Promise<boolean>;\n getSystemVersion(): Promise<number | string>;\n getAuthToken(branchId: string, clientKey: string): Promise<string>;\n initialize(configuration: string): Promise<void>;\n startAddressVerification(\n phoneNumber: string,\n locationId: string,\n lat: Number,\n lon: Number,\n configuration?: OkVerifyStartConfiguration,\n fcmPushNotificationToken?: string\n ): Promise<string>;\n stopAddressVerification(\n phoneNumber: string,\n locationId: string\n ): Promise<string>;\n startForegroundService(): Promise<boolean>;\n stopForegroundService(): Promise<boolean>;\n isForegroundServiceRunning(): Promise<boolean>;\n initializeIOS(\n branchId: string,\n clientKey: string,\n environment: string\n ): Promise<boolean>;\n openAppSettings(): Promise<void>;\n retriveLocationPermissionStatus(): Promise<string>;\n requestTrackingAuthorization(): Promise<string | null>;\n canOpenProtectedAppsSettings(): Promise<boolean>;\n openProtectedAppsSettings(): Promise<boolean>;\n retrieveDeviceInfo(): Promise<{\n manufacturer: string;\n model: string;\n osVersion: string;\n platform: 'android' | 'ios';\n }>;\n setItem(key: string, value: string): Promise<boolean>;\n onNewToken(fcmPushNotificationToken: string): Promise<boolean>;\n onMessageReceived(): Promise<boolean>;\n isNotificationPermissionGranted(): Promise<boolean>;\n requestNotificationPermission(): Promise<boolean>;\n fetchCurrentLocation(): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n }>;\n fetchIOSLocationPermissionStatus(): Promise<\n | 'notDetermined'\n | 'restricted'\n | 'denied'\n | 'authorizedAlways'\n | 'authorizedWhenInUse'\n | 'authorized'\n | 'unknown'\n >;\n onStart(): Promise<boolean>;\n};\n\nexport const OkHiNativeModule: OkHiNativeModuleType = NativeModules.Okhi\n ? NativeModules.Okhi\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const OkHiNativeEvents = new NativeEventEmitter(NativeModules.Okhi);\n\nOkHiNativeEvents.addListener('onLocationPermissionStatusUpdate', () => null);\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GAChB,4EAA2E,GAC5EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAmExC,MAAMC,gBAAsC,GAAGC,0BAAa,CAACC,IAAI,GACpED,0BAAa,CAACC,IAAI,GAClB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAACW,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEC,MAAMO,gBAAgB,GAAG,IAAIC,+BAAkB,CAACP,0BAAa,CAACC,IAAI,CAAC;AAACI,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAE3EA,gBAAgB,CAACE,WAAW,CAAC,kCAAkC,EAAE,MAAM,IAAI,CAAC"}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OkHiNativeModule","NativeModules","Okhi","Proxy","get","Error","exports","OkHiNativeEvents","NativeEventEmitter","addListener"],"sources":["index.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\n\nconst LINKING_ERROR =\n `The package 'react-native-okhi' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype OkHiNativeModuleType = {\n isLocationServicesEnabled(): Promise<boolean>;\n isLocationPermissionGranted(): Promise<boolean>;\n isBackgroundLocationPermissionGranted(): Promise<boolean>;\n requestLocationPermission(): Promise<boolean>;\n requestBackgroundLocationPermission(): Promise<boolean>;\n requestEnableLocationServices(): Promise<boolean>;\n isGooglePlayServicesAvailable(): Promise<boolean>;\n requestEnableGooglePlayServices(): Promise<boolean>;\n getSystemVersion(): Promise<number | string>;\n getAuthToken(branchId: string, clientKey: string): Promise<string>;\n initialize(configuration: string): Promise<void>;\n startAddressVerification(\n phoneNumber: string,\n locationId: string,\n lat: Number,\n lon: Number,\n configuration?: OkVerifyStartConfiguration,\n fcmPushNotificationToken?: string\n ): Promise<string>;\n stopAddressVerification(\n phoneNumber: string,\n locationId: string\n ): Promise<string>;\n startForegroundService(): Promise<boolean>;\n stopForegroundService(): Promise<boolean>;\n isForegroundServiceRunning(): Promise<boolean>;\n initializeIOS(\n branchId: string,\n clientKey: string,\n environment: string\n ): Promise<boolean>;\n openAppSettings(): Promise<void>;\n retriveLocationPermissionStatus(): Promise<string>;\n requestTrackingAuthorization(): Promise<string | null>;\n canOpenProtectedAppsSettings(): Promise<boolean>;\n openProtectedAppsSettings(): Promise<boolean>;\n retrieveDeviceInfo(): Promise<{\n manufacturer: string;\n model: string;\n osVersion: string;\n platform: 'android' | 'ios';\n }>;\n setItem(key: string, value: string): Promise<boolean>;\n onNewToken(fcmPushNotificationToken: string): Promise<boolean>;\n onMessageReceived(): Promise<boolean>;\n isNotificationPermissionGranted(): Promise<boolean>;\n requestNotificationPermission(): Promise<boolean>;\n fetchCurrentLocation(): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n }>;\n fetchIOSLocationPermissionStatus(): Promise<\n | 'notDetermined'\n | 'restricted'\n | 'denied'\n | 'authorizedAlways'\n | 'authorizedWhenInUse'\n | 'authorized'\n | 'unknown'\n >;\n onStart(): Promise<boolean>;\n fetchRegisteredGeofences(): Promise<string | null>;\n};\n\nexport const OkHiNativeModule: OkHiNativeModuleType = NativeModules.Okhi\n ? NativeModules.Okhi\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const OkHiNativeEvents = new NativeEventEmitter(NativeModules.Okhi);\n\nOkHiNativeEvents.addListener('onLocationPermissionStatusUpdate', () => null);\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GAChB,4EAA2E,GAC5EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAoExC,MAAMC,gBAAsC,GAAGC,0BAAa,CAACC,IAAI,GACpED,0BAAa,CAACC,IAAI,GAClB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAACW,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEC,MAAMO,gBAAgB,GAAG,IAAIC,+BAAkB,CAACP,0BAAa,CAACC,IAAI,CAAC;AAACI,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAE3EA,gBAAgB,CAACE,WAAW,CAAC,kCAAkC,EAAE,MAAM,IAAI,CAAC"}
@@ -162,6 +162,7 @@ export const OkHiLocationManager = props => {
162
162
  try {
163
163
  const response = JSON.parse(data);
164
164
  if (response.message === 'fatal_exit') {
165
+ console.error(response);
165
166
  onError(new OkHiException({
166
167
  code: OkHiException.UNKNOWN_ERROR_CODE,
167
168
  message: 'Something went wrong, please try again later.'
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useRef","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","isBackgroundLocationPermissionGranted","isLocationServicesEnabled","openAppSettings","openProtectedAppsSettings","requestBackgroundLocationPermission","requestLocationPermission","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","startMessage","mode","ready","setReady","phone","then","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","OS","Version","setItem","JSON","stringify","payload","url","console","permissionsOnboarding","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","alwaysResult","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","fcmPushNotificationToken","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","jsAfterLoad","jsBeforeLoad","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","animationType","transparent","visible","onRequestClose"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","useEffect","useRef","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","isBackgroundLocationPermissionGranted","isLocationServicesEnabled","openAppSettings","openProtectedAppsSettings","requestBackgroundLocationPermission","requestLocationPermission","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","startMessage","mode","ready","setReady","phone","then","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","OS","Version","setItem","JSON","stringify","payload","url","console","permissionsOnboarding","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","alwaysResult","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","fcmPushNotificationToken","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","jsAfterLoad","jsBeforeLoad","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","animationType","transparent","visible","onRequestClose"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n console.error(response);\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
@@ -21,6 +21,10 @@ export const generateStartDataPayload = async (props, authToken, applicationConf
21
21
  osVersion,
22
22
  platform
23
23
  } = await OkHiNativeModule.retrieveDeviceInfo();
24
+ const geofences = await OkHiNativeModule.fetchRegisteredGeofences();
25
+ if (geofences) {
26
+ payload.locations = JSON.parse(geofences);
27
+ }
24
28
  payload.style = !props.theme ? undefined : {
25
29
  base: {
26
30
  color: (_props$theme = props.theme) === null || _props$theme === void 0 || (_props$theme = _props$theme.colors) === null || _props$theme === void 0 ? void 0 : _props$theme.primary,
@@ -1 +1 @@
1
- {"version":3,"names":["canOpenProtectedAppsSettings","isBackgroundLocationPermissionGranted","isLocationPermissionGranted","OkHiException","OkHiMode","manifest","Platform","OkHiNativeModule","fetchCurrentLocation","result","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","OS","permissionsOnboarding","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","error","console","log","hasBackgroundLocationPermission","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["canOpenProtectedAppsSettings","isBackgroundLocationPermissionGranted","isLocationPermissionGranted","OkHiException","OkHiMode","manifest","Platform","OkHiNativeModule","fetchCurrentLocation","result","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","OS","permissionsOnboarding","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","error","console","log","hasBackgroundLocationPermission","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n };\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.11"
3
+ "version": "1.2.12-beta.2"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","default","OkHiNativeModule","Okhi","Proxy","get","Error","OkHiNativeEvents","addListener"],"sources":["index.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\n\nconst LINKING_ERROR =\n `The package 'react-native-okhi' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype OkHiNativeModuleType = {\n isLocationServicesEnabled(): Promise<boolean>;\n isLocationPermissionGranted(): Promise<boolean>;\n isBackgroundLocationPermissionGranted(): Promise<boolean>;\n requestLocationPermission(): Promise<boolean>;\n requestBackgroundLocationPermission(): Promise<boolean>;\n requestEnableLocationServices(): Promise<boolean>;\n isGooglePlayServicesAvailable(): Promise<boolean>;\n requestEnableGooglePlayServices(): Promise<boolean>;\n getSystemVersion(): Promise<number | string>;\n getAuthToken(branchId: string, clientKey: string): Promise<string>;\n initialize(configuration: string): Promise<void>;\n startAddressVerification(\n phoneNumber: string,\n locationId: string,\n lat: Number,\n lon: Number,\n configuration?: OkVerifyStartConfiguration,\n fcmPushNotificationToken?: string\n ): Promise<string>;\n stopAddressVerification(\n phoneNumber: string,\n locationId: string\n ): Promise<string>;\n startForegroundService(): Promise<boolean>;\n stopForegroundService(): Promise<boolean>;\n isForegroundServiceRunning(): Promise<boolean>;\n initializeIOS(\n branchId: string,\n clientKey: string,\n environment: string\n ): Promise<boolean>;\n openAppSettings(): Promise<void>;\n retriveLocationPermissionStatus(): Promise<string>;\n requestTrackingAuthorization(): Promise<string | null>;\n canOpenProtectedAppsSettings(): Promise<boolean>;\n openProtectedAppsSettings(): Promise<boolean>;\n retrieveDeviceInfo(): Promise<{\n manufacturer: string;\n model: string;\n osVersion: string;\n platform: 'android' | 'ios';\n }>;\n setItem(key: string, value: string): Promise<boolean>;\n onNewToken(fcmPushNotificationToken: string): Promise<boolean>;\n onMessageReceived(): Promise<boolean>;\n isNotificationPermissionGranted(): Promise<boolean>;\n requestNotificationPermission(): Promise<boolean>;\n fetchCurrentLocation(): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n }>;\n fetchIOSLocationPermissionStatus(): Promise<\n | 'notDetermined'\n | 'restricted'\n | 'denied'\n | 'authorizedAlways'\n | 'authorizedWhenInUse'\n | 'authorized'\n | 'unknown'\n >;\n onStart(): Promise<boolean>;\n};\n\nexport const OkHiNativeModule: OkHiNativeModuleType = NativeModules.Okhi\n ? NativeModules.Okhi\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const OkHiNativeEvents = new NativeEventEmitter(NativeModules.Okhi);\n\nOkHiNativeEvents.addListener('onLocationPermissionStatusUpdate', () => null);\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAG1E,MAAMC,aAAa,GAChB,4EAA2E,GAC5ED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAmE/C,OAAO,MAAMC,gBAAsC,GAAGP,aAAa,CAACQ,IAAI,GACpER,aAAa,CAACQ,IAAI,GAClB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,MAAMS,gBAAgB,GAAG,IAAIX,kBAAkB,CAACD,aAAa,CAACQ,IAAI,CAAC;AAE1EI,gBAAgB,CAACC,WAAW,CAAC,kCAAkC,EAAE,MAAM,IAAI,CAAC"}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","default","OkHiNativeModule","Okhi","Proxy","get","Error","OkHiNativeEvents","addListener"],"sources":["index.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\n\nconst LINKING_ERROR =\n `The package 'react-native-okhi' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype OkHiNativeModuleType = {\n isLocationServicesEnabled(): Promise<boolean>;\n isLocationPermissionGranted(): Promise<boolean>;\n isBackgroundLocationPermissionGranted(): Promise<boolean>;\n requestLocationPermission(): Promise<boolean>;\n requestBackgroundLocationPermission(): Promise<boolean>;\n requestEnableLocationServices(): Promise<boolean>;\n isGooglePlayServicesAvailable(): Promise<boolean>;\n requestEnableGooglePlayServices(): Promise<boolean>;\n getSystemVersion(): Promise<number | string>;\n getAuthToken(branchId: string, clientKey: string): Promise<string>;\n initialize(configuration: string): Promise<void>;\n startAddressVerification(\n phoneNumber: string,\n locationId: string,\n lat: Number,\n lon: Number,\n configuration?: OkVerifyStartConfiguration,\n fcmPushNotificationToken?: string\n ): Promise<string>;\n stopAddressVerification(\n phoneNumber: string,\n locationId: string\n ): Promise<string>;\n startForegroundService(): Promise<boolean>;\n stopForegroundService(): Promise<boolean>;\n isForegroundServiceRunning(): Promise<boolean>;\n initializeIOS(\n branchId: string,\n clientKey: string,\n environment: string\n ): Promise<boolean>;\n openAppSettings(): Promise<void>;\n retriveLocationPermissionStatus(): Promise<string>;\n requestTrackingAuthorization(): Promise<string | null>;\n canOpenProtectedAppsSettings(): Promise<boolean>;\n openProtectedAppsSettings(): Promise<boolean>;\n retrieveDeviceInfo(): Promise<{\n manufacturer: string;\n model: string;\n osVersion: string;\n platform: 'android' | 'ios';\n }>;\n setItem(key: string, value: string): Promise<boolean>;\n onNewToken(fcmPushNotificationToken: string): Promise<boolean>;\n onMessageReceived(): Promise<boolean>;\n isNotificationPermissionGranted(): Promise<boolean>;\n requestNotificationPermission(): Promise<boolean>;\n fetchCurrentLocation(): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n }>;\n fetchIOSLocationPermissionStatus(): Promise<\n | 'notDetermined'\n | 'restricted'\n | 'denied'\n | 'authorizedAlways'\n | 'authorizedWhenInUse'\n | 'authorized'\n | 'unknown'\n >;\n onStart(): Promise<boolean>;\n fetchRegisteredGeofences(): Promise<string | null>;\n};\n\nexport const OkHiNativeModule: OkHiNativeModuleType = NativeModules.Okhi\n ? NativeModules.Okhi\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const OkHiNativeEvents = new NativeEventEmitter(NativeModules.Okhi);\n\nOkHiNativeEvents.addListener('onLocationPermissionStatusUpdate', () => null);\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAG1E,MAAMC,aAAa,GAChB,4EAA2E,GAC5ED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAoE/C,OAAO,MAAMC,gBAAsC,GAAGP,aAAa,CAACQ,IAAI,GACpER,aAAa,CAACQ,IAAI,GAClB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,MAAMS,gBAAgB,GAAG,IAAIX,kBAAkB,CAACD,aAAa,CAACQ,IAAI,CAAC;AAE1EI,gBAAgB,CAACC,WAAW,CAAC,kCAAkC,EAAE,MAAM,IAAI,CAAC"}
@@ -41,6 +41,7 @@ type OkHiNativeModuleType = {
41
41
  }>;
42
42
  fetchIOSLocationPermissionStatus(): Promise<'notDetermined' | 'restricted' | 'denied' | 'authorizedAlways' | 'authorizedWhenInUse' | 'authorized' | 'unknown'>;
43
43
  onStart(): Promise<boolean>;
44
+ fetchRegisteredGeofences(): Promise<string | null>;
44
45
  };
45
46
  export declare const OkHiNativeModule: OkHiNativeModuleType;
46
47
  export declare const OkHiNativeEvents: NativeEventEmitter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-okhi",
3
- "version": "1.2.11",
3
+ "version": "1.2.12-beta.2",
4
4
  "description": "The OkHi React Native library enables you to collect and verify addresses from your users",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "OkHi", "1.9.34"
20
+ s.dependency "OkHi", "1.9.35"
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
@@ -207,6 +207,7 @@ export const OkHiLocationManager = (props: OkHiLocationManagerProps) => {
207
207
  const response: OkHiLocationManagerResponse = JSON.parse(data);
208
208
 
209
209
  if (response.message === 'fatal_exit') {
210
+ console.error(response);
210
211
  onError(
211
212
  new OkHiException({
212
213
  code: OkHiException.UNKNOWN_ERROR_CODE,
@@ -36,6 +36,10 @@ export const generateStartDataPayload = async (
36
36
  const payload: any = {};
37
37
  const { manufacturer, model, osVersion, platform } =
38
38
  await OkHiNativeModule.retrieveDeviceInfo();
39
+ const geofences = await OkHiNativeModule.fetchRegisteredGeofences();
40
+ if (geofences) {
41
+ payload.locations = JSON.parse(geofences);
42
+ }
39
43
  payload.style = !props.theme
40
44
  ? undefined
41
45
  : {
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.11"
3
+ "version": "1.2.12-beta.2"
4
4
  }
@@ -70,6 +70,7 @@ type OkHiNativeModuleType = {
70
70
  | 'unknown'
71
71
  >;
72
72
  onStart(): Promise<boolean>;
73
+ fetchRegisteredGeofences(): Promise<string | null>;
73
74
  };
74
75
 
75
76
  export const OkHiNativeModule: OkHiNativeModuleType = NativeModules.Okhi