banking_dcb_sdk_react_native 2.0.7 → 2.0.9

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.
@@ -3,13 +3,11 @@
3
3
  import { APICall } from "./network/APICall.js";
4
4
  import { DeviceInfoManager } from "./utils/deviceInfoManager.js";
5
5
  import { LibraryConstants } from "./utils/LibraryConstants.js";
6
- import { WebViewCallback } from "./utils/webviewCallback.js";
7
6
  import { ServiceNames } from "./ServiceNames.js";
8
7
  import { Constants } from "./utils/Constants.js";
9
8
  import { SafeAreaView } from 'react-native-safe-area-context';
10
- import { PermissionsAndroid, Platform, StatusBar } from 'react-native';
9
+ import { StatusBar } from 'react-native';
11
10
  import * as base64js from 'base64-js';
12
- import GetLocation from 'react-native-get-location';
13
11
  import { PreloadedWebView } from "./utils/preLoadedWebView.js";
14
12
 
15
13
  // Extend the global type to include base64FromArrayBuffer
@@ -144,24 +142,30 @@ export class BankingDcbReactNative {
144
142
  console.log('Device Info:', deviceInfo);
145
143
  console.log('App Version:', appVersion);
146
144
  }
147
- const position = await this._getCurrentLocationIfPossible(WebViewCallbackFunction);
148
- if (!position) {
149
- if (__DEV__) console.log('SDK:LOG: location fetched is : ', position);
150
- return null;
151
- }
152
- const latitude = String(position.latitude);
153
- const longitude = String(position.longitude);
154
- const accuracy = String(position.accuracy);
145
+
146
+ // const position = await this._getCurrentLocationIfPossible(
147
+ // WebViewCallbackFunction
148
+ // );
149
+
150
+ // if (!position) {
151
+ // if (__DEV__) console.log('SDK:LOG: location fetched is : ', position);
152
+ // return null;
153
+ // }
154
+
155
+ // const latitude = String(position.latitude);
156
+ // const longitude = String(position.longitude);
157
+ // const accuracy = String(position.accuracy);
158
+
155
159
  const body = {
156
160
  [Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
157
161
  [Constants.MODEL]: deviceInfo[Constants.MODEL],
158
162
  [Constants.DEVICE_UUID]: deviceInfo[Constants.DEVICE_UUID],
159
163
  [Constants.OS]: deviceInfo[Constants.OS],
160
164
  [Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
161
- [Constants.APP_VERSION]: appVersion,
162
- [Constants.LATITUDE]: latitude,
163
- [Constants.LONGITUDE]: longitude,
164
- [Constants.ACCURACY]: accuracy
165
+ [Constants.APP_VERSION]: appVersion
166
+ // [Constants.LATITUDE]: latitude,
167
+ // [Constants.LONGITUDE]: longitude,
168
+ // [Constants.ACCURACY]: accuracy,
165
169
  };
166
170
  if (__DEV__) console.log('SDK:LOG: body for device session is : ', body);
167
171
  const response = await this._apiCall.callAPI('POST', ServiceNames.DEVICE_SESSION.params({
@@ -304,61 +308,91 @@ export class BankingDcbReactNative {
304
308
  };
305
309
  }
306
310
  }
307
- async _getCurrentLocationIfPossible(webViewCallback) {
308
- try {
309
- console.log('SDK:LOG: in get current location');
310
- if (Platform.OS === 'android') {
311
- const hasFineLocation = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
312
- let result;
313
- if (!hasFineLocation) {
314
- result = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
315
- } else {
316
- result = PermissionsAndroid.RESULTS.GRANTED;
317
- }
318
- console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
319
- if (result === PermissionsAndroid.RESULTS.DENIED) {
320
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED'));
321
- return null;
322
- }
323
- if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
324
- // ToastAndroid.show(
325
- // 'Location permission denied. Please enable it from Settings.',
326
- // ToastAndroid.LONG
327
- // );
328
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED'));
329
- return null;
330
- }
331
- }
332
- const location = await GetLocation.getCurrentPosition({
333
- enableHighAccuracy: true,
334
- timeout: 15000
335
- });
336
- if (__DEV__) {
337
- console.log('SDK:LOG: 📍 Got position via GetLocation:', {
338
- latitude: location.latitude,
339
- longitude: location.longitude,
340
- accuracy: location.accuracy,
341
- time: location.time
342
- });
343
- }
344
- return location;
345
- } catch (error) {
346
- console.log('SDK:LOG: CATCH 1 - Error while fetching location:', error);
347
- console.log('SDK:LOG: Error while fetching location (GetLocation):', error);
348
- const code = error?.code;
349
- if (code === 'UNAUTHORIZED') {
350
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED'));
351
- } else if (code === 'UNAVAILABLE') {
352
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED'));
353
- } else if (code === 'TIMEOUT') {
354
- console.log('SDK:LOG: CATCH 2 - Error while fetching location:', error);
355
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
356
- } else {
357
- console.log('SDK:LOG: CATCH 3 - Error while fetching location:', error);
358
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
359
- }
360
- return null;
361
- }
362
- }
311
+
312
+ // private async _getCurrentLocationIfPossible(
313
+ // webViewCallback: WebViewCallbackFunction
314
+ // ): Promise<Location | null> {
315
+ // try {
316
+ // console.log('SDK:LOG: in get current location');
317
+
318
+ // if (Platform.OS === 'android') {
319
+ // const hasFineLocation = await PermissionsAndroid.check(
320
+ // PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
321
+ // );
322
+
323
+ // let result: string;
324
+
325
+ // if (!hasFineLocation) {
326
+ // result = await PermissionsAndroid.request(
327
+ // PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
328
+ // );
329
+ // } else {
330
+ // result = PermissionsAndroid.RESULTS.GRANTED;
331
+ // }
332
+
333
+ // console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
334
+
335
+ // if (result === PermissionsAndroid.RESULTS.DENIED) {
336
+ // webViewCallback(
337
+ // WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
338
+ // );
339
+ // return null;
340
+ // }
341
+
342
+ // if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
343
+ // // ToastAndroid.show(
344
+ // // 'Location permission denied. Please enable it from Settings.',
345
+ // // ToastAndroid.LONG
346
+ // // );
347
+ // webViewCallback(
348
+ // WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED')
349
+ // );
350
+ // return null;
351
+ // }
352
+ // }
353
+
354
+ // const location = await GetLocation.getCurrentPosition({
355
+ // enableHighAccuracy: true,
356
+ // timeout: 15000,
357
+ // });
358
+
359
+ // if (__DEV__) {
360
+ // console.log('SDK:LOG: 📍 Got position via GetLocation:', {
361
+ // latitude: location.latitude,
362
+ // longitude: location.longitude,
363
+ // accuracy: location.accuracy,
364
+ // time: location.time,
365
+ // });
366
+ // }
367
+
368
+ // return location;
369
+ // } catch (error: any) {
370
+ // console.log('SDK:LOG: CATCH 1 - Error while fetching location:', error);
371
+ // console.log(
372
+ // 'SDK:LOG: Error while fetching location (GetLocation):',
373
+ // error
374
+ // );
375
+
376
+ // const code = error?.code as string | undefined;
377
+
378
+ // if (code === 'UNAUTHORIZED') {
379
+ // webViewCallback(
380
+ // WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
381
+ // );
382
+ // } else if (code === 'UNAVAILABLE') {
383
+ // webViewCallback(
384
+ // WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED')
385
+ // );
386
+ // } else if (code === 'TIMEOUT') {
387
+ // console.log('SDK:LOG: CATCH 2 - Error while fetching location:', error);
388
+ // webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
389
+ // } else {
390
+ // console.log('SDK:LOG: CATCH 3 - Error while fetching location:', error);
391
+ // webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
392
+ // }
393
+
394
+ // return null;
395
+ // }
396
+ // }
363
397
  }
364
398
  //# sourceMappingURL=banking_dcb_react_native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["APICall","DeviceInfoManager","LibraryConstants","WebViewCallback","ServiceNames","Constants","SafeAreaView","PermissionsAndroid","Platform","StatusBar","base64js","GetLocation","PreloadedWebView","Fragment","_Fragment","jsx","_jsx","BankingDcbReactNative","instance","intialized","_apiCall","constructor","getInstance","init","hostName","options","whitelistedDomains","deviceBindingEnabled","console","log","global","base64FromArrayBuffer","arrayBuffer","fromByteArray","Uint8Array","_setup","error","Error","host","deviceBinding","open","module","token","WebViewCallbackFunction","bank","includes","startIndex","indexOf","length","temp","substring","endIndex","_loginAndNavigateToWebView","e","_checkDeviceBinding","url","Promise","resolve","_setupDeviceSession","tokenResponse","LOGIN_URL","__DEV__","callAPI","body","data","code","fetchAndSetTheme","deviceInfo","getDeviceInfo","appVersion","position","_getCurrentLocationIfPossible","latitude","String","longitude","accuracy","MANUFACTURER","MODEL","DEVICE_UUID","OS","OS_VERSION","APP_VERSION","LATITUDE","LONGITUDE","ACCURACY","response","DEVICE_SESSION","params","partner","status","_openWebView","warn","style","flex","children","onCallback","whitelistedUrls","onPageFinished","themeResponse","THEME_URL","theme","rgbValues","split","map","Number","r","g","b","setPrimaryColorFromRGB","setBackgroundColor","primaryColor","setBarStyle","publicapi","method","apiUrl","sdkLogin","loginResp","loginData","isSuccess","deviceResp","device","success","message","err","webViewCallback","hasFineLocation","check","PERMISSIONS","ACCESS_FINE_LOCATION","result","request","RESULTS","GRANTED","DENIED","redirect","NEVER_ASK_AGAIN","location","getCurrentPosition","enableHighAccuracy","timeout","time"],"sourceRoot":"../../../src","sources":["helpers/banking_dcb_react_native.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APICall","DeviceInfoManager","LibraryConstants","ServiceNames","Constants","SafeAreaView","StatusBar","base64js","PreloadedWebView","Fragment","_Fragment","jsx","_jsx","BankingDcbReactNative","instance","intialized","_apiCall","constructor","getInstance","init","hostName","options","whitelistedDomains","deviceBindingEnabled","console","log","global","base64FromArrayBuffer","arrayBuffer","fromByteArray","Uint8Array","_setup","error","Error","host","deviceBinding","open","module","token","WebViewCallbackFunction","bank","includes","startIndex","indexOf","length","temp","substring","endIndex","_loginAndNavigateToWebView","e","_checkDeviceBinding","url","Promise","resolve","_setupDeviceSession","tokenResponse","LOGIN_URL","__DEV__","callAPI","body","data","code","fetchAndSetTheme","deviceInfo","getDeviceInfo","appVersion","MANUFACTURER","MODEL","DEVICE_UUID","OS","OS_VERSION","APP_VERSION","response","DEVICE_SESSION","params","partner","status","_openWebView","warn","style","flex","children","onCallback","whitelistedUrls","onPageFinished","themeResponse","THEME_URL","theme","rgbValues","split","map","Number","r","g","b","setPrimaryColorFromRGB","setBackgroundColor","primaryColor","setBarStyle","publicapi","method","apiUrl","sdkLogin","loginResp","loginData","isSuccess","deviceResp","device","success","message","err","String"],"sourceRoot":"../../../src","sources":["helpers/banking_dcb_react_native.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,12 @@ import { WebView as RNWebView } from 'react-native-webview';
4
4
  import { BackHandler, Platform, Linking, SafeAreaView, ActivityIndicator, View, ToastAndroid, StatusBar } from 'react-native';
5
5
  import { useEffect, useRef, useState } from 'react';
6
6
  import { WebViewCallback } from "./utils/webviewCallback.js";
7
- import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
7
+ import { check, PERMISSIONS, request, RESULTS, openSettings } from 'react-native-permissions';
8
8
  import FileViewer from 'react-native-file-viewer';
9
9
  import RNFS from 'react-native-fs';
10
10
  import CookieManager from '@react-native-cookies/cookies';
11
11
  import SendIntentAndroid from 'react-native-send-intent';
12
+ import GetLocation from 'react-native-get-location';
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
13
14
  const PKG = {
14
15
  gmail: 'com.google.android.gm',
@@ -81,6 +82,7 @@ export const WebView = ({
81
82
  const [canGoBack, setCanGoBack] = useState(false);
82
83
  const canGoBackRef = useRef(false);
83
84
  const hasUserClosedRef = useRef(false);
85
+ const locationRequestInProgress = useRef(false); // Prevent duplicate location requests
84
86
 
85
87
  // const [hasRedirected, setHasRedirected] = useState(false);
86
88
  const [, setToast] = useState(null);
@@ -97,6 +99,155 @@ export const WebView = ({
97
99
  console.log('SDK:LOG: Application not found to open link');
98
100
  }
99
101
  };
102
+
103
+ // ============================================================================
104
+ // LOCATION PERMISSION IMPLEMENTATION - START
105
+ // ============================================================================
106
+
107
+ /**
108
+ * Sends results back to web by calling window.onNativeActionResult
109
+ */
110
+ const sendResultToWeb = (action, result) => {
111
+ const jsonResult = JSON.stringify(result);
112
+ console.log(`SDK:LOG: 📤 Sending to web: ${action} = ${jsonResult}`);
113
+ const jsCode = `
114
+ if (window.onNativeActionResult) {
115
+ window.onNativeActionResult('${action}', ${jsonResult});
116
+ console.log('✅ SDK callback executed: ${action}');
117
+ } else {
118
+ console.error('❌ window.onNativeActionResult is not defined!');
119
+ }
120
+ true;
121
+ `;
122
+ webviewRef.current?.injectJavaScript(jsCode);
123
+ };
124
+
125
+ /**
126
+ * Requests location permission and fetches current location
127
+ */
128
+ const handleRequestLocationPermission = async () => {
129
+ // Prevent duplicate requests
130
+ if (locationRequestInProgress.current) {
131
+ console.log('SDK:LOG: 📍 Location request already in progress, ignoring duplicate');
132
+ return;
133
+ }
134
+ locationRequestInProgress.current = true;
135
+ try {
136
+ console.log('SDK:LOG: 📍 Requesting location permission...');
137
+ const permission = Platform.OS === 'ios' ? PERMISSIONS.IOS.LOCATION_WHEN_IN_USE : PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION;
138
+ const status = await request(permission);
139
+ if (status === RESULTS.GRANTED) {
140
+ console.log('SDK:LOG: ✅ Permission granted, fetching location...');
141
+ try {
142
+ const location = await GetLocation.getCurrentPosition({
143
+ enableHighAccuracy: true,
144
+ timeout: 10000
145
+ });
146
+ console.log(`SDK:LOG: ✅ Location fetched: ${location.latitude}, ${location.longitude}`);
147
+ sendResultToWeb('locationPermission', {
148
+ state: 'granted',
149
+ latitude: location.latitude,
150
+ longitude: location.longitude,
151
+ accuracy: location.accuracy
152
+ });
153
+ } catch (error) {
154
+ console.log(`SDK:LOG: ⚠️ Location fetch failed: ${error.message} (code: ${error.code})`);
155
+
156
+ // Error codes from react-native-get-location:
157
+ // CANCELLED, UNAVAILABLE, TIMEOUT, UNAUTHORIZED
158
+ if (error.code === 'UNAVAILABLE') {
159
+ // Location services disabled
160
+ sendResultToWeb('locationPermission', {
161
+ state: 'location_services_disabled'
162
+ });
163
+ // Notify client app about location services disabled
164
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED'));
165
+ } else if (error.code === 'UNAUTHORIZED') {
166
+ // Permission denied
167
+ sendResultToWeb('locationPermission', {
168
+ state: 'denied'
169
+ });
170
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED'));
171
+ } else {
172
+ // Permission granted but location fetch failed for other reasons (TIMEOUT, CANCELLED)
173
+ // Send granted state so web can try browser API
174
+ sendResultToWeb('locationPermission', {
175
+ state: 'granted'
176
+ });
177
+ }
178
+ }
179
+ } else if (status === RESULTS.BLOCKED) {
180
+ console.log('SDK:LOG: ❌ Permission permanently denied');
181
+ sendResultToWeb('locationPermission', {
182
+ state: 'permanently_denied'
183
+ });
184
+ // Notify client app about permanently denied permission
185
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED'));
186
+ } else {
187
+ console.log('SDK:LOG: ❌ Permission denied');
188
+ sendResultToWeb('locationPermission', {
189
+ state: 'denied'
190
+ });
191
+ // Notify client app about denied permission
192
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED'));
193
+ }
194
+ } catch (error) {
195
+ console.log(`SDK:LOG: ❌ Permission request failed: ${error}`);
196
+ sendResultToWeb('locationPermission', {
197
+ state: 'denied'
198
+ });
199
+ // Notify client app about denied permission
200
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
201
+ } finally {
202
+ locationRequestInProgress.current = false;
203
+ }
204
+ };
205
+
206
+ /**
207
+ * Opens device settings for app permissions
208
+ */
209
+ const handleOpenAppSettings = async () => {
210
+ try {
211
+ console.log('SDK:LOG: ⚙️ Opening app settings...');
212
+ await openSettings();
213
+ sendResultToWeb('openAppSettings', {
214
+ success: true
215
+ });
216
+ console.log('SDK:LOG: ✅ App settings opened');
217
+ } catch (error) {
218
+ console.log(`SDK:LOG: ❌ Failed to open app settings: ${error}`);
219
+ sendResultToWeb('openAppSettings', {
220
+ success: false
221
+ });
222
+ }
223
+ };
224
+
225
+ /**
226
+ * Handles the dispatchEventToApp calls from web
227
+ */
228
+ const handleDispatchEvent = jsonString => {
229
+ try {
230
+ const data = JSON.parse(jsonString);
231
+ const method = data?.method;
232
+ console.log(`SDK:LOG: 📥 Received dispatch event: ${method}`);
233
+ switch (method) {
234
+ case 'REQUEST_LOCATION_PERMISSION':
235
+ handleRequestLocationPermission();
236
+ break;
237
+ case 'OPEN_APP_SETTINGS':
238
+ handleOpenAppSettings();
239
+ break;
240
+ default:
241
+ console.log(`SDK:LOG: ⚠️ Unknown dispatch method: ${method}`);
242
+ }
243
+ } catch (e) {
244
+ console.log(`SDK:LOG: ❌ Error handling dispatch event: ${e}`);
245
+ }
246
+ };
247
+
248
+ // ============================================================================
249
+ // LOCATION PERMISSION IMPLEMENTATION - END
250
+ // ============================================================================
100
251
  const showToast_with_code_message = syntheticEvent => {
101
252
  const {
102
253
  nativeEvent
@@ -270,7 +421,7 @@ export const WebView = ({
270
421
  })
271
422
  });
272
423
 
273
- // Cookie injection script
424
+ // Cookie injection script with dispatchEventToApp bridge
274
425
  const injectedJavaScript = `
275
426
  (function() {
276
427
  function safePost(msg) {
@@ -281,6 +432,71 @@ export const WebView = ({
281
432
  } catch (e) {}
282
433
  }
283
434
 
435
+ // ============================================================================
436
+ // DISPATCH EVENT TO APP BRIDGE - START
437
+ // ============================================================================
438
+ console.log('🌉 [RN] Installing dispatchEventToApp bridge...');
439
+
440
+ // Queue for calls made before bridge is ready
441
+ window.__dispatchEventQueue = window.__dispatchEventQueue || [];
442
+
443
+ function processQueue() {
444
+ while (window.__dispatchEventQueue && window.__dispatchEventQueue.length > 0) {
445
+ var jsonString = window.__dispatchEventQueue.shift();
446
+ try {
447
+ safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
448
+ console.log('🌉 [RN] Processed queued dispatchEventToApp call');
449
+ } catch(e) {
450
+ console.error('🌉 [RN] Error processing queued call:', e);
451
+ }
452
+ }
453
+ }
454
+
455
+ function dispatchToRN(jsonString) {
456
+ console.log('🌉 [RN] dispatchEventToApp called with:', jsonString);
457
+ try {
458
+ if (window.ReactNativeWebView) {
459
+ safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
460
+ console.log('🌉 [RN] Successfully called RN handler');
461
+ } else {
462
+ console.log('🌉 [RN] ReactNativeWebView not ready, queueing call');
463
+ window.__dispatchEventQueue.push(jsonString);
464
+ setTimeout(processQueue, 100);
465
+ }
466
+ } catch(e) {
467
+ console.error('🌉 [RN] dispatchEventToApp error:', e);
468
+ window.__dispatchEventQueue.push(jsonString);
469
+ setTimeout(processQueue, 100);
470
+ }
471
+ }
472
+
473
+ // Create Android bridge: window.android.dispatchEventToApp
474
+ if (!window.android) {
475
+ window.android = {};
476
+ }
477
+ window.android.dispatchEventToApp = dispatchToRN;
478
+ console.log('🌉 [RN] window.android.dispatchEventToApp installed');
479
+
480
+ // Create iOS bridge: window.webkit.messageHandlers.dispatchEventToApp
481
+ if (!window.webkit) {
482
+ window.webkit = {};
483
+ }
484
+ if (!window.webkit.messageHandlers) {
485
+ window.webkit.messageHandlers = {};
486
+ }
487
+ window.webkit.messageHandlers.dispatchEventToApp = {
488
+ postMessage: dispatchToRN
489
+ };
490
+ console.log('🌉 [RN] window.webkit.messageHandlers.dispatchEventToApp installed');
491
+
492
+ // Process any queued calls
493
+ setTimeout(processQueue, 50);
494
+
495
+ console.log('🌉 [RN] dispatchEventToApp bridge installation complete');
496
+ // ============================================================================
497
+ // DISPATCH EVENT TO APP BRIDGE - END
498
+ // ============================================================================
499
+
284
500
  // Preserve any existing window.onerror
285
501
  var previousOnError = window.onerror || null;
286
502
  window.onerror = function(message, source, lineno, colno, error) {
@@ -356,7 +572,14 @@ export const WebView = ({
356
572
  const handleMessage = event => {
357
573
  try {
358
574
  const data = JSON.parse(event.nativeEvent.data);
359
- console.log('SDK:LOG: onMessage data =');
575
+ console.log('SDK:LOG: onMessage data =', data?.type);
576
+
577
+ // Handle dispatchEventToApp messages from web
578
+ if (data?.type === 'DISPATCH_EVENT_TO_APP') {
579
+ if (__DEV__) console.log('SDK:LOG: DISPATCH_EVENT_TO_APP received:', data.payload);
580
+ handleDispatchEvent(data.payload);
581
+ return;
582
+ }
360
583
 
361
584
  // 1) history.back() from a "root" page → treat as USER_CLOSED
362
585
  if (data?.type === 'HISTORY_BACK_CALLED') {
@@ -1 +1 @@
1
- {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","SendIntentAndroid","jsx","_jsx","PKG","gmail","outlook","yahoo","SCHEME","openMailAppIntent","app","OS","pkg","scheme","wasOpened","openApp","err","console","log","canOpen","canOpenURL","openURL","err2","clearAllCookies","clearAll","e","error","url","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","canGoBackRef","hasUserClosedRef","setToast","handleExternalUrl","Promise","resolve","setTimeout","show","LONG","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","get","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","__DEV__","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","then","ok","status","setBackgroundColor","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","handleMessage","data","JSON","parse","type","href","warn","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview","onMessage"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","openSettings","FileViewer","RNFS","CookieManager","SendIntentAndroid","GetLocation","jsx","_jsx","PKG","gmail","outlook","yahoo","SCHEME","openMailAppIntent","app","OS","pkg","scheme","wasOpened","openApp","err","console","log","canOpen","canOpenURL","openURL","err2","clearAllCookies","clearAll","e","error","url","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","canGoBackRef","hasUserClosedRef","locationRequestInProgress","setToast","handleExternalUrl","Promise","resolve","setTimeout","show","LONG","sendResultToWeb","action","result","jsonResult","JSON","stringify","jsCode","current","injectJavaScript","handleRequestLocationPermission","permission","IOS","LOCATION_WHEN_IN_USE","ANDROID","ACCESS_FINE_LOCATION","status","GRANTED","location","getCurrentPosition","enableHighAccuracy","timeout","latitude","longitude","state","accuracy","message","code","redirect","BLOCKED","handleOpenAppSettings","success","handleDispatchEvent","jsonString","data","parse","method","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","description","visible","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","get","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","__DEV__","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","then","ok","setBackgroundColor","undefined","isWhitelisted","some","white","handleBackButton","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","DENIED","requestResult","handlePermissionRequest","resources","permissionsToRequest","push","CAMERA","MICROPHONE","RECORD_AUDIO","results","all","granted","every","grant","deny","handleMessage","type","payload","href","warn","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview","onMessage"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":"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AAC,QAAA,eACvE3J,IAAA,CAACnB,iBAAiB;MAAC+K,IAAI,EAAC;IAAO,CAAE;EAAC,CAC9B,CACP;;EAED;EACA,MAAMC,kBAAkB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;EAEC,MAAMC,iBAAiB,GAAG,MAAOzG,UAAsB,IAAK;IAC1D,IAAI;MACF,MAAMR,MAAM,GAAG,MAAMxD,KAAK,CAACgE,UAAU,CAAC;MAEtC,IAAIR,MAAM,KAAKrD,OAAO,CAACuK,MAAM,EAAE;QAC7B,MAAMC,aAAa,GAAG,MAAMzK,OAAO,CAAC8D,UAAU,CAAC;QAC/C,OAAO2G,aAAa,KAAKxK,OAAO,CAACmE,OAAO;MAC1C;MAEA,OAAOd,MAAM,KAAKrD,OAAO,CAACmE,OAAO;IACnC,CAAC,CAAC,OAAOpC,KAAK,EAAE;MACdT,OAAO,CAACS,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAC3D,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAM0I,uBAAuB,GAAG,MAAOxB,KAAU,IAAK;IACpD,MAAM;MAAEyB;IAAU,CAAC,GAAGzB,KAAK,CAACxD,WAAW;IACvC,IAAIsC,OAAO,EAAEzG,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEmJ,SAAS,CAAC;IAErE,MAAMC,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","ignoreList":[]}
@@ -28,6 +28,5 @@ export declare class BankingDcbReactNative {
28
28
  headers?: Record<string, any>;
29
29
  }): Promise<any>;
30
30
  sdkLogin(token: string, partner: string): Promise<JSONMap>;
31
- private _getCurrentLocationIfPossible;
32
31
  }
33
32
  //# sourceMappingURL=banking_dcb_react_native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"banking_dcb_react_native.d.ts","sourceRoot":"","sources":["../../../../src/helpers/banking_dcb_react_native.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAYjC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAMvE,KAAK,WAAW,GAAG;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,qBAAqB,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CAC/E;AACD,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEnC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsC;IAC7D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAiB;IACjC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAChD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,qBAAqB;WAO9B,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAGR,GACA,OAAO,CAAC,IAAI,CAAC;YA4BF,MAAM;IAad,IAAI,CACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YA4BvB,mBAAmB;YAgBnB,0BAA0B;YAoE1B,mBAAmB;IAwE3B,YAAY,CAChB,GAAG,EAAE,MAAM,EACX,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAoBxB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACA,OAAO,CAAC,GAAG,CAAC;IAIF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAiFzD,6BAA6B;CAqF5C"}
1
+ {"version":3,"file":"banking_dcb_react_native.d.ts","sourceRoot":"","sources":["../../../../src/helpers/banking_dcb_react_native.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAYjC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAMvE,KAAK,WAAW,GAAG;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,qBAAqB,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CAC/E;AACD,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEnC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsC;IAC7D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAiB;IACjC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAChD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,qBAAqB;WAO9B,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAGR,GACA,OAAO,CAAC,IAAI,CAAC;YA4BF,MAAM;IAad,IAAI,CACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YA4BvB,mBAAmB;YAgBnB,0BAA0B;YAoE1B,mBAAmB;IAwE3B,YAAY,CAChB,GAAG,EAAE,MAAM,EACX,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAoBxB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACA,OAAO,CAAC,GAAG,CAAC;IAIF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAsKxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAcjC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAc7C;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCtE;AAWD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CA0bpB,CAAC"}
1
+ {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAgBjC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAc7C;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCtE;AAWD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CA2qBpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "banking_dcb_sdk_react_native",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "React Native package for partner integrating with DCB",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -228,18 +228,18 @@ export class BankingDcbReactNative {
228
228
  console.log('App Version:', appVersion);
229
229
  }
230
230
 
231
- const position = await this._getCurrentLocationIfPossible(
232
- WebViewCallbackFunction
233
- );
231
+ // const position = await this._getCurrentLocationIfPossible(
232
+ // WebViewCallbackFunction
233
+ // );
234
234
 
235
- if (!position) {
236
- if (__DEV__) console.log('SDK:LOG: location fetched is : ', position);
237
- return null;
238
- }
235
+ // if (!position) {
236
+ // if (__DEV__) console.log('SDK:LOG: location fetched is : ', position);
237
+ // return null;
238
+ // }
239
239
 
240
- const latitude = String(position.latitude);
241
- const longitude = String(position.longitude);
242
- const accuracy = String(position.accuracy);
240
+ // const latitude = String(position.latitude);
241
+ // const longitude = String(position.longitude);
242
+ // const accuracy = String(position.accuracy);
243
243
 
244
244
  const body: JSONMap = {
245
245
  [Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
@@ -248,9 +248,9 @@ export class BankingDcbReactNative {
248
248
  [Constants.OS]: deviceInfo[Constants.OS],
249
249
  [Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
250
250
  [Constants.APP_VERSION]: appVersion,
251
- [Constants.LATITUDE]: latitude,
252
- [Constants.LONGITUDE]: longitude,
253
- [Constants.ACCURACY]: accuracy,
251
+ // [Constants.LATITUDE]: latitude,
252
+ // [Constants.LONGITUDE]: longitude,
253
+ // [Constants.ACCURACY]: accuracy,
254
254
  };
255
255
  if (__DEV__) console.log('SDK:LOG: body for device session is : ', body);
256
256
  const response = await this._apiCall.callAPI(
@@ -442,89 +442,89 @@ export class BankingDcbReactNative {
442
442
  }
443
443
  }
444
444
 
445
- private async _getCurrentLocationIfPossible(
446
- webViewCallback: WebViewCallbackFunction
447
- ): Promise<Location | null> {
448
- try {
449
- console.log('SDK:LOG: in get current location');
450
-
451
- if (Platform.OS === 'android') {
452
- const hasFineLocation = await PermissionsAndroid.check(
453
- PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
454
- );
455
-
456
- let result: string;
457
-
458
- if (!hasFineLocation) {
459
- result = await PermissionsAndroid.request(
460
- PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
461
- );
462
- } else {
463
- result = PermissionsAndroid.RESULTS.GRANTED;
464
- }
465
-
466
- console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
467
-
468
- if (result === PermissionsAndroid.RESULTS.DENIED) {
469
- webViewCallback(
470
- WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
471
- );
472
- return null;
473
- }
474
-
475
- if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
476
- // ToastAndroid.show(
477
- // 'Location permission denied. Please enable it from Settings.',
478
- // ToastAndroid.LONG
479
- // );
480
- webViewCallback(
481
- WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED')
482
- );
483
- return null;
484
- }
485
- }
486
-
487
- const location = await GetLocation.getCurrentPosition({
488
- enableHighAccuracy: true,
489
- timeout: 15000,
490
- });
491
-
492
- if (__DEV__) {
493
- console.log('SDK:LOG: 📍 Got position via GetLocation:', {
494
- latitude: location.latitude,
495
- longitude: location.longitude,
496
- accuracy: location.accuracy,
497
- time: location.time,
498
- });
499
- }
500
-
501
- return location;
502
- } catch (error: any) {
503
- console.log('SDK:LOG: CATCH 1 - Error while fetching location:', error);
504
- console.log(
505
- 'SDK:LOG: Error while fetching location (GetLocation):',
506
- error
507
- );
508
-
509
- const code = error?.code as string | undefined;
510
-
511
- if (code === 'UNAUTHORIZED') {
512
- webViewCallback(
513
- WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
514
- );
515
- } else if (code === 'UNAVAILABLE') {
516
- webViewCallback(
517
- WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED')
518
- );
519
- } else if (code === 'TIMEOUT') {
520
- console.log('SDK:LOG: CATCH 2 - Error while fetching location:', error);
521
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
522
- } else {
523
- console.log('SDK:LOG: CATCH 3 - Error while fetching location:', error);
524
- webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
525
- }
526
-
527
- return null;
528
- }
529
- }
445
+ // private async _getCurrentLocationIfPossible(
446
+ // webViewCallback: WebViewCallbackFunction
447
+ // ): Promise<Location | null> {
448
+ // try {
449
+ // console.log('SDK:LOG: in get current location');
450
+
451
+ // if (Platform.OS === 'android') {
452
+ // const hasFineLocation = await PermissionsAndroid.check(
453
+ // PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
454
+ // );
455
+
456
+ // let result: string;
457
+
458
+ // if (!hasFineLocation) {
459
+ // result = await PermissionsAndroid.request(
460
+ // PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
461
+ // );
462
+ // } else {
463
+ // result = PermissionsAndroid.RESULTS.GRANTED;
464
+ // }
465
+
466
+ // console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
467
+
468
+ // if (result === PermissionsAndroid.RESULTS.DENIED) {
469
+ // webViewCallback(
470
+ // WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
471
+ // );
472
+ // return null;
473
+ // }
474
+
475
+ // if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
476
+ // // ToastAndroid.show(
477
+ // // 'Location permission denied. Please enable it from Settings.',
478
+ // // ToastAndroid.LONG
479
+ // // );
480
+ // webViewCallback(
481
+ // WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED')
482
+ // );
483
+ // return null;
484
+ // }
485
+ // }
486
+
487
+ // const location = await GetLocation.getCurrentPosition({
488
+ // enableHighAccuracy: true,
489
+ // timeout: 15000,
490
+ // });
491
+
492
+ // if (__DEV__) {
493
+ // console.log('SDK:LOG: 📍 Got position via GetLocation:', {
494
+ // latitude: location.latitude,
495
+ // longitude: location.longitude,
496
+ // accuracy: location.accuracy,
497
+ // time: location.time,
498
+ // });
499
+ // }
500
+
501
+ // return location;
502
+ // } catch (error: any) {
503
+ // console.log('SDK:LOG: CATCH 1 - Error while fetching location:', error);
504
+ // console.log(
505
+ // 'SDK:LOG: Error while fetching location (GetLocation):',
506
+ // error
507
+ // );
508
+
509
+ // const code = error?.code as string | undefined;
510
+
511
+ // if (code === 'UNAUTHORIZED') {
512
+ // webViewCallback(
513
+ // WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
514
+ // );
515
+ // } else if (code === 'UNAVAILABLE') {
516
+ // webViewCallback(
517
+ // WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED')
518
+ // );
519
+ // } else if (code === 'TIMEOUT') {
520
+ // console.log('SDK:LOG: CATCH 2 - Error while fetching location:', error);
521
+ // webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
522
+ // } else {
523
+ // console.log('SDK:LOG: CATCH 3 - Error while fetching location:', error);
524
+ // webViewCallback(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
525
+ // }
526
+
527
+ // return null;
528
+ // }
529
+ // }
530
530
  }
@@ -27,6 +27,7 @@ import {
27
27
  PERMISSIONS,
28
28
  request,
29
29
  RESULTS,
30
+ openSettings,
30
31
  type Permission,
31
32
  } from 'react-native-permissions';
32
33
  import FileViewer from 'react-native-file-viewer';
@@ -34,6 +35,7 @@ import RNFS from 'react-native-fs';
34
35
  import CookieManager from '@react-native-cookies/cookies';
35
36
  import { AnalyticsLogger } from './analytics/analytics_logger';
36
37
  import SendIntentAndroid from 'react-native-send-intent';
38
+ import GetLocation, { type Location } from 'react-native-get-location';
37
39
 
38
40
  interface ExtendedWebViewProps extends WebViewProps {
39
41
  onPermissionRequest?: (event: any) => void;
@@ -133,6 +135,7 @@ export const WebView = ({
133
135
  const [canGoBack, setCanGoBack] = useState(false);
134
136
  const canGoBackRef = useRef(false);
135
137
  const hasUserClosedRef = useRef(false);
138
+ const locationRequestInProgress = useRef(false); // Prevent duplicate location requests
136
139
 
137
140
  // const [hasRedirected, setHasRedirected] = useState(false);
138
141
  const [, setToast] = useState<{ visible: boolean; message: string } | null>(
@@ -154,6 +157,173 @@ export const WebView = ({
154
157
  console.log('SDK:LOG: Application not found to open link');
155
158
  }
156
159
  };
160
+
161
+ // ============================================================================
162
+ // LOCATION PERMISSION IMPLEMENTATION - START
163
+ // ============================================================================
164
+
165
+ /**
166
+ * Sends results back to web by calling window.onNativeActionResult
167
+ */
168
+ const sendResultToWeb = (action: string, result: Record<string, any>) => {
169
+ const jsonResult = JSON.stringify(result);
170
+ console.log(`SDK:LOG: 📤 Sending to web: ${action} = ${jsonResult}`);
171
+
172
+ const jsCode = `
173
+ if (window.onNativeActionResult) {
174
+ window.onNativeActionResult('${action}', ${jsonResult});
175
+ console.log('✅ SDK callback executed: ${action}');
176
+ } else {
177
+ console.error('❌ window.onNativeActionResult is not defined!');
178
+ }
179
+ true;
180
+ `;
181
+
182
+ webviewRef.current?.injectJavaScript(jsCode);
183
+ };
184
+
185
+ /**
186
+ * Requests location permission and fetches current location
187
+ */
188
+ const handleRequestLocationPermission = async () => {
189
+ // Prevent duplicate requests
190
+ if (locationRequestInProgress.current) {
191
+ console.log(
192
+ 'SDK:LOG: 📍 Location request already in progress, ignoring duplicate'
193
+ );
194
+ return;
195
+ }
196
+ locationRequestInProgress.current = true;
197
+
198
+ try {
199
+ console.log('SDK:LOG: 📍 Requesting location permission...');
200
+
201
+ const permission =
202
+ Platform.OS === 'ios'
203
+ ? PERMISSIONS.IOS.LOCATION_WHEN_IN_USE
204
+ : PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION;
205
+
206
+ const status = await request(permission);
207
+
208
+ if (status === RESULTS.GRANTED) {
209
+ console.log('SDK:LOG: ✅ Permission granted, fetching location...');
210
+
211
+ try {
212
+ const location: Location = await GetLocation.getCurrentPosition({
213
+ enableHighAccuracy: true,
214
+ timeout: 10000,
215
+ });
216
+
217
+ console.log(
218
+ `SDK:LOG: ✅ Location fetched: ${location.latitude}, ${location.longitude}`
219
+ );
220
+
221
+ sendResultToWeb('locationPermission', {
222
+ state: 'granted',
223
+ latitude: location.latitude,
224
+ longitude: location.longitude,
225
+ accuracy: location.accuracy,
226
+ });
227
+ } catch (error: any) {
228
+ console.log(
229
+ `SDK:LOG: ⚠️ Location fetch failed: ${error.message} (code: ${error.code})`
230
+ );
231
+
232
+ // Error codes from react-native-get-location:
233
+ // CANCELLED, UNAVAILABLE, TIMEOUT, UNAUTHORIZED
234
+ if (error.code === 'UNAVAILABLE') {
235
+ // Location services disabled
236
+ sendResultToWeb('locationPermission', {
237
+ state: 'location_services_disabled',
238
+ });
239
+ // Notify client app about location services disabled
240
+ onCallback?.(
241
+ WebViewCallback.redirect('USER_LOCATION_SERVICE_DISABLED')
242
+ );
243
+ } else if (error.code === 'UNAUTHORIZED') {
244
+ // Permission denied
245
+ sendResultToWeb('locationPermission', { state: 'denied' });
246
+ onCallback?.(
247
+ WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
248
+ );
249
+ } else {
250
+ // Permission granted but location fetch failed for other reasons (TIMEOUT, CANCELLED)
251
+ // Send granted state so web can try browser API
252
+ sendResultToWeb('locationPermission', {
253
+ state: 'granted',
254
+ });
255
+ }
256
+ }
257
+ } else if (status === RESULTS.BLOCKED) {
258
+ console.log('SDK:LOG: ❌ Permission permanently denied');
259
+ sendResultToWeb('locationPermission', { state: 'permanently_denied' });
260
+ // Notify client app about permanently denied permission
261
+ onCallback?.(
262
+ WebViewCallback.redirect('USER_LOCATION_PERMANENTLY_DENIED')
263
+ );
264
+ } else {
265
+ console.log('SDK:LOG: ❌ Permission denied');
266
+ sendResultToWeb('locationPermission', { state: 'denied' });
267
+ // Notify client app about denied permission
268
+ onCallback?.(
269
+ WebViewCallback.redirect('USER_LOCATION_PERMISSION_DENIED')
270
+ );
271
+ }
272
+ } catch (error) {
273
+ console.log(`SDK:LOG: ❌ Permission request failed: ${error}`);
274
+ sendResultToWeb('locationPermission', { state: 'denied' });
275
+ // Notify client app about denied permission
276
+ onCallback?.(WebViewCallback.redirect('USER_LOCATION_FETCH_ERROR'));
277
+ } finally {
278
+ locationRequestInProgress.current = false;
279
+ }
280
+ };
281
+
282
+ /**
283
+ * Opens device settings for app permissions
284
+ */
285
+ const handleOpenAppSettings = async () => {
286
+ try {
287
+ console.log('SDK:LOG: ⚙️ Opening app settings...');
288
+ await openSettings();
289
+ sendResultToWeb('openAppSettings', { success: true });
290
+ console.log('SDK:LOG: ✅ App settings opened');
291
+ } catch (error) {
292
+ console.log(`SDK:LOG: ❌ Failed to open app settings: ${error}`);
293
+ sendResultToWeb('openAppSettings', { success: false });
294
+ }
295
+ };
296
+
297
+ /**
298
+ * Handles the dispatchEventToApp calls from web
299
+ */
300
+ const handleDispatchEvent = (jsonString: string) => {
301
+ try {
302
+ const data = JSON.parse(jsonString);
303
+ const method = data?.method;
304
+
305
+ console.log(`SDK:LOG: 📥 Received dispatch event: ${method}`);
306
+
307
+ switch (method) {
308
+ case 'REQUEST_LOCATION_PERMISSION':
309
+ handleRequestLocationPermission();
310
+ break;
311
+
312
+ case 'OPEN_APP_SETTINGS':
313
+ handleOpenAppSettings();
314
+ break;
315
+
316
+ default:
317
+ console.log(`SDK:LOG: ⚠️ Unknown dispatch method: ${method}`);
318
+ }
319
+ } catch (e) {
320
+ console.log(`SDK:LOG: ❌ Error handling dispatch event: ${e}`);
321
+ }
322
+ };
323
+
324
+ // ============================================================================
325
+ // LOCATION PERMISSION IMPLEMENTATION - END
326
+ // ============================================================================
157
327
  const showToast_with_code_message = (syntheticEvent: any) => {
158
328
  const { nativeEvent } = syntheticEvent;
159
329
  const errorCodesToHandle = [-2, -6, -8, -10];
@@ -375,7 +545,7 @@ export const WebView = ({
375
545
  </View>
376
546
  );
377
547
 
378
- // Cookie injection script
548
+ // Cookie injection script with dispatchEventToApp bridge
379
549
  const injectedJavaScript = `
380
550
  (function() {
381
551
  function safePost(msg) {
@@ -386,6 +556,71 @@ export const WebView = ({
386
556
  } catch (e) {}
387
557
  }
388
558
 
559
+ // ============================================================================
560
+ // DISPATCH EVENT TO APP BRIDGE - START
561
+ // ============================================================================
562
+ console.log('🌉 [RN] Installing dispatchEventToApp bridge...');
563
+
564
+ // Queue for calls made before bridge is ready
565
+ window.__dispatchEventQueue = window.__dispatchEventQueue || [];
566
+
567
+ function processQueue() {
568
+ while (window.__dispatchEventQueue && window.__dispatchEventQueue.length > 0) {
569
+ var jsonString = window.__dispatchEventQueue.shift();
570
+ try {
571
+ safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
572
+ console.log('🌉 [RN] Processed queued dispatchEventToApp call');
573
+ } catch(e) {
574
+ console.error('🌉 [RN] Error processing queued call:', e);
575
+ }
576
+ }
577
+ }
578
+
579
+ function dispatchToRN(jsonString) {
580
+ console.log('🌉 [RN] dispatchEventToApp called with:', jsonString);
581
+ try {
582
+ if (window.ReactNativeWebView) {
583
+ safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
584
+ console.log('🌉 [RN] Successfully called RN handler');
585
+ } else {
586
+ console.log('🌉 [RN] ReactNativeWebView not ready, queueing call');
587
+ window.__dispatchEventQueue.push(jsonString);
588
+ setTimeout(processQueue, 100);
589
+ }
590
+ } catch(e) {
591
+ console.error('🌉 [RN] dispatchEventToApp error:', e);
592
+ window.__dispatchEventQueue.push(jsonString);
593
+ setTimeout(processQueue, 100);
594
+ }
595
+ }
596
+
597
+ // Create Android bridge: window.android.dispatchEventToApp
598
+ if (!window.android) {
599
+ window.android = {};
600
+ }
601
+ window.android.dispatchEventToApp = dispatchToRN;
602
+ console.log('🌉 [RN] window.android.dispatchEventToApp installed');
603
+
604
+ // Create iOS bridge: window.webkit.messageHandlers.dispatchEventToApp
605
+ if (!window.webkit) {
606
+ window.webkit = {};
607
+ }
608
+ if (!window.webkit.messageHandlers) {
609
+ window.webkit.messageHandlers = {};
610
+ }
611
+ window.webkit.messageHandlers.dispatchEventToApp = {
612
+ postMessage: dispatchToRN
613
+ };
614
+ console.log('🌉 [RN] window.webkit.messageHandlers.dispatchEventToApp installed');
615
+
616
+ // Process any queued calls
617
+ setTimeout(processQueue, 50);
618
+
619
+ console.log('🌉 [RN] dispatchEventToApp bridge installation complete');
620
+ // ============================================================================
621
+ // DISPATCH EVENT TO APP BRIDGE - END
622
+ // ============================================================================
623
+
389
624
  // Preserve any existing window.onerror
390
625
  var previousOnError = window.onerror || null;
391
626
  window.onerror = function(message, source, lineno, colno, error) {
@@ -482,7 +717,15 @@ export const WebView = ({
482
717
  const handleMessage = (event: WebViewMessageEvent) => {
483
718
  try {
484
719
  const data = JSON.parse(event.nativeEvent.data);
485
- console.log('SDK:LOG: onMessage data =');
720
+ console.log('SDK:LOG: onMessage data =', data?.type);
721
+
722
+ // Handle dispatchEventToApp messages from web
723
+ if (data?.type === 'DISPATCH_EVENT_TO_APP') {
724
+ if (__DEV__)
725
+ console.log('SDK:LOG: DISPATCH_EVENT_TO_APP received:', data.payload);
726
+ handleDispatchEvent(data.payload);
727
+ return;
728
+ }
486
729
 
487
730
  // 1) history.back() from a "root" page → treat as USER_CLOSED
488
731
  if (data?.type === 'HISTORY_BACK_CALLED') {