@test-web/react-native-sdk 2.2.0 → 2.4.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/android/build/.transforms/246c075ea944392e66db7aa639265547/results.bin +1 -0
- package/android/build/.transforms/246c075ea944392e66db7aa639265547/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/yourcompany/sdk/BuildConfig.dex +0 -0
- package/android/build/.transforms/246c075ea944392e66db7aa639265547/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/yourcompany/sdk/YourSDKModule.dex +0 -0
- package/android/build/.transforms/246c075ea944392e66db7aa639265547/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/yourcompany/sdk/YourSDKPackage.dex +0 -0
- package/android/build/.transforms/246c075ea944392e66db7aa639265547/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/952af5a0e7b5b2ac3d48ad66eccefd1f/results.bin +1 -0
- package/android/build/.transforms/952af5a0e7b5b2ac3d48ad66eccefd1f/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/generated/source/buildConfig/debug/com/yourcompany/sdk/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +34 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/yourcompany/sdk/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/yourcompany/sdk/YourSDKModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/yourcompany/sdk/YourSDKPackage.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +56 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +34 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/yourcompany/sdk/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/yourcompany/sdk/YourSDKModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/yourcompany/sdk/YourSDKPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +61 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/package.json +1 -1
- package/src/apis/captureBarcode.ts +37 -0
- package/src/apis/captureMRZ.ts +39 -0
- package/src/apis/checkLiveness.ts +48 -0
- package/src/apis/index.ts +26 -75
- package/src/components/common/Footer.tsx +19 -22
- package/src/components/common/Header.tsx +22 -21
- package/src/components/common/Loader.tsx +9 -28
- package/src/components/ui/Button.tsx +23 -31
- package/src/components/ui/ThemedText.tsx +21 -32
- package/src/context/FailedCountContext.tsx +35 -0
- package/src/context/IDMConfigurationContext.tsx +12 -2
- package/src/context/themes.ts +20 -0
- package/src/index.tsx +41 -29
- package/src/screens/BackDocumentAdvice.tsx +13 -18
- package/src/screens/BarcodeAdvice.tsx +39 -19
- package/src/screens/BarcodeCapture.tsx +127 -158
- package/src/screens/DocumentCaptureBack.tsx +145 -102
- package/src/screens/DocumentCaptureFront.tsx +146 -113
- package/src/screens/FrontDocumentAdvice.tsx +13 -18
- package/src/screens/LocationPermission.tsx +124 -17
- package/src/screens/MrzAdvice.tsx +27 -13
- package/src/screens/MrzCapture.tsx +233 -206
- package/src/screens/SelectDocuments.tsx +57 -66
- package/src/screens/SelfieAdvice.tsx +2 -3
- package/src/screens/SelfieCapture.tsx +135 -103
- package/src/screens/ThankYou.tsx +25 -31
- package/src/screens/VerifyIdentity.tsx +1 -0
- package/src/styles/BarcodeAdviceStyles.ts +6 -6
- package/src/styles/DocumentCaptureBackStyle.ts +70 -0
- package/src/styles/DocumentCaptureFrontStyle.ts +70 -0
- package/src/styles/FooterStyles.ts +27 -0
- package/src/styles/HeaderStyles.ts +20 -0
- package/src/styles/LoaderStyles.ts +14 -0
- package/src/styles/ScannerStyles.ts +46 -9
- package/src/styles/ThankYouStyles.ts +8 -11
- package/src/types/index.ts +8 -0
- package/src/utils/MRZ_README.md +111 -0
- package/src/utils/imagesHelper.ts +264 -0
- package/src/utils/metadata_new.json +11373 -1
- package/src/utils/mrzExamples.ts +127 -0
- package/src/utils/mrzParser.ts +303 -0
- package/src/utils/mrzUtils.ts +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/bundleLibRuntimeToDirDebug
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/classes
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatically generated file. DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
package com.yourcompany.sdk;
|
|
5
|
+
|
|
6
|
+
public final class BuildConfig {
|
|
7
|
+
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
|
8
|
+
public static final String LIBRARY_PACKAGE_NAME = "com.yourcompany.sdk";
|
|
9
|
+
public static final String BUILD_TYPE = "debug";
|
|
10
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
package="com.yourcompany.sdk" >
|
|
4
|
+
|
|
5
|
+
<uses-sdk android:minSdkVersion="24" />
|
|
6
|
+
|
|
7
|
+
<!-- Camera Permission -->
|
|
8
|
+
<uses-permission android:name="android.permission.CAMERA" />
|
|
9
|
+
|
|
10
|
+
<!-- Location Permissions -->
|
|
11
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
12
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
13
|
+
|
|
14
|
+
<!-- Storage Permissions (for saving captured images) -->
|
|
15
|
+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
16
|
+
<uses-permission
|
|
17
|
+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
18
|
+
android:maxSdkVersion="28" />
|
|
19
|
+
|
|
20
|
+
<!-- Internet Permission (for API calls when needed) -->
|
|
21
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
|
22
|
+
|
|
23
|
+
<!-- Camera Features -->
|
|
24
|
+
<uses-feature
|
|
25
|
+
android:name="android.hardware.camera"
|
|
26
|
+
android:required="false" />
|
|
27
|
+
<uses-feature
|
|
28
|
+
android:name="android.hardware.camera.autofocus"
|
|
29
|
+
android:required="false" />
|
|
30
|
+
<uses-feature
|
|
31
|
+
android:name="android.hardware.camera.front"
|
|
32
|
+
android:required="false" />
|
|
33
|
+
|
|
34
|
+
</manifest>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"artifactType": {
|
|
4
|
+
"type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
|
|
5
|
+
"kind": "Directory"
|
|
6
|
+
},
|
|
7
|
+
"applicationId": "com.yourcompany.sdk",
|
|
8
|
+
"variantName": "debug",
|
|
9
|
+
"elements": [
|
|
10
|
+
{
|
|
11
|
+
"type": "SINGLE",
|
|
12
|
+
"filters": [],
|
|
13
|
+
"attributes": [],
|
|
14
|
+
"outputFile": "AndroidManifest.xml"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"elementType": "File"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#Tue Dec 23 14:44:15 IST 2025
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\debug\jniLibs"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\debug\shaders"/></dataSet></merger>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
1<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
3 package="com.yourcompany.sdk" >
|
|
4
|
+
4
|
|
5
|
+
5 <uses-sdk android:minSdkVersion="24" />
|
|
6
|
+
6
|
|
7
|
+
7 <!-- Camera Permission -->
|
|
8
|
+
8 <uses-permission android:name="android.permission.CAMERA" />
|
|
9
|
+
8-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:5:5-65
|
|
10
|
+
8-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:5:22-62
|
|
11
|
+
9
|
|
12
|
+
10 <!-- Location Permissions -->
|
|
13
|
+
11 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
14
|
+
11-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:8:5-79
|
|
15
|
+
11-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:8:22-76
|
|
16
|
+
12 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
17
|
+
12-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:9:5-81
|
|
18
|
+
12-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:9:22-78
|
|
19
|
+
13
|
|
20
|
+
14 <!-- Storage Permissions (for saving captured images) -->
|
|
21
|
+
15 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
22
|
+
15-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:12:5-80
|
|
23
|
+
15-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:12:22-77
|
|
24
|
+
16 <uses-permission
|
|
25
|
+
16-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:13:5-14:51
|
|
26
|
+
17 android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
27
|
+
17-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:13:22-78
|
|
28
|
+
18 android:maxSdkVersion="28" />
|
|
29
|
+
18-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:14:22-48
|
|
30
|
+
19
|
|
31
|
+
20 <!-- Internet Permission (for API calls when needed) -->
|
|
32
|
+
21 <uses-permission android:name="android.permission.INTERNET" />
|
|
33
|
+
21-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:17:5-67
|
|
34
|
+
21-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:17:22-64
|
|
35
|
+
22
|
|
36
|
+
23 <!-- Camera Features -->
|
|
37
|
+
24 <uses-feature
|
|
38
|
+
24-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:5-85
|
|
39
|
+
25 android:name="android.hardware.camera"
|
|
40
|
+
25-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:19-57
|
|
41
|
+
26 android:required="false" />
|
|
42
|
+
26-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:58-82
|
|
43
|
+
27 <uses-feature
|
|
44
|
+
27-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:5-95
|
|
45
|
+
28 android:name="android.hardware.camera.autofocus"
|
|
46
|
+
28-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:19-67
|
|
47
|
+
29 android:required="false" />
|
|
48
|
+
29-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:68-92
|
|
49
|
+
30 <uses-feature
|
|
50
|
+
30-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:5-91
|
|
51
|
+
31 android:name="android.hardware.camera.front"
|
|
52
|
+
31-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:19-63
|
|
53
|
+
32 android:required="false" />
|
|
54
|
+
32-->G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:64-88
|
|
55
|
+
33
|
|
56
|
+
34</manifest>
|
package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
package="com.yourcompany.sdk" >
|
|
4
|
+
|
|
5
|
+
<uses-sdk android:minSdkVersion="24" />
|
|
6
|
+
|
|
7
|
+
<!-- Camera Permission -->
|
|
8
|
+
<uses-permission android:name="android.permission.CAMERA" />
|
|
9
|
+
|
|
10
|
+
<!-- Location Permissions -->
|
|
11
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
12
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
13
|
+
|
|
14
|
+
<!-- Storage Permissions (for saving captured images) -->
|
|
15
|
+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
16
|
+
<uses-permission
|
|
17
|
+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
18
|
+
android:maxSdkVersion="28" />
|
|
19
|
+
|
|
20
|
+
<!-- Internet Permission (for API calls when needed) -->
|
|
21
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
|
22
|
+
|
|
23
|
+
<!-- Camera Features -->
|
|
24
|
+
<uses-feature
|
|
25
|
+
android:name="android.hardware.camera"
|
|
26
|
+
android:required="false" />
|
|
27
|
+
<uses-feature
|
|
28
|
+
android:name="android.hardware.camera.autofocus"
|
|
29
|
+
android:required="false" />
|
|
30
|
+
<uses-feature
|
|
31
|
+
android:name="android.hardware.camera.front"
|
|
32
|
+
android:required="false" />
|
|
33
|
+
|
|
34
|
+
</manifest>
|
package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0 Warning/Error
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
com.yourcompany.sdk
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
-- Merging decision tree log ---
|
|
2
|
+
manifest
|
|
3
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:1:1-24:12
|
|
4
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:1:1-24:12
|
|
5
|
+
package
|
|
6
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:2:11-40
|
|
7
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml
|
|
8
|
+
xmlns:android
|
|
9
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:1:11-69
|
|
10
|
+
uses-permission#android.permission.CAMERA
|
|
11
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:5:5-65
|
|
12
|
+
android:name
|
|
13
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:5:22-62
|
|
14
|
+
uses-permission#android.permission.ACCESS_FINE_LOCATION
|
|
15
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:8:5-79
|
|
16
|
+
android:name
|
|
17
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:8:22-76
|
|
18
|
+
uses-permission#android.permission.ACCESS_COARSE_LOCATION
|
|
19
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:9:5-81
|
|
20
|
+
android:name
|
|
21
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:9:22-78
|
|
22
|
+
uses-permission#android.permission.READ_EXTERNAL_STORAGE
|
|
23
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:12:5-80
|
|
24
|
+
android:name
|
|
25
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:12:22-77
|
|
26
|
+
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
|
|
27
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:13:5-14:51
|
|
28
|
+
android:maxSdkVersion
|
|
29
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:14:22-48
|
|
30
|
+
android:name
|
|
31
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:13:22-78
|
|
32
|
+
uses-permission#android.permission.INTERNET
|
|
33
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:17:5-67
|
|
34
|
+
android:name
|
|
35
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:17:22-64
|
|
36
|
+
uses-feature#android.hardware.camera
|
|
37
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:5-85
|
|
38
|
+
android:required
|
|
39
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:58-82
|
|
40
|
+
android:name
|
|
41
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:20:19-57
|
|
42
|
+
uses-feature#android.hardware.camera.autofocus
|
|
43
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:5-95
|
|
44
|
+
android:required
|
|
45
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:68-92
|
|
46
|
+
android:name
|
|
47
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:21:19-67
|
|
48
|
+
uses-feature#android.hardware.camera.front
|
|
49
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:5-91
|
|
50
|
+
android:required
|
|
51
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:64-88
|
|
52
|
+
android:name
|
|
53
|
+
ADDED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml:22:19-63
|
|
54
|
+
uses-sdk
|
|
55
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml reason: use-sdk injection requested
|
|
56
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml
|
|
57
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml
|
|
58
|
+
android:targetSdkVersion
|
|
59
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml
|
|
60
|
+
android:minSdkVersion
|
|
61
|
+
INJECTED from G:\React Naive\Projects\scanApp2\node_modules\@test-web\react-native-sdk\android\src\main\AndroidManifest.xml
|
package/package.json
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getBaseURL } from '../config/apiConfig';
|
|
2
|
+
import { IDMConf } from '../types/IDMConf';
|
|
3
|
+
|
|
4
|
+
const captureBarcode = async (
|
|
5
|
+
idmConf: IDMConf,
|
|
6
|
+
requestData: {
|
|
7
|
+
token: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}
|
|
10
|
+
): Promise<any> => {
|
|
11
|
+
try {
|
|
12
|
+
if (!idmConf.accessToken) {
|
|
13
|
+
throw new Error('Access token is missing');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const URL = `${getBaseURL(idmConf.environment)}/ocr/base64/barcode/text`;
|
|
17
|
+
|
|
18
|
+
const formData = new FormData();
|
|
19
|
+
formData.append('text', requestData.text);
|
|
20
|
+
formData.append('token', requestData.token);
|
|
21
|
+
|
|
22
|
+
const response = await fetch(URL, {
|
|
23
|
+
method: 'POST',
|
|
24
|
+
headers: {
|
|
25
|
+
Authorization: `Bearer ${idmConf.accessToken}`,
|
|
26
|
+
},
|
|
27
|
+
body: formData,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const data = await response.json();
|
|
31
|
+
return data;
|
|
32
|
+
} catch (error: any) {
|
|
33
|
+
throw new Error(`captureBarcode failed: ${error.message}`);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default captureBarcode;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getBaseURL } from '../config/apiConfig';
|
|
2
|
+
import { IDMConf } from '../types/IDMConf';
|
|
3
|
+
|
|
4
|
+
const captureMRZ = async (
|
|
5
|
+
idmConf: IDMConf,
|
|
6
|
+
requestData: {
|
|
7
|
+
token: string;
|
|
8
|
+
code: string;
|
|
9
|
+
engine: string;
|
|
10
|
+
}
|
|
11
|
+
): Promise<any> => {
|
|
12
|
+
try {
|
|
13
|
+
if (!idmConf.accessToken) {
|
|
14
|
+
throw new Error('Access token is missing');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const URL = `${getBaseURL(idmConf.environment)}/ocr/mrz/text`;
|
|
18
|
+
|
|
19
|
+
const formData = new FormData();
|
|
20
|
+
formData.append('token', requestData.token);
|
|
21
|
+
formData.append('code', requestData.code);
|
|
22
|
+
formData.append('engine', requestData.engine);
|
|
23
|
+
|
|
24
|
+
const response = await fetch(URL, {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
headers: {
|
|
27
|
+
Authorization: `Bearer ${idmConf.accessToken}`,
|
|
28
|
+
},
|
|
29
|
+
body: formData,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const data = await response.json();
|
|
33
|
+
return data;
|
|
34
|
+
} catch (error: any) {
|
|
35
|
+
throw new Error(`captureMRZ failed: ${error.message}`);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default captureMRZ;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { getBaseURL } from '../config/apiConfig';
|
|
2
|
+
import { IDMConf } from '../types/IDMConf';
|
|
3
|
+
|
|
4
|
+
const checkLiveness = async (
|
|
5
|
+
idmConf: IDMConf,
|
|
6
|
+
requestData: {
|
|
7
|
+
latitude: string;
|
|
8
|
+
longitude: string;
|
|
9
|
+
token: string;
|
|
10
|
+
file: { uri: string; type: string; name: string };
|
|
11
|
+
}
|
|
12
|
+
): Promise<any> => {
|
|
13
|
+
try {
|
|
14
|
+
if (!idmConf.accessToken) {
|
|
15
|
+
throw new Error('Access token is missing');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const URL = `${getBaseURL(idmConf.environment)}/ocr/liveness`;
|
|
19
|
+
|
|
20
|
+
console.log('idmConf.userDetails.deviceInfo.model', idmConf.userDetails.deviceInfo.model);
|
|
21
|
+
const formData = new FormData();
|
|
22
|
+
formData.append('latitude', requestData.latitude);
|
|
23
|
+
formData.append('longitude', requestData.longitude);
|
|
24
|
+
formData.append('token', requestData.token);
|
|
25
|
+
formData.append('user_agent', idmConf.userDetails.deviceInfo.model);
|
|
26
|
+
formData.append('file', {
|
|
27
|
+
uri: requestData.file.uri,
|
|
28
|
+
type: requestData.file.type,
|
|
29
|
+
name: requestData.file.name,
|
|
30
|
+
} as any);
|
|
31
|
+
|
|
32
|
+
const response = await fetch(URL, {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
headers: {
|
|
35
|
+
Authorization: `Bearer ${idmConf.accessToken}`,
|
|
36
|
+
},
|
|
37
|
+
body: formData,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const data = await response.json();
|
|
41
|
+
return data;
|
|
42
|
+
} catch (error: any) {
|
|
43
|
+
console.error('checkLiveness error:', error.message);
|
|
44
|
+
throw new Error(`checkLiveness failed: ${error.message}`);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export default checkLiveness;
|
package/src/apis/index.ts
CHANGED
|
@@ -2,6 +2,12 @@ import { IDMConf } from '../types/IDMConf';
|
|
|
2
2
|
import { getBaseURL } from '../config/apiConfig';
|
|
3
3
|
import { base64Encode } from '../utils/base64';
|
|
4
4
|
import getUserData from '../services/getUserData';
|
|
5
|
+
import checkLiveness from './checkLiveness';
|
|
6
|
+
import captureBarcode from './captureBarcode';
|
|
7
|
+
import captureMRZ from './captureMRZ';
|
|
8
|
+
import countryMetaData from '../utils/metadata_new.json';
|
|
9
|
+
|
|
10
|
+
export { checkLiveness, captureBarcode, captureMRZ, countryMetaData };
|
|
5
11
|
|
|
6
12
|
/**
|
|
7
13
|
* Get user data including location, device info, and permissions
|
|
@@ -241,81 +247,7 @@ export async function captureDocumentBack(
|
|
|
241
247
|
}
|
|
242
248
|
}
|
|
243
249
|
|
|
244
|
-
/**
|
|
245
|
-
* Capture barcode data
|
|
246
|
-
*/
|
|
247
|
-
export async function captureBarcode(
|
|
248
|
-
conf: IDMConf,
|
|
249
|
-
requestData: {
|
|
250
|
-
token: string;
|
|
251
|
-
text: string;
|
|
252
|
-
}
|
|
253
|
-
): Promise<any> {
|
|
254
|
-
if (!conf.accessToken) {
|
|
255
|
-
throw new Error('Access token is missing');
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
const URL = `${getBaseURL(conf.environment)}/ocr/base64/barcode/text`;
|
|
259
|
-
|
|
260
|
-
try {
|
|
261
|
-
const formData = new FormData();
|
|
262
|
-
formData.append('text', requestData.text);
|
|
263
|
-
formData.append('token', requestData.token);
|
|
264
|
-
|
|
265
|
-
const response = await fetch(URL, {
|
|
266
|
-
method: 'POST',
|
|
267
|
-
headers: {
|
|
268
|
-
Authorization: `Bearer ${conf.accessToken}`,
|
|
269
|
-
},
|
|
270
|
-
body: formData,
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
const data = await response.json();
|
|
274
|
-
return data;
|
|
275
|
-
} catch (error: any) {
|
|
276
|
-
console.error('captureBarcode error:', error);
|
|
277
|
-
throw new Error(`captureBarcode failed: ${error.message}`);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Capture MRZ data
|
|
283
|
-
*/
|
|
284
|
-
export async function captureMRZ(
|
|
285
|
-
conf: IDMConf,
|
|
286
|
-
requestData: {
|
|
287
|
-
token: string;
|
|
288
|
-
code: string;
|
|
289
|
-
engine: string;
|
|
290
|
-
}
|
|
291
|
-
): Promise<any> {
|
|
292
|
-
if (!conf.accessToken) {
|
|
293
|
-
throw new Error('Access token is missing');
|
|
294
|
-
}
|
|
295
250
|
|
|
296
|
-
const URL = `${getBaseURL(conf.environment)}/ocr/mrz/text`;
|
|
297
|
-
|
|
298
|
-
try {
|
|
299
|
-
const formData = new FormData();
|
|
300
|
-
formData.append('token', requestData.token);
|
|
301
|
-
formData.append('code', requestData.code);
|
|
302
|
-
formData.append('engine', requestData.engine);
|
|
303
|
-
|
|
304
|
-
const response = await fetch(URL, {
|
|
305
|
-
method: 'POST',
|
|
306
|
-
headers: {
|
|
307
|
-
Authorization: `Bearer ${conf.accessToken}`,
|
|
308
|
-
},
|
|
309
|
-
body: formData,
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
const data = await response.json();
|
|
313
|
-
return data;
|
|
314
|
-
} catch (error: any) {
|
|
315
|
-
console.error('captureMRZ error:', error);
|
|
316
|
-
throw new Error(`captureMRZ failed: ${error.message}`);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
251
|
|
|
320
252
|
/**
|
|
321
253
|
* Complete verification process
|
|
@@ -325,6 +257,10 @@ export async function completeVerification(conf: IDMConf): Promise<any> {
|
|
|
325
257
|
throw new Error('Access token is missing');
|
|
326
258
|
}
|
|
327
259
|
|
|
260
|
+
if (!conf.verificationCode) {
|
|
261
|
+
throw new Error('Verification code is missing');
|
|
262
|
+
}
|
|
263
|
+
|
|
328
264
|
const URL = `${getBaseURL(conf.environment)}/verify/complete/${conf.verificationCode}`;
|
|
329
265
|
|
|
330
266
|
try {
|
|
@@ -334,10 +270,25 @@ export async function completeVerification(conf: IDMConf): Promise<any> {
|
|
|
334
270
|
'Content-Type': 'application/json',
|
|
335
271
|
Authorization: `Bearer ${conf.accessToken}`,
|
|
336
272
|
},
|
|
273
|
+
body: JSON.stringify({
|
|
274
|
+
platform: 'sdk',
|
|
275
|
+
}),
|
|
337
276
|
});
|
|
338
277
|
|
|
339
278
|
if (!response.ok) {
|
|
340
279
|
const errorBody = await response.text();
|
|
280
|
+
console.warn(
|
|
281
|
+
`completeVerification API returned ${response.status}: ${errorBody}`
|
|
282
|
+
);
|
|
283
|
+
|
|
284
|
+
// Don't throw error for 400 - it might mean verification is already complete or not ready
|
|
285
|
+
if (response.status === 400) {
|
|
286
|
+
return {
|
|
287
|
+
status: 'already_completed_or_not_ready',
|
|
288
|
+
message: errorBody,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
|
|
341
292
|
throw new Error(
|
|
342
293
|
`API call failed: ${response.status} ${response.statusText} - ${errorBody}`
|
|
343
294
|
);
|
|
@@ -347,7 +298,7 @@ export async function completeVerification(conf: IDMConf): Promise<any> {
|
|
|
347
298
|
return data;
|
|
348
299
|
} catch (error: any) {
|
|
349
300
|
console.error('completeVerification error:', error);
|
|
350
|
-
throw
|
|
301
|
+
throw error;
|
|
351
302
|
}
|
|
352
303
|
}
|
|
353
304
|
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { View, Text, StyleSheet } from 'react-native';
|
|
1
|
+
import { Image, StyleProp, Text, View, ViewStyle } from 'react-native';
|
|
3
2
|
import { useTheme } from '../../context/ThemeContext';
|
|
3
|
+
import { useOrientation } from '../../hooks/useOrientation';
|
|
4
|
+
import getStyles from '../../styles/FooterStyles';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
interface FooterProps {
|
|
7
|
+
style?: StyleProp<ViewStyle>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default function Footer({ style }: FooterProps) {
|
|
6
11
|
const { theme } = useTheme();
|
|
12
|
+
const orientation = useOrientation();
|
|
13
|
+
const styles = getStyles(theme, orientation);
|
|
7
14
|
|
|
8
15
|
return (
|
|
9
|
-
<View style={[styles.
|
|
10
|
-
<
|
|
11
|
-
Powered by
|
|
12
|
-
|
|
16
|
+
<View style={[styles.footer, style]}>
|
|
17
|
+
<View style={styles.container}>
|
|
18
|
+
<Text style={styles.text}>Powered by </Text>
|
|
19
|
+
<Image
|
|
20
|
+
source={require('../../../assets/images/logo.png')}
|
|
21
|
+
style={styles.logo}
|
|
22
|
+
resizeMode="contain"
|
|
23
|
+
/>
|
|
24
|
+
</View>
|
|
13
25
|
</View>
|
|
14
26
|
);
|
|
15
27
|
}
|
|
16
|
-
|
|
17
|
-
const styles = StyleSheet.create({
|
|
18
|
-
container: {
|
|
19
|
-
height: 50,
|
|
20
|
-
justifyContent: 'center',
|
|
21
|
-
alignItems: 'center',
|
|
22
|
-
borderTopWidth: 1,
|
|
23
|
-
borderTopColor: '#e0e0e0',
|
|
24
|
-
},
|
|
25
|
-
text: {
|
|
26
|
-
fontSize: 12,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export default memo(Footer);
|