banking_dcb_sdk_react_native 1.0.7 → 1.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.
- package/BankingDcbSdkReactNative.podspec +28 -0
- 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/lib/module/helpers/banking_dcb_react_native.js +71 -13
- package/lib/module/helpers/banking_dcb_react_native.js.map +1 -1
- package/lib/module/helpers/utils/Constants.js +9 -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 +120 -60
- package/lib/module/helpers/webview.js.map +1 -1
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts +2 -2
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts.map +1 -1
- package/lib/typescript/src/helpers/utils/Constants.d.ts +2 -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 +8 -0
- package/lib/typescript/src/helpers/webview.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/helpers/banking_dcb_react_native.tsx +135 -18
- package/src/helpers/utils/Constants.tsx +10 -9
- package/src/helpers/utils/webviewCallback.tsx +32 -16
- package/src/helpers/webview.tsx +142 -65
- package/PartnerReactNativeSdk.podspec +0 -31
|
@@ -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,19 +228,34 @@ export class BankingDcbReactNative {
|
|
|
219
228
|
console.log('App Version:', appVersion);
|
|
220
229
|
}
|
|
221
230
|
console.log('SDK:LOG device uuid is ');
|
|
231
|
+
const position = await this._getCurrentLocationIfPossible(
|
|
232
|
+
BankingDcbReactNative.webViewCallback
|
|
233
|
+
);
|
|
222
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
|
+
};
|
|
253
|
+
console.log('SDK:LOG: body for device session is : ', body);
|
|
223
254
|
const response = await this._apiCall.callAPI(
|
|
224
255
|
'POST',
|
|
225
256
|
ServiceNames.DEVICE_SESSION.params({ partner: bank }),
|
|
226
257
|
{
|
|
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
|
-
},
|
|
258
|
+
body,
|
|
235
259
|
}
|
|
236
260
|
);
|
|
237
261
|
//console.log("response from setup device session is : ", response)
|
|
@@ -380,7 +404,7 @@ export class BankingDcbReactNative {
|
|
|
380
404
|
[Constants.MANUFACTURER]: deviceInfo[Constants.MANUFACTURER],
|
|
381
405
|
[Constants.MODEL]: deviceInfo[Constants.MODEL],
|
|
382
406
|
[Constants.DEVICE_UUID]: deviceInfo[Constants.DEVICE_UUID],
|
|
383
|
-
[Constants.OS]: deviceInfo[Constants.OS],
|
|
407
|
+
[Constants.OS]: deviceInfo[Constants.OS],
|
|
384
408
|
[Constants.OS_VERSION]: deviceInfo[Constants.OS_VERSION],
|
|
385
409
|
[Constants.APP_VERSION]: appVersion,
|
|
386
410
|
},
|
|
@@ -410,4 +434,97 @@ export class BankingDcbReactNative {
|
|
|
410
434
|
};
|
|
411
435
|
}
|
|
412
436
|
}
|
|
437
|
+
|
|
438
|
+
private async _getCurrentLocationIfPossible(
|
|
439
|
+
webViewCallback: WebViewCallbackFunction
|
|
440
|
+
): Promise<Location | null> {
|
|
441
|
+
try {
|
|
442
|
+
console.log('SDK:LOG: in get current location');
|
|
443
|
+
|
|
444
|
+
if (Platform.OS === 'android') {
|
|
445
|
+
const hasFineLocation = await PermissionsAndroid.check(
|
|
446
|
+
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
|
|
447
|
+
);
|
|
448
|
+
|
|
449
|
+
let result: string;
|
|
450
|
+
|
|
451
|
+
if (!hasFineLocation) {
|
|
452
|
+
result = await PermissionsAndroid.request(
|
|
453
|
+
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
|
|
454
|
+
);
|
|
455
|
+
} else {
|
|
456
|
+
result = PermissionsAndroid.RESULTS.GRANTED;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
console.log('SDK:LOG: ANDROID LOCATION PERMISSION RESULT =>', result);
|
|
460
|
+
|
|
461
|
+
if (result === PermissionsAndroid.RESULTS.DENIED) {
|
|
462
|
+
webViewCallback(
|
|
463
|
+
WebViewCallback.sdkEvent(
|
|
464
|
+
SdkCallbackStatus.userLocationPermissionDenied
|
|
465
|
+
)
|
|
466
|
+
);
|
|
467
|
+
return null;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
|
|
471
|
+
ToastAndroid.show(
|
|
472
|
+
'Location permission denied. Please enable it from Settings.',
|
|
473
|
+
ToastAndroid.LONG
|
|
474
|
+
);
|
|
475
|
+
webViewCallback(
|
|
476
|
+
WebViewCallback.sdkEvent(
|
|
477
|
+
SdkCallbackStatus.userLocationPermissionPermanentlyDenied
|
|
478
|
+
)
|
|
479
|
+
);
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
const location = await GetLocation.getCurrentPosition({
|
|
485
|
+
enableHighAccuracy: true,
|
|
486
|
+
timeout: 15000,
|
|
487
|
+
});
|
|
488
|
+
|
|
489
|
+
console.log('SDK:LOG: 📍 Got position via GetLocation:', {
|
|
490
|
+
latitude: location.latitude,
|
|
491
|
+
longitude: location.longitude,
|
|
492
|
+
accuracy: location.accuracy,
|
|
493
|
+
time: location.time,
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
return location;
|
|
497
|
+
} catch (error: any) {
|
|
498
|
+
console.log(
|
|
499
|
+
'SDK:LOG: Error while fetching location (GetLocation):',
|
|
500
|
+
error
|
|
501
|
+
);
|
|
502
|
+
|
|
503
|
+
const code = error?.code as string | undefined;
|
|
504
|
+
|
|
505
|
+
if (code === 'UNAUTHORIZED') {
|
|
506
|
+
webViewCallback(
|
|
507
|
+
WebViewCallback.sdkEvent(
|
|
508
|
+
SdkCallbackStatus.userLocationPermissionDenied
|
|
509
|
+
)
|
|
510
|
+
);
|
|
511
|
+
} else if (code === 'UNAVAILABLE') {
|
|
512
|
+
webViewCallback(
|
|
513
|
+
WebViewCallback.sdkEvent(
|
|
514
|
+
SdkCallbackStatus.userLocationServiceDisabled
|
|
515
|
+
)
|
|
516
|
+
);
|
|
517
|
+
} else if (code === 'TIMEOUT') {
|
|
518
|
+
webViewCallback(
|
|
519
|
+
WebViewCallback.sdkEvent(SdkCallbackStatus.userLocationFetchError)
|
|
520
|
+
);
|
|
521
|
+
} else {
|
|
522
|
+
webViewCallback(
|
|
523
|
+
WebViewCallback.sdkEvent(SdkCallbackStatus.userLocationFetchError)
|
|
524
|
+
);
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
return null;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
413
530
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
+
} 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
|
+
}
|