banking_dcb_sdk_react_native 2.0.7 → 2.0.8
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.
|
@@ -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 Geolocation from '@react-native-community/geolocation';
|
|
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,148 @@ 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
|
+
|
|
142
|
+
// Fetch current location
|
|
143
|
+
Geolocation.getCurrentPosition(position => {
|
|
144
|
+
console.log(`SDK:LOG: ✅ Location fetched: ${position.coords.latitude}, ${position.coords.longitude}`);
|
|
145
|
+
sendResultToWeb('locationPermission', {
|
|
146
|
+
state: 'granted',
|
|
147
|
+
latitude: position.coords.latitude,
|
|
148
|
+
longitude: position.coords.longitude,
|
|
149
|
+
accuracy: position.coords.accuracy
|
|
150
|
+
});
|
|
151
|
+
locationRequestInProgress.current = false;
|
|
152
|
+
}, error => {
|
|
153
|
+
console.log(`SDK:LOG: ⚠️ Location fetch failed: ${error.message} (code: ${error.code})`);
|
|
154
|
+
|
|
155
|
+
// Error codes:
|
|
156
|
+
// 1 = PERMISSION_DENIED
|
|
157
|
+
// 2 = POSITION_UNAVAILABLE (includes location services disabled)
|
|
158
|
+
// 3 = TIMEOUT
|
|
159
|
+
if (error.code === 2) {
|
|
160
|
+
// POSITION_UNAVAILABLE - likely location services disabled
|
|
161
|
+
sendResultToWeb('locationPermission', {
|
|
162
|
+
state: 'location_services_disabled'
|
|
163
|
+
});
|
|
164
|
+
} else {
|
|
165
|
+
// Permission granted but location fetch failed for other reasons
|
|
166
|
+
// Send granted state so web can try browser API
|
|
167
|
+
sendResultToWeb('locationPermission', {
|
|
168
|
+
state: 'granted'
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
locationRequestInProgress.current = false;
|
|
172
|
+
}, {
|
|
173
|
+
enableHighAccuracy: true,
|
|
174
|
+
timeout: 10000,
|
|
175
|
+
maximumAge: 0
|
|
176
|
+
});
|
|
177
|
+
} else if (status === RESULTS.BLOCKED) {
|
|
178
|
+
console.log('SDK:LOG: ❌ Permission permanently denied');
|
|
179
|
+
sendResultToWeb('locationPermission', {
|
|
180
|
+
state: 'permanently_denied'
|
|
181
|
+
});
|
|
182
|
+
locationRequestInProgress.current = false;
|
|
183
|
+
} else {
|
|
184
|
+
console.log('SDK:LOG: ❌ Permission denied');
|
|
185
|
+
sendResultToWeb('locationPermission', {
|
|
186
|
+
state: 'denied'
|
|
187
|
+
});
|
|
188
|
+
locationRequestInProgress.current = false;
|
|
189
|
+
}
|
|
190
|
+
} catch (error) {
|
|
191
|
+
console.log(`SDK:LOG: ❌ Permission request failed: ${error}`);
|
|
192
|
+
sendResultToWeb('locationPermission', {
|
|
193
|
+
state: 'denied'
|
|
194
|
+
});
|
|
195
|
+
locationRequestInProgress.current = false;
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Opens device settings for app permissions
|
|
201
|
+
*/
|
|
202
|
+
const handleOpenAppSettings = async () => {
|
|
203
|
+
try {
|
|
204
|
+
console.log('SDK:LOG: ⚙️ Opening app settings...');
|
|
205
|
+
await openSettings();
|
|
206
|
+
sendResultToWeb('openAppSettings', {
|
|
207
|
+
success: true
|
|
208
|
+
});
|
|
209
|
+
console.log('SDK:LOG: ✅ App settings opened');
|
|
210
|
+
} catch (error) {
|
|
211
|
+
console.log(`SDK:LOG: ❌ Failed to open app settings: ${error}`);
|
|
212
|
+
sendResultToWeb('openAppSettings', {
|
|
213
|
+
success: false
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Handles the dispatchEventToApp calls from web
|
|
220
|
+
*/
|
|
221
|
+
const handleDispatchEvent = jsonString => {
|
|
222
|
+
try {
|
|
223
|
+
const data = JSON.parse(jsonString);
|
|
224
|
+
const method = data?.method;
|
|
225
|
+
console.log(`SDK:LOG: 📥 Received dispatch event: ${method}`);
|
|
226
|
+
switch (method) {
|
|
227
|
+
case 'REQUEST_LOCATION_PERMISSION':
|
|
228
|
+
handleRequestLocationPermission();
|
|
229
|
+
break;
|
|
230
|
+
case 'OPEN_APP_SETTINGS':
|
|
231
|
+
handleOpenAppSettings();
|
|
232
|
+
break;
|
|
233
|
+
default:
|
|
234
|
+
console.log(`SDK:LOG: ⚠️ Unknown dispatch method: ${method}`);
|
|
235
|
+
}
|
|
236
|
+
} catch (e) {
|
|
237
|
+
console.log(`SDK:LOG: ❌ Error handling dispatch event: ${e}`);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
// ============================================================================
|
|
242
|
+
// LOCATION PERMISSION IMPLEMENTATION - END
|
|
243
|
+
// ============================================================================
|
|
100
244
|
const showToast_with_code_message = syntheticEvent => {
|
|
101
245
|
const {
|
|
102
246
|
nativeEvent
|
|
@@ -270,7 +414,7 @@ export const WebView = ({
|
|
|
270
414
|
})
|
|
271
415
|
});
|
|
272
416
|
|
|
273
|
-
// Cookie injection script
|
|
417
|
+
// Cookie injection script with dispatchEventToApp bridge
|
|
274
418
|
const injectedJavaScript = `
|
|
275
419
|
(function() {
|
|
276
420
|
function safePost(msg) {
|
|
@@ -281,6 +425,71 @@ export const WebView = ({
|
|
|
281
425
|
} catch (e) {}
|
|
282
426
|
}
|
|
283
427
|
|
|
428
|
+
// ============================================================================
|
|
429
|
+
// DISPATCH EVENT TO APP BRIDGE - START
|
|
430
|
+
// ============================================================================
|
|
431
|
+
console.log('🌉 [RN] Installing dispatchEventToApp bridge...');
|
|
432
|
+
|
|
433
|
+
// Queue for calls made before bridge is ready
|
|
434
|
+
window.__dispatchEventQueue = window.__dispatchEventQueue || [];
|
|
435
|
+
|
|
436
|
+
function processQueue() {
|
|
437
|
+
while (window.__dispatchEventQueue && window.__dispatchEventQueue.length > 0) {
|
|
438
|
+
var jsonString = window.__dispatchEventQueue.shift();
|
|
439
|
+
try {
|
|
440
|
+
safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
|
|
441
|
+
console.log('🌉 [RN] Processed queued dispatchEventToApp call');
|
|
442
|
+
} catch(e) {
|
|
443
|
+
console.error('🌉 [RN] Error processing queued call:', e);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
function dispatchToRN(jsonString) {
|
|
449
|
+
console.log('🌉 [RN] dispatchEventToApp called with:', jsonString);
|
|
450
|
+
try {
|
|
451
|
+
if (window.ReactNativeWebView) {
|
|
452
|
+
safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
|
|
453
|
+
console.log('🌉 [RN] Successfully called RN handler');
|
|
454
|
+
} else {
|
|
455
|
+
console.log('🌉 [RN] ReactNativeWebView not ready, queueing call');
|
|
456
|
+
window.__dispatchEventQueue.push(jsonString);
|
|
457
|
+
setTimeout(processQueue, 100);
|
|
458
|
+
}
|
|
459
|
+
} catch(e) {
|
|
460
|
+
console.error('🌉 [RN] dispatchEventToApp error:', e);
|
|
461
|
+
window.__dispatchEventQueue.push(jsonString);
|
|
462
|
+
setTimeout(processQueue, 100);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// Create Android bridge: window.android.dispatchEventToApp
|
|
467
|
+
if (!window.android) {
|
|
468
|
+
window.android = {};
|
|
469
|
+
}
|
|
470
|
+
window.android.dispatchEventToApp = dispatchToRN;
|
|
471
|
+
console.log('🌉 [RN] window.android.dispatchEventToApp installed');
|
|
472
|
+
|
|
473
|
+
// Create iOS bridge: window.webkit.messageHandlers.dispatchEventToApp
|
|
474
|
+
if (!window.webkit) {
|
|
475
|
+
window.webkit = {};
|
|
476
|
+
}
|
|
477
|
+
if (!window.webkit.messageHandlers) {
|
|
478
|
+
window.webkit.messageHandlers = {};
|
|
479
|
+
}
|
|
480
|
+
window.webkit.messageHandlers.dispatchEventToApp = {
|
|
481
|
+
postMessage: dispatchToRN
|
|
482
|
+
};
|
|
483
|
+
console.log('🌉 [RN] window.webkit.messageHandlers.dispatchEventToApp installed');
|
|
484
|
+
|
|
485
|
+
// Process any queued calls
|
|
486
|
+
setTimeout(processQueue, 50);
|
|
487
|
+
|
|
488
|
+
console.log('🌉 [RN] dispatchEventToApp bridge installation complete');
|
|
489
|
+
// ============================================================================
|
|
490
|
+
// DISPATCH EVENT TO APP BRIDGE - END
|
|
491
|
+
// ============================================================================
|
|
492
|
+
|
|
284
493
|
// Preserve any existing window.onerror
|
|
285
494
|
var previousOnError = window.onerror || null;
|
|
286
495
|
window.onerror = function(message, source, lineno, colno, error) {
|
|
@@ -356,7 +565,14 @@ export const WebView = ({
|
|
|
356
565
|
const handleMessage = event => {
|
|
357
566
|
try {
|
|
358
567
|
const data = JSON.parse(event.nativeEvent.data);
|
|
359
|
-
console.log('SDK:LOG: onMessage data =');
|
|
568
|
+
console.log('SDK:LOG: onMessage data =', data?.type);
|
|
569
|
+
|
|
570
|
+
// Handle dispatchEventToApp messages from web
|
|
571
|
+
if (data?.type === 'DISPATCH_EVENT_TO_APP') {
|
|
572
|
+
if (__DEV__) console.log('SDK:LOG: DISPATCH_EVENT_TO_APP received:', data.payload);
|
|
573
|
+
handleDispatchEvent(data.payload);
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
360
576
|
|
|
361
577
|
// 1) history.back() from a "root" page → treat as USER_CLOSED
|
|
362
578
|
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":";;AAAA,SACEA,OAAO,IAAIC,SAAS,QAEf,sBAAsB;AAC7B,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,YAAY,EACZC,iBAAiB,EACjBC,IAAI,EACJC,YAAY,EACZC,SAAS,QACJ,cAAc;AACrB,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAMnD,SACEC,eAAe,QAEV,4BAAyB;AAChC,SACEC,KAAK,EACLC,WAAW,EACXC,OAAO,EACPC,OAAO,QAEF,0BAA0B;AACjC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,aAAa,MAAM,+BAA+B;AAEzD,OAAOC,iBAAiB,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqBzD,MAAMC,GAA4B,GAAG;EACnCC,KAAK,EAAE,uBAAuB;EAC9BC,OAAO,EAAE,8BAA8B;EACvCC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,MAA+B,GAAG;EACtCH,KAAK,EAAE,gBAAgB;EACvBC,OAAO,EAAE,eAAe;EACxBC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,iBAAiBA,CAACC,GAAY,EAAoB;EACtE,IAAI3B,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;IAC7B;IACA,OAAO,KAAK;EACd;EAEA,MAAMC,GAAG,GAAGR,GAAG,CAACM,GAAG,CAAC;EACpB,MAAMG,MAAM,GAAGL,MAAM,CAACE,GAAG,CAAC;;EAE1B;EACA,IAAI;IACF;IACA;IACA,MAAMI,SAAS,GAAG,MAAMb,iBAAiB,CAACc,OAAO,CAACH,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAIE,SAAS,EAAE;MACb,OAAO,IAAI;IACb;EACF,CAAC,CAAC,OAAOE,GAAG,EAAE;IACZC,OAAO,CAACC,GAAG,CAAC,iCAAiCN,GAAG,WAAW,EAAEI,GAAG,CAAC;EACnE;;EAEA;EACA,IAAI;IACF,MAAMG,OAAO,GAAG,MAAMnC,OAAO,CAACoC,UAAU,CAACP,MAAM,CAAC;IAChD,IAAIM,OAAO,EAAE;MACX,MAAMnC,OAAO,CAACqC,OAAO,CAACR,MAAM,CAAC;MAC7B,OAAO,IAAI;IACb;EACF,CAAC,CAAC,OAAOS,IAAI,EAAE;IACbL,OAAO,CAACC,GAAG,CACT,2CAA2CL,MAAM,WAAW,EAC5DS,IACF,CAAC;EACH;EAEA,OAAO,KAAK;AACd;AAEA,MAAMC,eAAe,GAAG,MAAAA,CAAA,KAAY;EAClC,IAAI;IACF,MAAMvB,aAAa,CAACwB,QAAQ,CAAC,IAAI,CAAC;IAClCP,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;EAC1C,CAAC,CAAC,OAAOO,CAAC,EAAE;IACVR,OAAO,CAACS,KAAK,CAAC,mCAAmC,EAAED,CAAC,CAAC;EACvD;AACF,CAAC;AAED,OAAO,MAAM7C,OAAO,GAAGA,CAAC;EACtB+C,GAAG;EACHC,OAAO;EACPC,UAAU;EACVC,QAAQ;EACRC,eAAe,GAAG,EAAE;EACpBC;AACkB,CAAC,KAAK;EACxB,MAAMC,UAAU,GAAG1C,MAAM,CAAmB,IAAI,CAAC;EACjD,MAAM,CAAC2C,SAAS,EAAEC,YAAY,CAAC,GAAG3C,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM4C,YAAY,GAAG7C,MAAM,CAAC,KAAK,CAAC;EAClC,MAAM8C,gBAAgB,GAAG9C,MAAM,CAAC,KAAK,CAAC;;EAEtC;EACA,MAAM,GAAG+C,QAAQ,CAAC,GAAG9C,QAAQ,CAC3B,IACF,CAAC;EACD,MAAM+C,iBAAiB,GAAG,MAAOZ,GAAW,IAAK;IAC/C,IAAI;MACF,MAAM,IAAIa,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;MACxD,MAAMzD,OAAO,CAACqC,OAAO,CAACM,GAAG,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOD,KAAK,EAAE;MACd;MACA,IAAI3C,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;QAC7BvB,YAAY,CAACuD,IAAI,CACf,+CAA+C,EAC/CvD,YAAY,CAACwD,IACf,CAAC;MACH;MACA3B,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;IAC5D;EACF,CAAC;EACD,MAAM2B,2BAA2B,GAAIC,cAAmB,IAAK;IAC3D,MAAM;MAAEC;IAAY,CAAC,GAAGD,cAAc;IACtC,MAAME,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,IAAIA,kBAAkB,CAACC,QAAQ,CAACF,WAAW,CAACG,IAAI,CAAC,EAAE;MACjD,MAAMC,OAAO,GAAG,mBAAmBJ,WAAW,CAACG,IAAI,KAAKH,WAAW,CAACK,WAAW,EAAE;MACjFd,QAAQ,CAAC;QAAEe,OAAO,EAAE,IAAI;QAAEF;MAAQ,CAAC,CAAC;MAEpC,IAAIJ,WAAW,CAACG,IAAI,KAAK,CAAC,CAAC,EAAE;QAC3B,IAAInE,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;UAC7BvB,YAAY,CAACuD,IAAI,CACf,sDAAsD,EACtDvD,YAAY,CAACwD,IACf,CAAC;QACH;QACArB,eAAe,CAAC,CAAC;QACjBM,UAAU,GAAGpC,eAAe,CAAC6D,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,CAAC,MAAM;QACL,IAAIvE,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;UAC7BvB,YAAY,CAACuD,IAAI,CACf,+CAA+C,EAC/CvD,YAAY,CAACwD,IACf,CAAC;QACH;QACArB,eAAe,CAAC,CAAC;QACjBM,UAAU,GAAGpC,eAAe,CAAC6D,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD;MAEAZ,UAAU,CAAC,MAAMJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACxC;EACF,CAAC;EAED,MAAMiB,aAAa,GAAGA,CAAC5B,GAAW,EAAE6B,KAAa,KAAoB;IACnE,MAAMC,KAAK,GAAG9B,GAAG,CAAC8B,KAAK,CAAC,IAAIC,MAAM,CAAC,MAAM,GAAGF,KAAK,GAAG,WAAW,CAAC,CAAC;IACjE,OAAOC,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAGE,kBAAkB,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;EAChE,CAAC;EAED,MAAMG,mBAAmB,GAAG,MAAOC,OAAe,IAAK;IACrD,IAAI;MACF5C,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAE2C,OAAO,CAAC;;MAE1D;MACA,IAAIC,YAAY,GAAG,EAAE;MACrB,IAAI;QACF,MAAMC,OAAO,GAAG,MAAM/D,aAAa,CAACgE,GAAG,CAACH,OAAO,CAAC;QAChDC,YAAY,GAAGG,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAChCI,GAAG,CAAEC,GAAG,IAAK,GAAGA,GAAG,IAAIL,OAAO,CAACK,GAAG,CAAC,EAAEC,KAAK,IAAI,EAAE,EAAE,CAAC,CACnDC,IAAI,CAAC,IAAI,CAAC;MACf,CAAC,CAAC,OAAO7C,CAAC,EAAE;QACVR,OAAO,CAACS,KAAK,CAAC,iCAAiC,EAAED,CAAC,CAAC;MACrD;;MAEA;MACA,MAAM8C,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MACtC;MACA,MAAMC,QAAQ,GAAGb,OAAO,CAACc,KAAK,CAAC,GAAG,CAAC;MACnC,MAAMC,QAAQ,GAAGF,QAAQ,CAACA,QAAQ,CAACG,MAAM,GAAG,CAAC,CAAC;MAC9C,MAAMC,OAAO,GAAGF,QAAQ,EAAED,KAAK,CAAC,GAAG,CAAC,CAACI,GAAG,CAAC,CAAC,IAAI,KAAK;MACnD,MAAMC,QAAQ,GAAG,GAAGT,SAAS,IAAIO,OAAO,EAAE;MAE1C,MAAMG,YAAY,GAAGlG,QAAQ,CAACmG,MAAM,CAAC;QACnCC,GAAG,EAAE,GAAGpF,IAAI,CAACqF,qBAAqB,IAAIJ,QAAQ,EAAE;QAChDK,OAAO,EAAE,GAAGtF,IAAI,CAACuF,qBAAqB,IAAIN,QAAQ;MACpD,CAAC,CAAC;MAEF,IAAI,CAACC,YAAY,EAAE;QACjB,MAAM,IAAIM,KAAK,CAAC,mCAAmC,CAAC;MACtD;MAEA,IAAIC,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAE+D,YAAY,CAAC;MAElE,MAAMrD,OAAO,GAAG;QACd6D,OAAO,EAAE5B,OAAO;QAChB6B,MAAM,EAAET,YAAY;QACpBU,OAAO,EAAE;UACP,QAAQ,EAAE7B,YAAY;UACtB,QAAQ,EAAE,iBAAiB;UAC3B,cAAc,EAAE;QAClB,CAAC;QACD8B,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAGC,GAAQ,IAAK;UACnB7E,OAAO,CAACC,GAAG,CAAC,yCAAyC,EAAE4E,GAAG,CAAC;QAC7D;MACF,CAAC;MAED,MAAMC,QAAQ,GAAG,MAAMhG,IAAI,CAACiG,YAAY,CAACpE,OAAO,CAAC,CAACqE,OAAO;MAEzD,IAAIF,QAAQ,CAACG,UAAU,KAAK,GAAG,EAAE;QAC/BjF,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAE+D,YAAY,CAAC;QAEzD,IAAIlG,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;UAC7BvB,YAAY,CAACuD,IAAI,CAAC,8BAA8B,EAAEvD,YAAY,CAAC+G,KAAK,CAAC;QACvE;QAEA,MAAMrG,UAAU,CAACsG,IAAI,CAACnB,YAAY,EAAE;UAClCoB,kBAAkB,EAAE,IAAI;UACxBC,SAAS,EAAEA,CAAA,KAAM;YACf,IAAIvH,QAAQ,CAAC4B,EAAE,KAAK,KAAK,EAAE;cACzBZ,IAAI,CAACwG,MAAM,CAACtB,YAAY,CAAC,CAACuB,KAAK,CAACvF,OAAO,CAACS,KAAK,CAAC;YAChD;UACF;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,IAAI6D,KAAK,CAAC,+BAA+BQ,QAAQ,CAACG,UAAU,EAAE,CAAC;MACvE;IACF,CAAC,CAAC,OAAOxE,KAAK,EAAE;MACdT,OAAO,CAACS,KAAK,CAAC,oCAAoC,EAAEA,KAAK,CAAC;IAC5D;EACF,CAAC;EAED,MAAM+E,kCAAkC,GAAIC,KAAwB,IAAK;IACvE,MAAM;MAAE/E;IAAI,CAAC,GAAG+E,KAAK;IACrB,IAAIlB,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAES,GAAG,CAAC;IAEtD,IAAI,CAACA,GAAG,IAAIA,GAAG,KAAK,aAAa,IAAIA,GAAG,KAAK,cAAc,EAAE;MAC3D,OAAO,IAAI;IACb;IAEA,IAAI5C,QAAQ,CAAC4B,EAAE,KAAK,SAAS,IAAIgB,GAAG,EAAE;MACpC,IAAIA,GAAG,CAACsB,QAAQ,CAAC,eAAe,CAAC,EAAE;QACjChC,OAAO,CAACC,GAAG,CAAC,0CAA0C,CAAC;QACvDT,iBAAiB,CAAC,SAAS,CAAC,CAACkG,IAAI,CAC9BC,EAAE,IACD,CAACA,EAAE,IACHxH,YAAY,CAACuD,IAAI,CAAC,uBAAuB,EAAEvD,YAAY,CAAC+G,KAAK,CACjE,CAAC;QACD,OAAO,KAAK,CAAC,CAAC;MAChB;MACA,IAAIxE,GAAG,CAACsB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAClChC,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;QACrDT,iBAAiB,CAAC,OAAO,CAAC,CAACkG,IAAI,CAC5BC,EAAE,IACD,CAACA,EAAE,IAAIxH,YAAY,CAACuD,IAAI,CAAC,qBAAqB,EAAEvD,YAAY,CAAC+G,KAAK,CACtE,CAAC;QACD,OAAO,KAAK;MACd;MACA,IAAIxE,GAAG,CAACsB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5BhC,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;QAC1DT,iBAAiB,CAAC,OAAO,CAAC,CAACkG,IAAI,CAC5BC,EAAE,IACD,CAACA,EAAE,IACHxH,YAAY,CAACuD,IAAI,CAAC,0BAA0B,EAAEvD,YAAY,CAAC+G,KAAK,CACpE,CAAC;QACD,OAAO,KAAK;MACd;IACF;IAEA,IACExE,GAAG,EAAEsB,QAAQ,CAAC,0BAA0B,CAAC,IACzCtB,GAAG,EAAEsB,QAAQ,CAAC,mBAAmB,CAAC,EAClC;MACAhC,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;MACtC,MAAM2F,MAAM,GAAGtD,aAAa,CAAC5B,GAAG,EAAE,QAAQ,CAAC;MAE3CV,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAE2F,MAAM,CAAC;MAE3DxH,SAAS,CAACyH,kBAAkB,CAAC,WAAW,CAAC;MACzCvF,eAAe,CAAC,CAAC;MACjBM,UAAU,GAAGpC,eAAe,CAAC6D,QAAQ,CAACuD,MAAM,IAAIE,SAAS,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;IACA,IAAIpF,GAAG,EAAEsB,QAAQ,CAAC,oBAAoB,CAAC,EAAE;MACvChC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;MAE/C7B,SAAS,CAACyH,kBAAkB,CAAC,WAAW,CAAC;MACzCvF,eAAe,CAAC,CAAC;MACjBM,UAAU,GAAGpC,eAAe,CAAC6D,QAAQ,CAAC,iBAAiB,CAAC,CAAC;MACzD,OAAO,KAAK;IACd;;IAEA;IACA,MAAM0D,aAAa,GACjBjF,eAAe,CAACkF,IAAI,CAAEC,KAAK,IAAKvF,GAAG,CAACsB,QAAQ,CAACiE,KAAK,CAAC,CAAC,IACnDpF,QAAQ,IAAIH,GAAG,CAACsB,QAAQ,CAACnB,QAAQ,CAAE;IAEtC,IACE,CAACkF,aAAa,IACdrF,GAAG,IACHA,GAAG,KAAK,aAAa,IACrBA,GAAG,KAAK,cAAc,EACtB;MACA,IAAI6D,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAES,GAAG,CAAC;MAChEY,iBAAiB,CAACZ,GAAG,CAAC;MACtB,OAAO,KAAK;IACd;IACA,IACEA,GAAG,CAACsB,QAAQ,CAAC,MAAM,CAAC,IACpBtB,GAAG,CAACsB,QAAQ,CAAC,cAAc,CAAC,IAC5BtB,GAAG,CAACsB,QAAQ,CAAC,sBAAsB,CAAC,EACpC;MACA,IAAIuC,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAES,GAAG,CAAC;MACrEiC,mBAAmB,CAACjC,GAAG,CAAC;MACxB,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAMwF,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAIjF,SAAS,IAAID,UAAU,CAACmF,OAAO,EAAE;MACnCnF,UAAU,CAACmF,OAAO,CAACC,MAAM,CAAC,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAED/H,SAAS,CAAC,MAAM;IACd,MAAMgI,WAAW,GAAGxI,WAAW,CAACyI,gBAAgB,CAC9C,mBAAmB,EACnBJ,gBACF,CAAC;IACD,OAAO,MAAM;MACXG,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAACtF,SAAS,CAAC,CAAC;EAEf,MAAMuF,OAAO,GAAGA,CAAA,kBACdtH,IAAA,CAAChB,IAAI;IAACuI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,cAAc,EAAE,QAAQ;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,eACvE3H,IAAA,CAACjB,iBAAiB;MAAC6I,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,CAAC;EAEC,MAAMC,iBAAiB,GAAG,MAAOC,UAAsB,IAAK;IAC1D,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMzI,KAAK,CAACwI,UAAU,CAAC;MAEtC,IAAIC,MAAM,KAAKtI,OAAO,CAACuI,MAAM,EAAE;QAC7B,MAAMC,aAAa,GAAG,MAAMzI,OAAO,CAACsI,UAAU,CAAC;QAC/C,OAAOG,aAAa,KAAKxI,OAAO,CAACyI,OAAO;MAC1C;MAEA,OAAOH,MAAM,KAAKtI,OAAO,CAACyI,OAAO;IACnC,CAAC,CAAC,OAAO5G,KAAK,EAAE;MACdT,OAAO,CAACS,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAC3D,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAM6G,uBAAuB,GAAG,MAAO7B,KAAU,IAAK;IACpD,MAAM;MAAE8B;IAAU,CAAC,GAAG9B,KAAK,CAAC3D,WAAW;IACvC,IAAIyC,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEsH,SAAS,CAAC;IAErE,MAAMC,oBAAkC,GAAG,EAAE;IAE7C,IAAID,SAAS,CAACvF,QAAQ,CAAC,OAAO,CAAC,EAAE;MAC/BwF,oBAAoB,CAACC,IAAI,CACvB3J,QAAQ,CAAC4B,EAAE,KAAK,KAAK,GACjBhB,WAAW,CAACgJ,GAAG,CAACC,MAAM,GACtBjJ,WAAW,CAACkJ,OAAO,CAACD,MAC1B,CAAC;IACH;IACA,IAAIJ,SAAS,CAACvF,QAAQ,CAAC,YAAY,CAAC,EAAE;MACpCwF,oBAAoB,CAACC,IAAI,CACvB3J,QAAQ,CAAC4B,EAAE,KAAK,KAAK,GACjBhB,WAAW,CAACgJ,GAAG,CAACG,UAAU,GAC1BnJ,WAAW,CAACkJ,OAAO,CAACE,YAC1B,CAAC;IACH;IACA,IAAIP,SAAS,CAACvF,QAAQ,CAAC,aAAa,CAAC,EAAE;MACrCwF,oBAAoB,CAACC,IAAI,CACvB3J,QAAQ,CAAC4B,EAAE,KAAK,KAAK,GACjBhB,WAAW,CAACgJ,GAAG,CAACK,oBAAoB,GACpCrJ,WAAW,CAACkJ,OAAO,CAACI,oBAC1B,CAAC;IACH;IAEA,IAAI;MACF,MAAMC,OAAO,GAAG,MAAM1G,OAAO,CAAC2G,GAAG,CAC/BV,oBAAoB,CAACtE,GAAG,CAAE+D,UAAU,IAAKD,iBAAiB,CAACC,UAAU,CAAC,CACxE,CAAC;MAED,MAAMkB,OAAO,GAAGF,OAAO,CAACG,KAAK,CAAElB,MAAM,IAAKA,MAAM,KAAK,IAAI,CAAC;MAC1D,IAAIiB,OAAO,EAAE;QACX;QACA1C,KAAK,CAAC3D,WAAW,CAACuG,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACL;QACA5C,KAAK,CAAC3D,WAAW,CAACwG,IAAI,CAAC,CAAC;MAC1B;IACF,CAAC,CAAC,OAAO7H,KAAK,EAAE;MACdT,OAAO,CAACS,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;MAC5D;MACAgF,KAAK,CAAC3D,WAAW,CAACwG,IAAI,CAAC,CAAC;IAC1B;EACF,CAAC;EAED,MAAMC,aAAa,GAAI9C,KAA0B,IAAK;IACpD,IAAI;MACF,MAAM+C,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACjD,KAAK,CAAC3D,WAAW,CAAC0G,IAAI,CAAC;MAC/CxI,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;;MAExC;MACA,IAAIuI,IAAI,EAAEG,IAAI,KAAK,qBAAqB,EAAE;QACxC,IAAIpE,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEuI,IAAI,CAACI,IAAI,CAAC;QAEtE,IAAI,CAACzH,YAAY,CAACgF,OAAO,IAAI,CAAC/E,gBAAgB,CAAC+E,OAAO,EAAE;UACtD/E,gBAAgB,CAAC+E,OAAO,GAAG,IAAI;UAE/B,IAAI5B,OAAO,EACTvE,OAAO,CAACC,GAAG,CACT,mEACF,CAAC;UAEH7B,SAAS,CAACyH,kBAAkB,CAAC,WAAW,CAAC;UACzCvF,eAAe,CAAC,CAAC;UACjBM,UAAU,GAAGpC,eAAe,CAAC6D,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvD;QAEA;MACF;MAEA,IAAImG,IAAI,EAAEG,IAAI,KAAK,kBAAkB,EAAE;QACrC,IAAIpE,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;QACvE9B,YAAY,CAACuD,IAAI,CACf,8CAA8C,EAC9CvD,YAAY,CAACwD,IACf,CAAC;QACD;QACA;QACA;QACA;MACF;IACF,CAAC,CAAC,OAAOnB,CAAC,EAAE;MACVR,OAAO,CAAC6I,IAAI,CAAC,wCAAwC,EAAErI,CAAC,CAAC;IAC3D;EACF,CAAC;EAED,MAAMsI,oBAAoB,GAAIjH,cAAmB,IAAK;IACpD,MAAMkH,SAAS,GAAGlH,cAAc,EAAEC,WAAW,EAAEpB,GAAG,IAAIA,GAAG;IAEzDK,cAAc,GAAG,CAAC;EACpB,CAAC;EAED,oBACE7B,IAAA,CAAClB,YAAY;IAACyI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEsC,eAAe,EAAE;IAAQ,CAAE;IAAAnC,QAAA,eACzD3H,IAAA,CAACtB,SAAS;MACRqL,GAAG,EAAEjI,UAAW;MAChBkI,MAAM,EAAE;QAAEC,GAAG,EAAEzI;MAAI,CAAE;MACrB0I,mBAAmB,EACjB9B,uBACD;MACD+B,kBAAkB,EAAE,IAAK;MACzBC,kBAAkB,EAAE;QAClBC,MAAM,EAAE,IAAI;QACZC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE;MACf,CAAE;MACFC,OAAO,EAAGlJ,CAAC,IAAK;QACdoB,2BAA2B,CAACpB,CAAC,CAAC;QAC9BG,OAAO,EAAE+I,OAAO,GAAGlJ,CAAQ,CAAC;MAC9B,CAAE;MAAA,GACEG,OAAO;MACXgJ,mBAAmB,EAAE,IAAK;MAC1BC,aAAa,EAAEA,CAAA,kBAAM1K,IAAA,CAACsH,OAAO,IAAE,CAAE;MACjCqD,SAAS,EAAEf,oBAAqB;MAChCgB,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBC,iBAAiB,EAAE,IAAK;MACxBC,iBAAiB,EAAE,IAAK;MACxBC,+BAA+B,EAAE,KAAM;MACvCC,yBAAyB,EAAE,IAAK;MAChCC,4BAA4B,EAAE3E,kCAAmC;MACjE4E,uBAAuB,EAAGC,QAAQ,IAAK;QACrC,IAAI9F,OAAO,EAAEvE,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEoK,QAAQ,CAAC3J,GAAG,CAAC;QACjEQ,YAAY,CAACmJ,QAAQ,CAACpJ,SAAS,CAAC;QAChCE,YAAY,CAACgF,OAAO,GAAGkE,QAAQ,CAACpJ,SAAS;MAC3C,CAAE;MACF8F,kBAAkB,EAAEA,kBAAmB;MACvCuD,gBAAgB,EAAExM,QAAQ,CAAC4B,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,GAAI;MACzD6K,mCAAmC,EAAEzM,QAAQ,CAAC4B,EAAE,KAAK,KAAM;MAC3D8K,oBAAoB,EAAE,IAAK;MAC3BC,yBAAyB,EAAE,KAAM;MACjCC,gBAAgB,EAAC,QAAQ;MACzBC,iBAAiB,EAAE,IAAK;MACxBC,SAAS,EAAErC;IAAc,CAC1B;EAAC,CACU,CAAC;AAEnB,CAAC","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","Geolocation","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","getCurrentPosition","position","coords","latitude","longitude","state","accuracy","message","code","enableHighAccuracy","timeout","maximumAge","BLOCKED","handleOpenAppSettings","success","handleDispatchEvent","jsonString","data","parse","method","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","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","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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","ignoreList":[]}
|
|
@@ -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;
|
|
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,4CAkqBpB,CAAC"}
|
package/package.json
CHANGED
package/src/helpers/webview.tsx
CHANGED
|
@@ -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 Geolocation from '@react-native-community/geolocation';
|
|
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,164 @@ 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
|
+
// Fetch current location
|
|
212
|
+
Geolocation.getCurrentPosition(
|
|
213
|
+
(position) => {
|
|
214
|
+
console.log(
|
|
215
|
+
`SDK:LOG: ✅ Location fetched: ${position.coords.latitude}, ${position.coords.longitude}`
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
sendResultToWeb('locationPermission', {
|
|
219
|
+
state: 'granted',
|
|
220
|
+
latitude: position.coords.latitude,
|
|
221
|
+
longitude: position.coords.longitude,
|
|
222
|
+
accuracy: position.coords.accuracy,
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
locationRequestInProgress.current = false;
|
|
226
|
+
},
|
|
227
|
+
(error) => {
|
|
228
|
+
console.log(
|
|
229
|
+
`SDK:LOG: ⚠️ Location fetch failed: ${error.message} (code: ${error.code})`
|
|
230
|
+
);
|
|
231
|
+
|
|
232
|
+
// Error codes:
|
|
233
|
+
// 1 = PERMISSION_DENIED
|
|
234
|
+
// 2 = POSITION_UNAVAILABLE (includes location services disabled)
|
|
235
|
+
// 3 = TIMEOUT
|
|
236
|
+
if (error.code === 2) {
|
|
237
|
+
// POSITION_UNAVAILABLE - likely location services disabled
|
|
238
|
+
sendResultToWeb('locationPermission', {
|
|
239
|
+
state: 'location_services_disabled',
|
|
240
|
+
});
|
|
241
|
+
} else {
|
|
242
|
+
// Permission granted but location fetch failed for other reasons
|
|
243
|
+
// Send granted state so web can try browser API
|
|
244
|
+
sendResultToWeb('locationPermission', {
|
|
245
|
+
state: 'granted',
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
locationRequestInProgress.current = false;
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
enableHighAccuracy: true,
|
|
253
|
+
timeout: 10000,
|
|
254
|
+
maximumAge: 0,
|
|
255
|
+
}
|
|
256
|
+
);
|
|
257
|
+
} else if (status === RESULTS.BLOCKED) {
|
|
258
|
+
console.log('SDK:LOG: ❌ Permission permanently denied');
|
|
259
|
+
sendResultToWeb('locationPermission', { state: 'permanently_denied' });
|
|
260
|
+
locationRequestInProgress.current = false;
|
|
261
|
+
} else {
|
|
262
|
+
console.log('SDK:LOG: ❌ Permission denied');
|
|
263
|
+
sendResultToWeb('locationPermission', { state: 'denied' });
|
|
264
|
+
locationRequestInProgress.current = false;
|
|
265
|
+
}
|
|
266
|
+
} catch (error) {
|
|
267
|
+
console.log(`SDK:LOG: ❌ Permission request failed: ${error}`);
|
|
268
|
+
sendResultToWeb('locationPermission', { state: 'denied' });
|
|
269
|
+
locationRequestInProgress.current = false;
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Opens device settings for app permissions
|
|
275
|
+
*/
|
|
276
|
+
const handleOpenAppSettings = async () => {
|
|
277
|
+
try {
|
|
278
|
+
console.log('SDK:LOG: ⚙️ Opening app settings...');
|
|
279
|
+
await openSettings();
|
|
280
|
+
sendResultToWeb('openAppSettings', { success: true });
|
|
281
|
+
console.log('SDK:LOG: ✅ App settings opened');
|
|
282
|
+
} catch (error) {
|
|
283
|
+
console.log(`SDK:LOG: ❌ Failed to open app settings: ${error}`);
|
|
284
|
+
sendResultToWeb('openAppSettings', { success: false });
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Handles the dispatchEventToApp calls from web
|
|
290
|
+
*/
|
|
291
|
+
const handleDispatchEvent = (jsonString: string) => {
|
|
292
|
+
try {
|
|
293
|
+
const data = JSON.parse(jsonString);
|
|
294
|
+
const method = data?.method;
|
|
295
|
+
|
|
296
|
+
console.log(`SDK:LOG: 📥 Received dispatch event: ${method}`);
|
|
297
|
+
|
|
298
|
+
switch (method) {
|
|
299
|
+
case 'REQUEST_LOCATION_PERMISSION':
|
|
300
|
+
handleRequestLocationPermission();
|
|
301
|
+
break;
|
|
302
|
+
|
|
303
|
+
case 'OPEN_APP_SETTINGS':
|
|
304
|
+
handleOpenAppSettings();
|
|
305
|
+
break;
|
|
306
|
+
|
|
307
|
+
default:
|
|
308
|
+
console.log(`SDK:LOG: ⚠️ Unknown dispatch method: ${method}`);
|
|
309
|
+
}
|
|
310
|
+
} catch (e) {
|
|
311
|
+
console.log(`SDK:LOG: ❌ Error handling dispatch event: ${e}`);
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
// ============================================================================
|
|
316
|
+
// LOCATION PERMISSION IMPLEMENTATION - END
|
|
317
|
+
// ============================================================================
|
|
157
318
|
const showToast_with_code_message = (syntheticEvent: any) => {
|
|
158
319
|
const { nativeEvent } = syntheticEvent;
|
|
159
320
|
const errorCodesToHandle = [-2, -6, -8, -10];
|
|
@@ -375,7 +536,7 @@ export const WebView = ({
|
|
|
375
536
|
</View>
|
|
376
537
|
);
|
|
377
538
|
|
|
378
|
-
// Cookie injection script
|
|
539
|
+
// Cookie injection script with dispatchEventToApp bridge
|
|
379
540
|
const injectedJavaScript = `
|
|
380
541
|
(function() {
|
|
381
542
|
function safePost(msg) {
|
|
@@ -386,6 +547,71 @@ export const WebView = ({
|
|
|
386
547
|
} catch (e) {}
|
|
387
548
|
}
|
|
388
549
|
|
|
550
|
+
// ============================================================================
|
|
551
|
+
// DISPATCH EVENT TO APP BRIDGE - START
|
|
552
|
+
// ============================================================================
|
|
553
|
+
console.log('🌉 [RN] Installing dispatchEventToApp bridge...');
|
|
554
|
+
|
|
555
|
+
// Queue for calls made before bridge is ready
|
|
556
|
+
window.__dispatchEventQueue = window.__dispatchEventQueue || [];
|
|
557
|
+
|
|
558
|
+
function processQueue() {
|
|
559
|
+
while (window.__dispatchEventQueue && window.__dispatchEventQueue.length > 0) {
|
|
560
|
+
var jsonString = window.__dispatchEventQueue.shift();
|
|
561
|
+
try {
|
|
562
|
+
safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
|
|
563
|
+
console.log('🌉 [RN] Processed queued dispatchEventToApp call');
|
|
564
|
+
} catch(e) {
|
|
565
|
+
console.error('🌉 [RN] Error processing queued call:', e);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
function dispatchToRN(jsonString) {
|
|
571
|
+
console.log('🌉 [RN] dispatchEventToApp called with:', jsonString);
|
|
572
|
+
try {
|
|
573
|
+
if (window.ReactNativeWebView) {
|
|
574
|
+
safePost({ type: 'DISPATCH_EVENT_TO_APP', payload: jsonString });
|
|
575
|
+
console.log('🌉 [RN] Successfully called RN handler');
|
|
576
|
+
} else {
|
|
577
|
+
console.log('🌉 [RN] ReactNativeWebView not ready, queueing call');
|
|
578
|
+
window.__dispatchEventQueue.push(jsonString);
|
|
579
|
+
setTimeout(processQueue, 100);
|
|
580
|
+
}
|
|
581
|
+
} catch(e) {
|
|
582
|
+
console.error('🌉 [RN] dispatchEventToApp error:', e);
|
|
583
|
+
window.__dispatchEventQueue.push(jsonString);
|
|
584
|
+
setTimeout(processQueue, 100);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
// Create Android bridge: window.android.dispatchEventToApp
|
|
589
|
+
if (!window.android) {
|
|
590
|
+
window.android = {};
|
|
591
|
+
}
|
|
592
|
+
window.android.dispatchEventToApp = dispatchToRN;
|
|
593
|
+
console.log('🌉 [RN] window.android.dispatchEventToApp installed');
|
|
594
|
+
|
|
595
|
+
// Create iOS bridge: window.webkit.messageHandlers.dispatchEventToApp
|
|
596
|
+
if (!window.webkit) {
|
|
597
|
+
window.webkit = {};
|
|
598
|
+
}
|
|
599
|
+
if (!window.webkit.messageHandlers) {
|
|
600
|
+
window.webkit.messageHandlers = {};
|
|
601
|
+
}
|
|
602
|
+
window.webkit.messageHandlers.dispatchEventToApp = {
|
|
603
|
+
postMessage: dispatchToRN
|
|
604
|
+
};
|
|
605
|
+
console.log('🌉 [RN] window.webkit.messageHandlers.dispatchEventToApp installed');
|
|
606
|
+
|
|
607
|
+
// Process any queued calls
|
|
608
|
+
setTimeout(processQueue, 50);
|
|
609
|
+
|
|
610
|
+
console.log('🌉 [RN] dispatchEventToApp bridge installation complete');
|
|
611
|
+
// ============================================================================
|
|
612
|
+
// DISPATCH EVENT TO APP BRIDGE - END
|
|
613
|
+
// ============================================================================
|
|
614
|
+
|
|
389
615
|
// Preserve any existing window.onerror
|
|
390
616
|
var previousOnError = window.onerror || null;
|
|
391
617
|
window.onerror = function(message, source, lineno, colno, error) {
|
|
@@ -482,7 +708,15 @@ export const WebView = ({
|
|
|
482
708
|
const handleMessage = (event: WebViewMessageEvent) => {
|
|
483
709
|
try {
|
|
484
710
|
const data = JSON.parse(event.nativeEvent.data);
|
|
485
|
-
console.log('SDK:LOG: onMessage data =');
|
|
711
|
+
console.log('SDK:LOG: onMessage data =', data?.type);
|
|
712
|
+
|
|
713
|
+
// Handle dispatchEventToApp messages from web
|
|
714
|
+
if (data?.type === 'DISPATCH_EVENT_TO_APP') {
|
|
715
|
+
if (__DEV__)
|
|
716
|
+
console.log('SDK:LOG: DISPATCH_EVENT_TO_APP received:', data.payload);
|
|
717
|
+
handleDispatchEvent(data.payload);
|
|
718
|
+
return;
|
|
719
|
+
}
|
|
486
720
|
|
|
487
721
|
// 1) history.back() from a "root" page → treat as USER_CLOSED
|
|
488
722
|
if (data?.type === 'HISTORY_BACK_CALLED') {
|