banking_dcb_sdk_react_native 1.0.775 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/android/app/build/generated/source/codegen/RCTAppDependencyProvider.h +25 -0
- package/android/app/build/generated/source/codegen/RCTAppDependencyProvider.mm +55 -0
- package/android/app/build/generated/source/codegen/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/android/app/build/generated/source/codegen/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/android/app/build/generated/source/codegen/RCTThirdPartyComponentsProvider.h +16 -0
- package/android/app/build/generated/source/codegen/RCTThirdPartyComponentsProvider.mm +62 -0
- package/android/app/build/generated/source/codegen/ReactAppDependencyProvider.podspec +34 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeAsyncStorageModuleSpec.java +59 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeBlobUtilsSpec.java +280 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNCWebViewModuleSpec.java +42 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNPermissionsSpec.java +87 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeSafeAreaContextSpec.java +65 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeScreensModuleSpec.java +35 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.java +36 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.java +20 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCWebViewManagerDelegate.java +301 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCWebViewManagerInterface.java +107 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerDelegate.java +84 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerInterface.java +35 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerDelegate.java +101 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerInterface.java +42 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSFullWindowOverlayManagerDelegate.java +32 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSFullWindowOverlayManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSModalScreenManagerDelegate.java +128 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSModalScreenManagerInterface.java +51 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerDelegate.java +36 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerInterface.java +20 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +140 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +55 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenNavigationContainerManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenNavigationContainerManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +121 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +48 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +35 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +19 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHostManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHostManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +26 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +17 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +106 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +40 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewHostManagerDelegate.java +57 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewHostManagerInterface.java +27 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewScreenManagerDelegate.java +32 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewScreenManagerInterface.java +18 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSStackScreenManagerDelegate.java +35 -0
- package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSStackScreenManagerInterface.java +19 -0
- package/android/app/build/generated/source/codegen/jni/BankingDcbSdkReactNative-generated.cpp +22 -0
- package/android/app/build/generated/source/codegen/jni/BankingDcbSdkReactNative.h +24 -0
- package/android/app/build/generated/source/codegen/jni/CMakeLists.txt +36 -0
- package/android/app/build/generated/source/codegen/jni/RNCWebViewSpec-generated.cpp +38 -0
- package/android/app/build/generated/source/codegen/jni/RNCWebViewSpec.h +31 -0
- package/android/app/build/generated/source/codegen/jni/RNPermissionsSpec-generated.cpp +104 -0
- package/android/app/build/generated/source/codegen/jni/RNPermissionsSpec.h +31 -0
- package/android/app/build/generated/source/codegen/jni/ReactNativeBlobUtilSpec-generated.cpp +320 -0
- package/android/app/build/generated/source/codegen/jni/ReactNativeBlobUtilSpec.h +31 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/BankingDcbSdkReactNativeJSI-generated.cpp +17 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/BankingDcbSdkReactNativeJSI.h +19 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ComponentDescriptors.cpp +22 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ComponentDescriptors.h +24 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/EventEmitters.cpp +16 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/EventEmitters.h +17 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/Props.cpp +19 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/Props.h +18 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ShadowNodes.cpp +17 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ShadowNodes.h +23 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/States.cpp +16 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/States.h +19 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ComponentDescriptors.cpp +22 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ComponentDescriptors.h +24 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/EventEmitters.cpp +258 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/EventEmitters.h +277 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/Props.cpp +101 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/Props.h +507 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/RNCWebViewSpecJSI-generated.cpp +35 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/RNCWebViewSpecJSI.h +80 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ShadowNodes.cpp +17 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ShadowNodes.h +32 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/States.cpp +16 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/States.h +29 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNPermissionsSpec/RNPermissionsSpecJSI-generated.cpp +106 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNPermissionsSpec/RNPermissionsSpecJSI.h +226 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/ReactNativeBlobUtilSpec/ReactNativeBlobUtilSpecJSI-generated.cpp +449 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/ReactNativeBlobUtilSpec/ReactNativeBlobUtilSpecJSI.h +503 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnasyncstorage/rnasyncstorageJSI-generated.cpp +72 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnasyncstorage/rnasyncstorageJSI.h +116 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ComponentDescriptors.cpp +31 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ComponentDescriptors.h +33 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/EventEmitters.cpp +499 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/EventEmitters.h +422 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/Props.cpp +307 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/Props.h +1391 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ShadowNodes.cpp +26 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ShadowNodes.h +131 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/States.cpp +16 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/States.h +137 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/rnscreensJSI-generated.cpp +22 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/rnscreensJSI.h +64 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ComponentDescriptors.cpp +22 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ComponentDescriptors.h +24 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/EventEmitters.cpp +40 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/EventEmitters.h +47 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/Props.cpp +33 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/Props.h +85 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ShadowNodes.cpp +17 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ShadowNodes.h +32 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/States.cpp +16 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/States.h +29 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/safeareacontextJSI-generated.cpp +26 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/safeareacontextJSI.h +71 -0
- package/android/app/build/generated/source/codegen/jni/rnasyncstorage-generated.cpp +62 -0
- package/android/app/build/generated/source/codegen/jni/rnasyncstorage.h +31 -0
- package/android/app/build/generated/source/codegen/jni/rnscreens-generated.cpp +29 -0
- package/android/app/build/generated/source/codegen/jni/rnscreens.h +31 -0
- package/android/app/build/generated/source/codegen/jni/safeareacontext-generated.cpp +32 -0
- package/android/app/build/generated/source/codegen/jni/safeareacontext.h +31 -0
- package/android/build.gradle +5 -5
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/java/com/{partnerreactnativesdk/PartnerReactNativeSdkModule.kt → bankingdcbsdkreactnative/BankingDcbSdkReactNativeModule.kt} +3 -3
- package/android/src/main/java/com/{partnerreactnativesdk/PartnerReactNativeSdkPackage.kt → bankingdcbsdkreactnative/BankingDcbSdkReactNativePackage.kt} +3 -3
- package/ios/BankingDcbSdkReactNative.h +6 -0
- package/ios/PartnerReactNativeSdk.mm +3 -3
- package/lib/module/helpers/banking_dcb_react_native.js +121 -13
- package/lib/module/helpers/banking_dcb_react_native.js.map +1 -1
- package/lib/module/helpers/utils/Constants.js +10 -7
- package/lib/module/helpers/utils/Constants.js.map +1 -1
- package/lib/module/helpers/utils/webviewCallback.js +11 -0
- package/lib/module/helpers/utils/webviewCallback.js.map +1 -1
- package/lib/module/helpers/webview.js +26 -104
- package/lib/module/helpers/webview.js.map +1 -1
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts +1 -2
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts.map +1 -1
- package/lib/typescript/src/helpers/utils/Constants.d.ts +3 -0
- package/lib/typescript/src/helpers/utils/Constants.d.ts.map +1 -1
- package/lib/typescript/src/helpers/utils/webviewCallback.d.ts +10 -1
- package/lib/typescript/src/helpers/utils/webviewCallback.d.ts.map +1 -1
- package/lib/typescript/src/helpers/webview.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/helpers/banking_dcb_react_native.tsx +138 -20
- package/src/helpers/utils/Constants.tsx +11 -9
- package/src/helpers/utils/webviewCallback.tsx +32 -16
- package/src/helpers/webview.tsx +28 -108
- package/ios/PartnerReactNativeSdk.h +0 -6
|
@@ -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;
|
|
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,4CAybpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { APICall } from './network/APICall';
|
|
2
2
|
import { DeviceInfoManager } from './utils/deviceInfoManager';
|
|
3
3
|
import { LibraryConstants } from './utils/LibraryConstants';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
SdkCallbackStatus,
|
|
6
|
+
WebViewCallback,
|
|
7
|
+
type WebViewCallbackFunction,
|
|
8
|
+
} from './utils/webviewCallback';
|
|
5
9
|
import { ServiceNames } from './ServiceNames';
|
|
6
10
|
import { Constants } from './utils/Constants';
|
|
7
11
|
import { WebView } from './webview';
|
|
8
12
|
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
9
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
Alert,
|
|
15
|
+
PermissionsAndroid,
|
|
16
|
+
Platform,
|
|
17
|
+
StatusBar,
|
|
18
|
+
ToastAndroid,
|
|
19
|
+
} from 'react-native';
|
|
10
20
|
export type { WebViewCallbackFunction } from './utils/webviewCallback';
|
|
11
21
|
import { AnalyticsLogger } from './analytics/analytics_logger';
|
|
12
22
|
import * as base64js from 'base64-js';
|
|
23
|
+
// import GetLocation, { type Location } from 'react-native-get-location';
|
|
13
24
|
|
|
14
25
|
type InitOptions = {
|
|
15
26
|
whitelistedDomains: string[];
|
|
@@ -28,7 +39,6 @@ export class BankingDcbReactNative {
|
|
|
28
39
|
|
|
29
40
|
private _apiCall = new APICall();
|
|
30
41
|
static webViewCallback: WebViewCallbackFunction;
|
|
31
|
-
private _analyticsLogger!: AnalyticsLogger;
|
|
32
42
|
private constructor() {}
|
|
33
43
|
|
|
34
44
|
static getInstance(): BankingDcbReactNative {
|
|
@@ -45,7 +55,7 @@ export class BankingDcbReactNative {
|
|
|
45
55
|
deviceBindingEnabled: false,
|
|
46
56
|
}
|
|
47
57
|
): Promise<void> {
|
|
48
|
-
|
|
58
|
+
console.log('SDK LOG: SDK INITIALIZED');
|
|
49
59
|
if (BankingDcbReactNative.intialized) return;
|
|
50
60
|
|
|
51
61
|
try {
|
|
@@ -82,7 +92,6 @@ export class BankingDcbReactNative {
|
|
|
82
92
|
whitelistedDomains: whitelistedDomains,
|
|
83
93
|
deviceBinding: deviceBindingEnabled,
|
|
84
94
|
});
|
|
85
|
-
this._analyticsLogger = new AnalyticsLogger();
|
|
86
95
|
// this._analyticsLogger.logEvent({ event: 'REACT_NATIVE_INTIALIZED' });
|
|
87
96
|
}
|
|
88
97
|
|
|
@@ -90,7 +99,7 @@ export class BankingDcbReactNative {
|
|
|
90
99
|
module: string,
|
|
91
100
|
token: string,
|
|
92
101
|
WebViewCallbackFunction: WebViewCallbackFunction
|
|
93
|
-
): Promise<React.ReactElement> {
|
|
102
|
+
): Promise<React.ReactElement | null> {
|
|
94
103
|
// this._analyticsLogger.logEvent({ event: 'REACT_NATIVE_OPEN_FN_CALLED' });
|
|
95
104
|
|
|
96
105
|
if (!BankingDcbReactNative.intialized) {
|
|
@@ -122,7 +131,7 @@ export class BankingDcbReactNative {
|
|
|
122
131
|
bank: string,
|
|
123
132
|
url: string,
|
|
124
133
|
WebViewCallbackFunction: WebViewCallbackFunction
|
|
125
|
-
): Promise<React.ReactElement> {
|
|
134
|
+
): Promise<React.ReactElement | null> {
|
|
126
135
|
// this._analyticsLogger.logEvent({
|
|
127
136
|
// event: 'REACT_NATIVE_DEVICE_BINDING_CALLED',
|
|
128
137
|
// });
|
|
@@ -143,7 +152,7 @@ export class BankingDcbReactNative {
|
|
|
143
152
|
bank: string,
|
|
144
153
|
token: string,
|
|
145
154
|
WebViewCallbackFunction: WebViewCallbackFunction
|
|
146
|
-
): Promise<React.ReactElement> {
|
|
155
|
+
): Promise<React.ReactElement | null> {
|
|
147
156
|
// console.log("PartnerLibrary._loginAndNavigateToWebView - LibraryConstants.hostName:", LibraryConstants.hostName);
|
|
148
157
|
try {
|
|
149
158
|
// this._analyticsLogger.logEvent({ event: 'REACT_NATIVE_LOGIN_FN_CALLED' });
|
|
@@ -207,7 +216,7 @@ export class BankingDcbReactNative {
|
|
|
207
216
|
bank: string,
|
|
208
217
|
url: string,
|
|
209
218
|
WebViewCallbackFunction: WebViewCallbackFunction
|
|
210
|
-
): Promise<React.ReactElement> {
|
|
219
|
+
): Promise<React.ReactElement | null> {
|
|
211
220
|
try {
|
|
212
221
|
console.log('SDK:LOG: in setup device session');
|
|
213
222
|
|
|
@@ -219,22 +228,38 @@ export class BankingDcbReactNative {
|
|
|
219
228
|
console.log('App Version:', appVersion);
|
|
220
229
|
}
|
|
221
230
|
console.log('SDK:LOG device uuid is ');
|
|
222
|
-
|
|
231
|
+
// const position = await this._getCurrentLocationIfPossible(
|
|
232
|
+
// BankingDcbReactNative.webViewCallback
|
|
233
|
+
// );
|
|
234
|
+
|
|
235
|
+
// if (!position) {
|
|
236
|
+
// console.log('SDK:LOG: location fetched is : ', position);
|
|
237
|
+
// return null;
|
|
238
|
+
// }
|
|
239
|
+
|
|
240
|
+
// const latitude = String(position.latitude);
|
|
241
|
+
// const longitude = String(position.longitude);
|
|
242
|
+
|
|
243
|
+
const body: JSONMap = {
|
|
244
|
+
[Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
|
|
245
|
+
[Constants.MODEL]: deviceInfo[Constants.MODEL],
|
|
246
|
+
[Constants.DEVICE_UUID]: deviceInfo[Constants.DEVICE_UUID],
|
|
247
|
+
[Constants.OS]: deviceInfo[Constants.OS],
|
|
248
|
+
[Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
|
|
249
|
+
[Constants.APP_VERSION]: appVersion,
|
|
250
|
+
// [Constants.LATITUDE]: latitude,
|
|
251
|
+
// [Constants.LONGITUDE]: longitude,
|
|
252
|
+
// [Constants.ACCURACY]: String(position.accuracy),
|
|
253
|
+
};
|
|
254
|
+
console.log('SDK:LOG: body for device session is : ', body);
|
|
223
255
|
const response = await this._apiCall.callAPI(
|
|
224
256
|
'POST',
|
|
225
257
|
ServiceNames.DEVICE_SESSION.params({ partner: bank }),
|
|
226
258
|
{
|
|
227
|
-
body
|
|
228
|
-
[Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
|
|
229
|
-
[Constants.MODEL]: deviceInfo[Constants.MODEL],
|
|
230
|
-
[Constants.DEVICE_UUID]: deviceInfo[Constants.DEVICE_UUID],
|
|
231
|
-
[Constants.OS]: deviceInfo[Constants.OS],
|
|
232
|
-
[Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
|
|
233
|
-
[Constants.APP_VERSION]: appVersion,
|
|
234
|
-
},
|
|
259
|
+
body,
|
|
235
260
|
}
|
|
236
261
|
);
|
|
237
|
-
|
|
262
|
+
console.log('response from setup device session is : ', response);
|
|
238
263
|
if (
|
|
239
264
|
response &&
|
|
240
265
|
response.data &&
|
|
@@ -380,7 +405,7 @@ export class BankingDcbReactNative {
|
|
|
380
405
|
[Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
|
|
381
406
|
[Constants.MODEL]: deviceInfo[Constants.MODEL],
|
|
382
407
|
[Constants.DEVICE_UUID]: deviceInfo[Constants.DEVICE_UUID],
|
|
383
|
-
[Constants.OS]: deviceInfo[Constants.OS],
|
|
408
|
+
[Constants.OS]: deviceInfo[Constants.OS],
|
|
384
409
|
[Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
|
|
385
410
|
[Constants.APP_VERSION]: appVersion,
|
|
386
411
|
},
|
|
@@ -410,4 +435,97 @@ export class BankingDcbReactNative {
|
|
|
410
435
|
};
|
|
411
436
|
}
|
|
412
437
|
}
|
|
438
|
+
|
|
439
|
+
// private async _getCurrentLocationIfPossible(
|
|
440
|
+
// webViewCallback: WebViewCallbackFunction
|
|
441
|
+
// ): Promise<Location | null> {
|
|
442
|
+
// try {
|
|
443
|
+
// console.log('SDK:LOG: in get current location');
|
|
444
|
+
|
|
445
|
+
// if (Platform.OS === 'android') {
|
|
446
|
+
// const hasFineLocation = await PermissionsAndroid.check(
|
|
447
|
+
// PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
|
|
448
|
+
// );
|
|
449
|
+
|
|
450
|
+
// let result: string;
|
|
451
|
+
|
|
452
|
+
// if (!hasFineLocation) {
|
|
453
|
+
// result = await PermissionsAndroid.request(
|
|
454
|
+
// PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
|
|
455
|
+
// );
|
|
456
|
+
// } else {
|
|
457
|
+
// result = PermissionsAndroid.RESULTS.GRANTED;
|
|
458
|
+
// }
|
|
459
|
+
|
|
460
|
+
// console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
|
|
461
|
+
|
|
462
|
+
// if (result === PermissionsAndroid.RESULTS.DENIED) {
|
|
463
|
+
// webViewCallback(
|
|
464
|
+
// WebViewCallback.sdkEvent(
|
|
465
|
+
// SdkCallbackStatus.userLocationPermissionDenied
|
|
466
|
+
// )
|
|
467
|
+
// );
|
|
468
|
+
// return null;
|
|
469
|
+
// }
|
|
470
|
+
|
|
471
|
+
// if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
|
|
472
|
+
// ToastAndroid.show(
|
|
473
|
+
// 'Location permission denied. Please enable it from Settings.',
|
|
474
|
+
// ToastAndroid.LONG
|
|
475
|
+
// );
|
|
476
|
+
// webViewCallback(
|
|
477
|
+
// WebViewCallback.sdkEvent(
|
|
478
|
+
// SdkCallbackStatus.userLocationPermissionPermanentlyDenied
|
|
479
|
+
// )
|
|
480
|
+
// );
|
|
481
|
+
// return null;
|
|
482
|
+
// }
|
|
483
|
+
// }
|
|
484
|
+
|
|
485
|
+
// const location = await GetLocation.getCurrentPosition({
|
|
486
|
+
// enableHighAccuracy: true,
|
|
487
|
+
// timeout: 15000,
|
|
488
|
+
// });
|
|
489
|
+
|
|
490
|
+
// console.log('SDK:LOG: 📍 Got position via GetLocation:', {
|
|
491
|
+
// latitude: location.latitude,
|
|
492
|
+
// longitude: location.longitude,
|
|
493
|
+
// accuracy: location.accuracy,
|
|
494
|
+
// time: location.time,
|
|
495
|
+
// });
|
|
496
|
+
|
|
497
|
+
// return location;
|
|
498
|
+
// } catch (error: any) {
|
|
499
|
+
// console.log(
|
|
500
|
+
// 'SDK:LOG: Error while fetching location (GetLocation):',
|
|
501
|
+
// error
|
|
502
|
+
// );
|
|
503
|
+
|
|
504
|
+
// const code = error?.code as string | undefined;
|
|
505
|
+
|
|
506
|
+
// if (code === 'UNAUTHORIZED') {
|
|
507
|
+
// webViewCallback(
|
|
508
|
+
// WebViewCallback.sdkEvent(
|
|
509
|
+
// SdkCallbackStatus.userLocationPermissionDenied
|
|
510
|
+
// )
|
|
511
|
+
// );
|
|
512
|
+
// } else if (code === 'UNAVAILABLE') {
|
|
513
|
+
// webViewCallback(
|
|
514
|
+
// WebViewCallback.sdkEvent(
|
|
515
|
+
// SdkCallbackStatus.userLocationServiceDisabled
|
|
516
|
+
// )
|
|
517
|
+
// );
|
|
518
|
+
// } else if (code === 'TIMEOUT') {
|
|
519
|
+
// webViewCallback(
|
|
520
|
+
// WebViewCallback.sdkEvent(SdkCallbackStatus.userLocationFetchError)
|
|
521
|
+
// );
|
|
522
|
+
// } else {
|
|
523
|
+
// webViewCallback(
|
|
524
|
+
// WebViewCallback.sdkEvent(SdkCallbackStatus.userLocationFetchError)
|
|
525
|
+
// );
|
|
526
|
+
// }
|
|
527
|
+
|
|
528
|
+
// return null;
|
|
529
|
+
// }
|
|
530
|
+
// }
|
|
413
531
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export const Constants = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
MANUFACTURER: 'manufacturer',
|
|
3
|
+
MODEL: 'model',
|
|
4
|
+
OS: 'os',
|
|
5
|
+
OS_VERSION: 'os_version',
|
|
6
|
+
APP_VERSION: 'app_version',
|
|
7
|
+
DEVICE_UUID: 'device_uuid',
|
|
8
|
+
PRIMARY_COLOR: '#3F51B5',
|
|
9
|
+
LATITUDE: 'latitude',
|
|
10
|
+
LONGITUDE: 'longitude',
|
|
11
|
+
ACCURACY: 'accuracy',
|
|
12
|
+
} as const;
|
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
export enum WebViewCallbackType {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
Logout = 'logout',
|
|
3
|
+
Redirect = 'redirect',
|
|
4
|
+
SdkEvent = 'sdkEvent',
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export class WebViewCallback {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
type: WebViewCallbackType;
|
|
9
|
+
status?: string | null;
|
|
10
|
+
|
|
11
|
+
private constructor(type: WebViewCallbackType, status?: string | null) {
|
|
12
|
+
this.type = type;
|
|
13
|
+
this.status = status;
|
|
14
|
+
}
|
|
10
15
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
16
|
+
static logout(): WebViewCallback {
|
|
17
|
+
return new WebViewCallback(WebViewCallbackType.Logout);
|
|
18
|
+
}
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
static redirect(status?: string | null): WebViewCallback {
|
|
21
|
+
return new WebViewCallback(WebViewCallbackType.Redirect, status);
|
|
22
|
+
}
|
|
19
23
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
static sdkEvent(status: string): WebViewCallback {
|
|
25
|
+
return new WebViewCallback(WebViewCallbackType.SdkEvent, status);
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
export type WebViewCallbackFunction = (callback: WebViewCallback) => void;
|
|
29
|
+
export type WebViewCallbackFunction = (callback: WebViewCallback) => void;
|
|
30
|
+
|
|
31
|
+
export class SdkCallbackStatus {
|
|
32
|
+
static readonly userLocationPermissionGranted =
|
|
33
|
+
'USER_LOCATION_PERMISSION_GRANTED';
|
|
34
|
+
static readonly userLocationPermissionDenied =
|
|
35
|
+
'USER_LOCATION_PERMISSION_DENIED';
|
|
36
|
+
static readonly userLocationPermissionPermanentlyDenied =
|
|
37
|
+
'USER_LOCATION_PERMISSION_PERMANENTLY_DENIED';
|
|
38
|
+
static readonly userLocationServiceDisabled =
|
|
39
|
+
'USER_LOCATION_SERVICE_DISABLED';
|
|
40
|
+
static readonly userLocationFetchError = 'USER_LOCATION_FETCH_ERROR';
|
|
41
|
+
}
|
package/src/helpers/webview.tsx
CHANGED
|
@@ -111,18 +111,6 @@ export async function openMailAppIntent(app: MailApp): Promise<boolean> {
|
|
|
111
111
|
|
|
112
112
|
return false;
|
|
113
113
|
}
|
|
114
|
-
const isUserClosedRedirect = (url?: string | null): boolean => {
|
|
115
|
-
if (!url) return false;
|
|
116
|
-
try {
|
|
117
|
-
// Try to parse URL properly
|
|
118
|
-
const u = new URL(url);
|
|
119
|
-
if (!u.pathname.includes('/api/user/redirect')) return false;
|
|
120
|
-
return u.searchParams.get('status') === 'USER_CLOSED';
|
|
121
|
-
} catch {
|
|
122
|
-
// Fallback for relative / malformed URLs
|
|
123
|
-
return url.includes('/api/user/redirect?status=USER_CLOSED');
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
114
|
|
|
127
115
|
const clearAllCookies = async () => {
|
|
128
116
|
try {
|
|
@@ -143,10 +131,8 @@ export const WebView = ({
|
|
|
143
131
|
}: WebViewCustomProps) => {
|
|
144
132
|
const webviewRef = useRef<RNWebView | null>(null);
|
|
145
133
|
const [canGoBack, setCanGoBack] = useState(false);
|
|
146
|
-
const waitingForUserClosedRedirectRef = useRef(false);
|
|
147
|
-
const hasUserClosedRef = useRef(false);
|
|
148
|
-
|
|
149
134
|
const canGoBackRef = useRef(false);
|
|
135
|
+
const hasUserClosedRef = useRef(false);
|
|
150
136
|
|
|
151
137
|
// const [hasRedirected, setHasRedirected] = useState(false);
|
|
152
138
|
const [, setToast] = useState<{ visible: boolean; message: string } | null>(
|
|
@@ -285,20 +271,6 @@ export const WebView = ({
|
|
|
285
271
|
return true;
|
|
286
272
|
}
|
|
287
273
|
|
|
288
|
-
// 1. SPECIAL CASE: only USER_CLOSED navigation
|
|
289
|
-
if (isUserClosedRedirect(url)) {
|
|
290
|
-
console.log(
|
|
291
|
-
'SDK:LOG: USER_CLOSED redirect detected via navigation:',
|
|
292
|
-
url
|
|
293
|
-
);
|
|
294
|
-
|
|
295
|
-
StatusBar.setBackgroundColor('#7E7E7EFF');
|
|
296
|
-
clearAllCookies();
|
|
297
|
-
onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
|
|
298
|
-
|
|
299
|
-
return false; // don't actually load that URL in WebView
|
|
300
|
-
}
|
|
301
|
-
|
|
302
274
|
if (Platform.OS === 'android' && url) {
|
|
303
275
|
if (url.includes('ms-outlook://')) {
|
|
304
276
|
console.log('SDK:LOG: Intent to open Outlook detected');
|
|
@@ -404,7 +376,6 @@ export const WebView = ({
|
|
|
404
376
|
);
|
|
405
377
|
|
|
406
378
|
// Cookie injection script
|
|
407
|
-
|
|
408
379
|
const injectedJavaScript = `
|
|
409
380
|
(function() {
|
|
410
381
|
function safePost(msg) {
|
|
@@ -415,13 +386,21 @@ export const WebView = ({
|
|
|
415
386
|
} catch (e) {}
|
|
416
387
|
}
|
|
417
388
|
|
|
418
|
-
//
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
389
|
+
// Preserve any existing window.onerror
|
|
390
|
+
var previousOnError = window.onerror || null;
|
|
391
|
+
window.onerror = function(message, source, lineno, colno, error) {
|
|
392
|
+
try {
|
|
393
|
+
if (String(message || '').indexOf('RATE_LIMIT_USER') !== -1 &&
|
|
394
|
+
window.ReactNativeWebView) {
|
|
395
|
+
safePost({ type: 'RATE_LIMIT_ERROR' });
|
|
396
|
+
}
|
|
397
|
+
} catch (e) {}
|
|
398
|
+
if (typeof previousOnError === 'function') {
|
|
399
|
+
try { return previousOnError.apply(this, arguments); } catch (e) {}
|
|
400
|
+
}
|
|
401
|
+
};
|
|
423
402
|
|
|
424
|
-
//
|
|
403
|
+
// Patch history.back() to notify the app
|
|
425
404
|
if (window.history && typeof window.history.back === 'function') {
|
|
426
405
|
var originalBack = window.history.back;
|
|
427
406
|
window.history.back = function() {
|
|
@@ -432,70 +411,6 @@ export const WebView = ({
|
|
|
432
411
|
return originalBack.apply(this, arguments);
|
|
433
412
|
};
|
|
434
413
|
}
|
|
435
|
-
|
|
436
|
-
// Spy on location.assign / replace
|
|
437
|
-
try {
|
|
438
|
-
var originalAssign = window.location.assign
|
|
439
|
-
? window.location.assign.bind(window.location)
|
|
440
|
-
: null;
|
|
441
|
-
var originalReplace = window.location.replace
|
|
442
|
-
? window.location.replace.bind(window.location)
|
|
443
|
-
: null;
|
|
444
|
-
|
|
445
|
-
if (originalAssign) {
|
|
446
|
-
window.location.assign = function(url) {
|
|
447
|
-
safePost({
|
|
448
|
-
type: 'LOCATION_ASSIGN',
|
|
449
|
-
url: url,
|
|
450
|
-
from: window.location.href
|
|
451
|
-
});
|
|
452
|
-
return originalAssign(url);
|
|
453
|
-
};
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
if (originalReplace) {
|
|
457
|
-
window.location.replace = function(url) {
|
|
458
|
-
safePost({
|
|
459
|
-
type: 'LOCATION_REPLACE',
|
|
460
|
-
url: url,
|
|
461
|
-
from: window.location.href
|
|
462
|
-
});
|
|
463
|
-
return originalReplace(url);
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
// Spy on direct href writes (best-effort)
|
|
468
|
-
try {
|
|
469
|
-
var currentHref = window.location.href;
|
|
470
|
-
Object.defineProperty(window.location, 'href', {
|
|
471
|
-
get: function() {
|
|
472
|
-
return currentHref;
|
|
473
|
-
},
|
|
474
|
-
set: function(val) {
|
|
475
|
-
safePost({
|
|
476
|
-
type: 'LOCATION_HREF_SET',
|
|
477
|
-
url: val,
|
|
478
|
-
from: currentHref
|
|
479
|
-
});
|
|
480
|
-
currentHref = val;
|
|
481
|
-
if (originalAssign) {
|
|
482
|
-
return originalAssign(val);
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
});
|
|
486
|
-
} catch (e) {
|
|
487
|
-
// Some browsers/WebViews don't allow redefining href; ignore
|
|
488
|
-
safePost({
|
|
489
|
-
type: 'LOCATION_HREF_PATCH_FAILED',
|
|
490
|
-
error: String(e)
|
|
491
|
-
});
|
|
492
|
-
}
|
|
493
|
-
} catch (e) {
|
|
494
|
-
safePost({
|
|
495
|
-
type: 'LOCATION_SPY_ERROR',
|
|
496
|
-
error: String(e)
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
414
|
})();
|
|
500
415
|
true;
|
|
501
416
|
`;
|
|
@@ -567,12 +482,12 @@ export const WebView = ({
|
|
|
567
482
|
const handleMessage = (event: WebViewMessageEvent) => {
|
|
568
483
|
try {
|
|
569
484
|
const data = JSON.parse(event.nativeEvent.data);
|
|
570
|
-
console.log('SDK:LOG: onMessage data ='
|
|
485
|
+
console.log('SDK:LOG: onMessage data =');
|
|
571
486
|
|
|
487
|
+
// 1) history.back() from a "root" page → treat as USER_CLOSED
|
|
572
488
|
if (data?.type === 'HISTORY_BACK_CALLED') {
|
|
573
489
|
console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
|
|
574
490
|
|
|
575
|
-
// If WebView has no back history, treat this as "user closed"
|
|
576
491
|
if (!canGoBackRef.current && !hasUserClosedRef.current) {
|
|
577
492
|
hasUserClosedRef.current = true;
|
|
578
493
|
|
|
@@ -583,17 +498,22 @@ export const WebView = ({
|
|
|
583
498
|
StatusBar.setBackgroundColor('#7E7E7EFF');
|
|
584
499
|
clearAllCookies();
|
|
585
500
|
onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
|
|
586
|
-
|
|
587
|
-
// Now ask the host to close this WebView screen
|
|
588
|
-
// e.g. if this component is wrapped in a modal/screen, call:
|
|
589
|
-
// options?.onClose?.();
|
|
590
501
|
}
|
|
591
502
|
|
|
592
503
|
return;
|
|
593
504
|
}
|
|
594
505
|
|
|
595
|
-
|
|
596
|
-
|
|
506
|
+
if (data?.type === 'RATE_LIMIT_ERROR') {
|
|
507
|
+
console.log('SDK:LOG: RATE_LIMIT_ERROR received from web');
|
|
508
|
+
ToastAndroid.show(
|
|
509
|
+
'Too many requests. Please try after 1 minute',
|
|
510
|
+
ToastAndroid.LONG
|
|
511
|
+
);
|
|
512
|
+
// StatusBar.setBackgroundColor('#7E7E7EFF');
|
|
513
|
+
// clearAllCookies();
|
|
514
|
+
// onCallback?.(WebViewCallback.redirect('RATE_LIMIT_ERROR'));
|
|
515
|
+
// return;
|
|
516
|
+
}
|
|
597
517
|
} catch (e) {
|
|
598
518
|
console.warn('SDK:LOG: Error parsing WebView message', e);
|
|
599
519
|
}
|