@regulaforensics/face-sdk 7.1.211-rc → 7.1.252-beta
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/RNFaceSDK.podspec +3 -3
- package/android/CVDFaceSDK.kt +22 -8
- package/android/build.gradle +1 -1
- package/android/cordova.gradle +1 -1
- package/android/src/main/java/com/regula/plugin/facesdk/Config.kt +9 -1
- package/android/src/main/java/com/regula/plugin/facesdk/JSONConstructor.kt +2 -0
- package/android/src/main/java/com/regula/plugin/facesdk/Main.kt +15 -9
- package/android/src/main/java/com/regula/plugin/facesdk/RNFaceApiModule.kt +16 -6
- package/android/src/main/java/com/regula/plugin/facesdk/Utils.kt +32 -2
- package/examples/capacitor/README.md +3 -8
- package/examples/capacitor/android/app/build.gradle +2 -6
- package/examples/capacitor/android/app/capacitor.build.gradle +4 -4
- package/examples/capacitor/android/app/src/main/AndroidManifest.xml +3 -16
- package/examples/capacitor/android/app/src/main/java/com/regula/{faceapi → documentreader}/MainActivity.java +1 -1
- package/examples/capacitor/android/app/src/main/res/values/strings.xml +2 -2
- package/examples/capacitor/android/build.gradle +1 -1
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.properties +2 -1
- package/examples/capacitor/android/gradlew +21 -13
- package/examples/capacitor/android/gradlew.bat +12 -10
- package/examples/capacitor/android/variables.gradle +11 -11
- package/examples/capacitor/index.html +8 -104
- package/examples/capacitor/ios/App/App.xcodeproj/project.pbxproj +4 -4
- package/examples/capacitor/ios/App/Podfile +2 -3
- package/examples/capacitor/ios/App/Podfile.lock +57 -0
- package/examples/capacitor/package-lock.json +3536 -0
- package/examples/capacitor/package.json +19 -56
- package/examples/capacitor/public/images/portrait.png +0 -0
- package/examples/capacitor/scripts/setup.sh +2 -0
- package/examples/capacitor/src/main.css +77 -0
- package/examples/capacitor/src/main.html +22 -0
- package/examples/capacitor/src/main.tsx +152 -11
- package/examples/capacitor/tsconfig.json +1 -17
- package/examples/capacitor/vite.config.ts +10 -9
- package/examples/cordova/README.md +4 -6
- package/examples/cordova/config.xml +4 -15
- package/examples/cordova/package-lock.json +1333 -0
- package/examples/cordova/package.json +8 -12
- package/examples/cordova/scripts/setup.sh +4 -1
- package/examples/cordova/www/images/portrait.png +0 -0
- package/examples/cordova/www/index.html +19 -92
- package/examples/cordova/www/src/main.css +77 -0
- package/examples/cordova/www/src/main.html +22 -0
- package/examples/cordova/www/{js/index.js → src/main.js} +41 -43
- package/examples/ionic/README.md +3 -6
- package/examples/ionic/angular.json +6 -154
- package/examples/ionic/config.xml +4 -93
- package/examples/ionic/index.html +19 -0
- package/examples/ionic/index.ts +17 -0
- package/examples/ionic/package-lock.json +13777 -0
- package/examples/ionic/package.json +24 -75
- package/examples/ionic/scripts/setup.sh +4 -1
- package/examples/ionic/src/images/portrait.png +0 -0
- package/examples/ionic/src/main.css +77 -0
- package/examples/ionic/src/main.html +22 -0
- package/examples/ionic/src/main.ts +157 -8
- package/examples/ionic/tsconfig.json +6 -20
- package/examples/react-native/Gemfile +7 -0
- package/examples/react-native/Gemfile.lock +28 -21
- package/examples/react-native/README.md +4 -10
- package/examples/react-native/android/app/build.gradle +2 -70
- package/examples/react-native/android/app/src/main/AndroidManifest.xml +21 -21
- package/examples/react-native/android/app/src/main/java/com/regula/{face/api → documentreader}/MainActivity.kt +2 -2
- package/examples/react-native/android/app/src/main/java/com/regula/{face/api → documentreader}/MainApplication.kt +1 -1
- package/examples/react-native/android/build.gradle +3 -3
- package/examples/react-native/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/examples/react-native/android/gradle.properties +0 -34
- package/examples/react-native/android/gradlew +1 -2
- package/examples/react-native/android/settings.gradle +1 -1
- package/examples/react-native/images/portrait.png +0 -0
- package/examples/react-native/index.html +11 -0
- package/examples/react-native/index.tsx +51 -0
- package/examples/react-native/ios/{FaceSDK → App}/AppDelegate.mm +1 -1
- package/examples/react-native/ios/{FaceSDK.xcodeproj → App.xcodeproj}/project.pbxproj +52 -269
- package/examples/react-native/ios/{FaceSDK.xcodeproj/xcshareddata/xcschemes/FaceSDK.xcscheme → App.xcodeproj/xcshareddata/xcschemes/App.xcscheme} +9 -27
- package/examples/react-native/ios/{FaceSDK.xcworkspace → App.xcworkspace}/contents.xcworkspacedata +1 -1
- package/examples/react-native/ios/Podfile +3 -6
- package/examples/react-native/ios/Podfile.lock +565 -512
- package/examples/react-native/metro.config.js +16 -11
- package/examples/react-native/package-lock.json +2121 -6901
- package/examples/react-native/package.json +12 -34
- package/examples/react-native/patches/react-native-webview+13.13.5.patch +36 -0
- package/examples/react-native/scripts/android.sh +5 -0
- package/examples/react-native/scripts/ios.sh +5 -1
- package/examples/react-native/src/main.css +77 -0
- package/examples/react-native/src/main.html +22 -0
- package/examples/react-native/{App.tsx → src/main.tsx} +19 -86
- package/ios/RFSWConfig.m +7 -1
- package/ios/RFSWJSONConstructor.h +2 -0
- package/ios/RFSWJSONConstructor.m +32 -15
- package/ios/RFSWMain.m +1 -1
- package/package.json +1 -1
- package/plugin.xml +4 -4
- package/www/capacitor/detect_faces/detect_faces_request.js +2 -0
- package/www/capacitor/face_capture/face_capture_config.js +6 -2
- package/www/capacitor/image_quality/image_quality_characteristic.js +2 -0
- package/www/capacitor/image_quality/image_quality_group.js +1 -0
- package/www/capacitor/init/init_config.js +8 -0
- package/www/capacitor/internal/bridge.js +8 -7
- package/www/capacitor/liveness/liveness_backend_exception.js +8 -0
- package/www/capacitor/liveness/liveness_config.js +3 -3
- package/www/capacitor/person_database/person_database.js +1 -1
- package/www/cordova.js +109 -80
- package/www/react-native/detect_faces/detect_faces_request.js +2 -0
- package/www/react-native/face_capture/face_capture_config.js +6 -2
- package/www/react-native/image_quality/image_quality_characteristic.js +2 -0
- package/www/react-native/image_quality/image_quality_group.js +1 -0
- package/www/react-native/init/init_config.js +8 -0
- package/www/react-native/internal/bridge.js +8 -7
- package/www/react-native/liveness/liveness_backend_exception.js +8 -0
- package/www/react-native/liveness/liveness_config.js +3 -3
- package/www/react-native/person_database/person_database.js +1 -1
- package/www/types/face_capture/face_capture_config.d.ts +6 -1
- package/www/types/init/init_config.d.ts +7 -1
- package/www/types/liveness/liveness_backend_exception.d.ts +9 -1
- package/www/types/liveness/liveness_config.d.ts +1 -1
- package/www/types/person_database/person_database.d.ts +1 -1
- package/.gitlab/report.yaml +0 -75
- package/.gitlab-ci.yml +0 -49
- package/examples/capacitor/.browserslistrc +0 -6
- package/examples/capacitor/.eslintrc.js +0 -17
- package/examples/capacitor/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +0 -26
- package/examples/capacitor/android/app/src/main/res/drawable/ic_launcher_background.xml +0 -170
- package/examples/capacitor/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
- package/examples/capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/examples/capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/values/ic_launcher_background.xml +0 -4
- package/examples/capacitor/android/app/src/main/res/xml/file_paths.xml +0 -5
- package/examples/capacitor/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +0 -18
- package/examples/capacitor/capacitor.config.ts +0 -12
- package/examples/capacitor/cypress/e2e/test.cy.ts +0 -6
- package/examples/capacitor/cypress/fixtures/example.json +0 -5
- package/examples/capacitor/cypress/support/commands.ts +0 -37
- package/examples/capacitor/cypress/support/e2e.ts +0 -20
- package/examples/capacitor/cypress.config.ts +0 -10
- package/examples/capacitor/public/assets/img/id.png +0 -0
- package/examples/capacitor/public/assets/img/portrait.png +0 -0
- package/examples/capacitor/public/favicon.png +0 -0
- package/examples/capacitor/public/manifest.json +0 -21
- package/examples/capacitor/src/App.test.tsx +0 -8
- package/examples/capacitor/src/App.tsx +0 -42
- package/examples/capacitor/src/components/ExploreContainer.css +0 -24
- package/examples/capacitor/src/components/ExploreContainer.tsx +0 -14
- package/examples/capacitor/src/pages/Home.tsx +0 -159
- package/examples/capacitor/src/setupTests.ts +0 -14
- package/examples/capacitor/src/theme/variables.css +0 -242
- package/examples/capacitor/src/vite-env.d.ts +0 -1
- package/examples/capacitor/tsconfig.node.json +0 -9
- package/examples/cordova/jsconfig.json +0 -1
- package/examples/cordova/www/css/index.css +0 -107
- package/examples/cordova/www/img/id.png +0 -0
- package/examples/cordova/www/img/portrait.png +0 -0
- package/examples/ionic/browserslist +0 -12
- package/examples/ionic/e2e/protractor.conf.js +0 -28
- package/examples/ionic/e2e/src/app.e2e-spec.ts +0 -14
- package/examples/ionic/e2e/src/app.po.ts +0 -11
- package/examples/ionic/e2e/tsconfig.json +0 -13
- package/examples/ionic/karma.conf.js +0 -31
- package/examples/ionic/resources/README.md +0 -8
- package/examples/ionic/resources/android/icon/drawable-hdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-ldpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-mdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/xml/network_security_config.xml +0 -6
- package/examples/ionic/resources/ios/icon/icon-1024.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-24@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-27.5@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-44@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-50.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-50@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-72.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-72@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-76.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-76@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-83.5@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-86@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-98@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon.png +0 -0
- package/examples/ionic/resources/ios/icon/icon@2x.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-2436h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-667h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-736h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape-2436h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape-736h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default@2x~iphone.png +0 -0
- package/examples/ionic/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
- package/examples/ionic/resources/ios/splash/Default~iphone.png +0 -0
- package/examples/ionic/resources/splash.png +0 -0
- package/examples/ionic/src/app/app-routing.module.ts +0 -15
- package/examples/ionic/src/app/app.component.html +0 -3
- package/examples/ionic/src/app/app.component.spec.ts +0 -47
- package/examples/ionic/src/app/app.component.ts +0 -27
- package/examples/ionic/src/app/app.module.ts +0 -23
- package/examples/ionic/src/app/home/home.module.ts +0 -29
- package/examples/ionic/src/app/home/home.page.html +0 -75
- package/examples/ionic/src/app/home/home.page.scss +0 -1
- package/examples/ionic/src/app/home/home.page.spec.ts +0 -24
- package/examples/ionic/src/app/home/home.page.ts +0 -166
- package/examples/ionic/src/assets/icon/favicon.png +0 -0
- package/examples/ionic/src/assets/img/portrait.png +0 -0
- package/examples/ionic/src/assets/shapes.svg +0 -1
- package/examples/ionic/src/environments/environment.prod.ts +0 -3
- package/examples/ionic/src/environments/environment.ts +0 -16
- package/examples/ionic/src/global.scss +0 -31
- package/examples/ionic/src/index.html +0 -25
- package/examples/ionic/src/polyfills.ts +0 -66
- package/examples/ionic/src/test.ts +0 -20
- package/examples/ionic/src/theme/variables.scss +0 -77
- package/examples/ionic/src/zone-flags.ts +0 -5
- package/examples/ionic/tsconfig.app.json +0 -14
- package/examples/ionic/tsconfig.spec.json +0 -19
- package/examples/ionic/tslint.json +0 -88
- package/examples/react-native/.watchmanconfig +0 -1
- package/examples/react-native/android/app/proguard-rules.pro +0 -10
- package/examples/react-native/android/app/src/debug/AndroidManifest.xml +0 -9
- package/examples/react-native/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
- package/examples/react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/values/strings.xml +0 -3
- package/examples/react-native/android/app/src/main/res/values/styles.xml +0 -9
- package/examples/react-native/app.json +0 -5
- package/examples/react-native/index.js +0 -5
- package/examples/react-native/ios/FaceSDKTests/FaceSDKTests.m +0 -66
- package/examples/react-native/ios/FaceSDKTests/Info.plist +0 -24
- /package/examples/capacitor/android/app/src/main/res/{mipmap-xxxhdpi → drawable}/ic_launcher.png +0 -0
- /package/examples/cordova/www/{img → images}/logo.png +0 -0
- /package/examples/ionic/src/{app/app.component.scss → assets/.gitkeep} +0 -0
- /package/examples/ionic/{resources → src/images}/icon.png +0 -0
- /package/examples/react-native/android/app/src/main/res/{mipmap-xxxhdpi → drawable}/ic_launcher.png +0 -0
- /package/examples/react-native/android/app/src/main/res/{mipmap-xxxhdpi → drawable}/ic_launcher_round.png +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/AppDelegate.h +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/Images.xcassets/Contents.json +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/Info.plist +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/LaunchScreen.storyboard +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/PrivacyInfo.xcprivacy +0 -0
- /package/examples/react-native/ios/{FaceSDK → App}/main.m +0 -0
- /package/examples/react-native/ios/{FaceSDK.xcworkspace → App.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist +0 -0
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ Face SDK is a framework that is used for face matching, recognition and liveness
|
|
|
3
3
|
This plugin makes possible to use it with react-native, cordova and ionic applications.
|
|
4
4
|
|
|
5
5
|
## Demo applications
|
|
6
|
-
In the [examples](examples/) folder you can find demo
|
|
6
|
+
In the [examples](examples/) folder you can find 4 demo applications:
|
|
7
7
|
* [React-native](examples/react-native)
|
|
8
8
|
* [Cordova](examples/cordova)
|
|
9
9
|
* [Ionic(ionic app with cordova, angular)](examples/ionic)
|
package/RNFaceSDK.podspec
CHANGED
|
@@ -5,7 +5,7 @@ source = File.join(__dir__, 'ios')
|
|
|
5
5
|
|
|
6
6
|
Pod::Spec.new do |s|
|
|
7
7
|
s.name = 'RNFaceSDK'
|
|
8
|
-
s.version = '7.1.
|
|
8
|
+
s.version = '7.1.252-beta'
|
|
9
9
|
s.summary = package['description']
|
|
10
10
|
s.license = package['license']
|
|
11
11
|
|
|
@@ -13,9 +13,9 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.homepage = 'https://regulaforensics.com'
|
|
14
14
|
|
|
15
15
|
s.source = { http: "file:#{source}" }
|
|
16
|
-
s.ios.deployment_target = '
|
|
16
|
+
s.ios.deployment_target = '13.0'
|
|
17
17
|
s.source_files = 'ios/**/*.{h,m}'
|
|
18
18
|
s.exclude_files = [ 'ios/CVDFaceSDK.h', 'ios/CVDFaceSDK.m' ]
|
|
19
|
-
s.dependency 'FaceSDKStage', '7.1.
|
|
19
|
+
s.dependency 'FaceSDKStage', '7.1.2586'
|
|
20
20
|
s.dependency 'React'
|
|
21
21
|
end
|
package/android/CVDFaceSDK.kt
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
package com.regula.plugin.facesdk
|
|
2
2
|
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.util.Log
|
|
3
5
|
import org.apache.cordova.CallbackContext
|
|
4
6
|
import org.apache.cordova.CordovaPlugin
|
|
5
|
-
import org.apache.cordova.CordovaWebView
|
|
6
7
|
import org.apache.cordova.PluginResult
|
|
7
8
|
import org.json.JSONArray
|
|
8
9
|
|
|
9
|
-
lateinit var args: JSONArray
|
|
10
|
-
lateinit var eventSender: CordovaWebView
|
|
11
10
|
val eventCallbackIds = mutableMapOf<String, String>()
|
|
12
11
|
|
|
12
|
+
lateinit var args: JSONArray
|
|
13
|
+
lateinit var binding: CordovaPlugin
|
|
14
|
+
val context: Context
|
|
15
|
+
get() = binding.cordova.context
|
|
16
|
+
|
|
13
17
|
fun sendEvent(callbackId: String, data: Any? = "") {
|
|
14
|
-
val pluginResult =
|
|
18
|
+
val pluginResult = when (data) {
|
|
19
|
+
is Int -> PluginResult(PluginResult.Status.OK, data)
|
|
20
|
+
is Boolean -> PluginResult(PluginResult.Status.OK, data)
|
|
21
|
+
else -> PluginResult(PluginResult.Status.OK, data.toSendable() as String?)
|
|
22
|
+
}
|
|
15
23
|
pluginResult.keepCallback = true
|
|
16
|
-
|
|
24
|
+
binding.webView.sendPluginResult(pluginResult, eventCallbackIds[callbackId] ?: callbackId)
|
|
17
25
|
}
|
|
18
26
|
|
|
19
27
|
@Suppress("UNCHECKED_CAST")
|
|
@@ -22,13 +30,19 @@ fun <T> argsNullable(index: Int): T? = if (args.get(index).toString() != "null")
|
|
|
22
30
|
} else null
|
|
23
31
|
|
|
24
32
|
class CVDFaceSDK : CordovaPlugin() {
|
|
33
|
+
init {
|
|
34
|
+
binding = this
|
|
35
|
+
}
|
|
36
|
+
|
|
25
37
|
override fun execute(action: String, arguments: JSONArray, callbackContext: CallbackContext): Boolean {
|
|
26
|
-
activity = cordova.activity
|
|
27
|
-
eventSender = webView
|
|
28
38
|
args = arguments
|
|
29
39
|
val method = args.remove(0) as String
|
|
30
40
|
if (method == "setEvent") eventCallbackIds[args(0)] = callbackContext.callbackId
|
|
31
|
-
|
|
41
|
+
try {
|
|
42
|
+
methodCall(method) { data: Any? -> sendEvent(callbackContext.callbackId, data) }
|
|
43
|
+
} catch (error: Exception) {
|
|
44
|
+
Log.e("REGULA", "Caught exception in \"$method\" function:", error)
|
|
45
|
+
}
|
|
32
46
|
return true
|
|
33
47
|
}
|
|
34
48
|
}
|
package/android/build.gradle
CHANGED
|
@@ -41,7 +41,7 @@ dependencies {
|
|
|
41
41
|
//noinspection GradleDynamicVersion
|
|
42
42
|
implementation 'com.facebook.react:react-native:+'
|
|
43
43
|
//noinspection GradleDependency
|
|
44
|
-
implementation('com.regula.face:api:
|
|
44
|
+
implementation('com.regula.face:api:6.4.3709'){
|
|
45
45
|
transitive = true
|
|
46
46
|
}
|
|
47
47
|
}
|
package/android/cordova.gradle
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@file:Suppress("EnumValuesSoftDeprecate")
|
|
2
|
+
|
|
1
3
|
package com.regula.plugin.facesdk
|
|
2
4
|
|
|
3
5
|
import com.regula.facesdk.configuration.Customization
|
|
@@ -20,6 +22,8 @@ fun setFaceCaptureConfig(builder: FaceCaptureConfiguration.Builder, config: JSON
|
|
|
20
22
|
"closeButtonEnabled" -> builder.setCloseButtonEnabled(v as Boolean)
|
|
21
23
|
"torchButtonEnabled" -> builder.setTorchButtonEnabled(v as Boolean)
|
|
22
24
|
"vibrateOnSteps" -> builder.setVibrateOnStep(v as Boolean)
|
|
25
|
+
"detectOcclusion" -> builder.setDetectOcclusion(v as Boolean)
|
|
26
|
+
"showFaceAnimation" -> builder.setShowFaceAnimation(v as Boolean)
|
|
23
27
|
"cameraPositionAndroid" -> builder.setCameraId(v.toInt())
|
|
24
28
|
"screenOrientation" -> builder.setScreenOrientation(*screenOrientationArrayFromJSON(v as JSONArray))
|
|
25
29
|
"timeout" -> builder.setTimeout(v.toFloat())
|
|
@@ -33,6 +37,8 @@ fun getFaceCaptureConfig(input: FaceCaptureConfiguration) = mapOf(
|
|
|
33
37
|
"closeButtonEnabled" to input.isCloseButtonEnabled,
|
|
34
38
|
"torchButtonEnabled" to input.isTorchButtonEnabled,
|
|
35
39
|
"vibrateOnSteps" to input.isVibrateOnSteps,
|
|
40
|
+
"detectOcclusion" to input.isDetectOcclusion,
|
|
41
|
+
"showFaceAnimation" to input.isShowFaceAnimation,
|
|
36
42
|
"cameraPositionAndroid" to input.cameraId,
|
|
37
43
|
"screenOrientation" to generateScreenOrientationArray(input.screenOrientation),
|
|
38
44
|
"timeout" to input.timeout,
|
|
@@ -78,11 +84,13 @@ fun getLivenessConfig(input: LivenessConfiguration) = mapOf(
|
|
|
78
84
|
fun setMatchFacesConfig(builder: MatchFacesConfiguration.Builder, config: JSONObject) = config.forEach { k, v ->
|
|
79
85
|
when (k) {
|
|
80
86
|
"processingMode" -> builder.setProcessingMode(ProcessingMode.values()[v.toInt()])
|
|
87
|
+
"locationTrackingEnabled" -> builder.setLocationTrackingEnabled(v as Boolean)
|
|
81
88
|
}
|
|
82
89
|
}
|
|
83
90
|
|
|
84
91
|
fun getMatchFacesConfig(input: MatchFacesConfiguration) = mapOf(
|
|
85
|
-
"processingMode" to input.processingMode.ordinal
|
|
92
|
+
"processingMode" to input.processingMode.ordinal,
|
|
93
|
+
"locationTrackingEnabled" to input.isLocationTrackingEnabled
|
|
86
94
|
).toJson()
|
|
87
95
|
|
|
88
96
|
fun setCustomization(input: Customization, config: JSONObject) = config.forEach { key, value ->
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
package com.regula.plugin.facesdk
|
|
2
2
|
|
|
3
3
|
import android.annotation.SuppressLint
|
|
4
|
-
import android.app.Activity
|
|
5
4
|
import com.regula.plugin.facesdk.Convert.toBase64
|
|
6
5
|
import com.regula.common.LocalizationCallbacks
|
|
6
|
+
import com.regula.common.ble.BLEWrapper
|
|
7
7
|
import com.regula.facesdk.FaceSDK.Instance
|
|
8
8
|
import com.regula.facesdk.callback.DetectFacesCompletion
|
|
9
9
|
import com.regula.facesdk.callback.FaceCaptureCallback
|
|
@@ -13,6 +13,7 @@ import com.regula.facesdk.callback.LivenessCallback
|
|
|
13
13
|
import com.regula.facesdk.callback.LivenessNotificationCallback
|
|
14
14
|
import com.regula.facesdk.callback.MatchFaceCallback
|
|
15
15
|
import com.regula.facesdk.callback.PersonDBCallback
|
|
16
|
+
import com.regula.facesdk.configuration.InitializationBleDeviceConfiguration
|
|
16
17
|
import com.regula.facesdk.listener.NetworkInterceptorListener
|
|
17
18
|
import com.regula.facesdk.model.LivenessNotification
|
|
18
19
|
import com.regula.facesdk.model.results.matchfaces.MatchFacesSimilarityThresholdSplit
|
|
@@ -68,11 +69,6 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
|
|
|
68
69
|
inline fun <reified T> args(index: Int) = argsNullable<T>(index)!!
|
|
69
70
|
typealias Callback = (Any?) -> Unit
|
|
70
71
|
|
|
71
|
-
@SuppressLint("StaticFieldLeak")
|
|
72
|
-
lateinit var activity: Activity
|
|
73
|
-
val context
|
|
74
|
-
get() = activity
|
|
75
|
-
|
|
76
72
|
const val cameraSwitchEvent = "cameraSwitchEvent"
|
|
77
73
|
const val livenessNotificationEvent = "livenessNotificationEvent"
|
|
78
74
|
const val videoEncoderCompletionEvent = "video_encoder_completion"
|
|
@@ -98,9 +94,17 @@ fun setCustomization(config: JSONObject) = setCustomization(Instance().customiza
|
|
|
98
94
|
|
|
99
95
|
fun isInitialized(callback: Callback) = callback(Instance().isInitialized)
|
|
100
96
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
@SuppressLint("MissingPermission")
|
|
98
|
+
fun initialize(callback: Callback, config: JSONObject?) =
|
|
99
|
+
if (config == null)
|
|
100
|
+
Instance().initialize(context, initCompletion(callback))
|
|
101
|
+
else if (config.getBooleanOrNull("useBleDevice") != true)
|
|
102
|
+
Instance().initialize(context, initConfigFromJSON(config), initCompletion(callback))
|
|
103
|
+
else
|
|
104
|
+
getBleWrapper()?.let {
|
|
105
|
+
Instance().initialize(context, InitializationBleDeviceConfiguration(it), initCompletion(callback))
|
|
106
|
+
} ?: callback(false)
|
|
107
|
+
// TODO return an exception telling that btDevice is not connected
|
|
104
108
|
|
|
105
109
|
fun deinitialize() = Instance().deinitialize()
|
|
106
110
|
|
|
@@ -136,11 +140,13 @@ fun stopLiveness() = Instance().stopLivenessProcessing(context)
|
|
|
136
140
|
|
|
137
141
|
fun matchFaces(callback: Callback, request: JSONObject, config: JSONObject?) = config?.let {
|
|
138
142
|
Instance().matchFaces(
|
|
143
|
+
context,
|
|
139
144
|
matchFacesRequestFromJSON(request),
|
|
140
145
|
matchFacesConfigFromJSON(it),
|
|
141
146
|
matchFacesCompletion(callback)
|
|
142
147
|
)
|
|
143
148
|
} ?: Instance().matchFaces(
|
|
149
|
+
context,
|
|
144
150
|
matchFacesRequestFromJSON(request),
|
|
145
151
|
matchFacesCompletion(callback)
|
|
146
152
|
)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
package com.regula.plugin.facesdk
|
|
2
2
|
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.util.Log
|
|
3
5
|
import com.facebook.react.ReactPackage
|
|
4
6
|
import com.facebook.react.bridge.Promise
|
|
5
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
@@ -13,13 +15,16 @@ import org.json.JSONArray
|
|
|
13
15
|
import org.json.JSONObject
|
|
14
16
|
|
|
15
17
|
var listenerCount = 0
|
|
18
|
+
|
|
16
19
|
lateinit var args: JSONArray
|
|
17
|
-
lateinit var
|
|
20
|
+
lateinit var binding: ReactContext
|
|
21
|
+
val context: Context
|
|
22
|
+
get() = binding.applicationContext
|
|
18
23
|
|
|
19
24
|
fun sendEvent(event: String, data: Any? = "") {
|
|
20
25
|
if (listenerCount <= 0) return
|
|
21
26
|
val result = if (data is JSONObject || data is JSONArray) data.toString() else data.toString() + ""
|
|
22
|
-
|
|
27
|
+
binding.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java).emit(event, result)
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
@Suppress("UNCHECKED_CAST")
|
|
@@ -30,15 +35,16 @@ fun <T> argsNullable(index: Int): T? {
|
|
|
30
35
|
return value as T
|
|
31
36
|
}
|
|
32
37
|
|
|
38
|
+
@Suppress("unused")
|
|
33
39
|
class RNFaceSDKPackage : ReactPackage {
|
|
34
40
|
override fun createNativeModules(rc: ReactApplicationContext) = listOf(RNFaceSDKModule(rc))
|
|
35
41
|
override fun createViewManagers(rc: ReactApplicationContext) = emptyList<ViewManager<*, *>>()
|
|
36
42
|
}
|
|
37
43
|
|
|
38
44
|
@Suppress("unused", "UNUSED_PARAMETER")
|
|
39
|
-
class RNFaceSDKModule(
|
|
45
|
+
class RNFaceSDKModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
|
|
40
46
|
init {
|
|
41
|
-
|
|
47
|
+
binding = reactContext
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
@ReactMethod
|
|
@@ -54,8 +60,12 @@ class RNFaceSDKModule(rc: ReactApplicationContext) : ReactContextBaseJavaModule(
|
|
|
54
60
|
@ReactMethod
|
|
55
61
|
fun exec(method: String, arguments: ReadableArray, promise: Promise) {
|
|
56
62
|
args = JSONArray(arguments.toArrayList())
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
try {
|
|
64
|
+
methodCall(method) { data -> promise.resolve(data.toSendable()) }
|
|
65
|
+
} catch (error: Exception) {
|
|
66
|
+
Log.e("REGULA", "Caught exception in \"$method\" function:", error)
|
|
67
|
+
}
|
|
59
68
|
}
|
|
69
|
+
|
|
60
70
|
override fun getName() = "RNFaceSDK"
|
|
61
71
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@file:Suppress("UNCHECKED_CAST")
|
|
1
|
+
@file:Suppress("UNCHECKED_CAST", "EnumValuesSoftDeprecate", "UseKtx")
|
|
2
2
|
|
|
3
3
|
package com.regula.plugin.facesdk
|
|
4
4
|
|
|
@@ -10,6 +10,8 @@ import android.graphics.Typeface
|
|
|
10
10
|
import android.graphics.drawable.BitmapDrawable
|
|
11
11
|
import android.graphics.drawable.Drawable
|
|
12
12
|
import android.util.Base64
|
|
13
|
+
import android.util.Log
|
|
14
|
+
import com.regula.common.ble.BLEWrapper
|
|
13
15
|
import com.regula.facesdk.configuration.Customization
|
|
14
16
|
import com.regula.facesdk.enums.CustomizationColor
|
|
15
17
|
import com.regula.facesdk.enums.CustomizationFont
|
|
@@ -284,4 +286,32 @@ internal object Convert {
|
|
|
284
286
|
val height = (bitmap.height * density).toInt()
|
|
285
287
|
BitmapDrawable(context.resources, Bitmap.createScaledBitmap(bitmap, width, height, false))
|
|
286
288
|
}
|
|
287
|
-
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
fun getBleWrapper(): BLEWrapper? {
|
|
292
|
+
listOf(
|
|
293
|
+
"io.flutter.plugins.regula.documentreader.flutter_document_reader_api",
|
|
294
|
+
"cordova.plugin.documentreader",
|
|
295
|
+
"com.regula.documentreader"
|
|
296
|
+
).forEach { packageName ->
|
|
297
|
+
getVarFromClass<BLEWrapper>(
|
|
298
|
+
packageName,
|
|
299
|
+
"BluetoothUtilKt",
|
|
300
|
+
"bluetooth"
|
|
301
|
+
)?.let { return it }
|
|
302
|
+
}
|
|
303
|
+
Log.e("REGULA", "Failed to get BLEWrapper from DocumentReader plugin")
|
|
304
|
+
return null
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
fun <T> getVarFromClass(packageName: String, className: String, varName: String): T? {
|
|
308
|
+
try {
|
|
309
|
+
val targetClass = Class.forName("$packageName.$className")
|
|
310
|
+
val field = targetClass.getDeclaredField(varName)
|
|
311
|
+
field.isAccessible = true
|
|
312
|
+
val result = field.get(null) as BLEWrapper?
|
|
313
|
+
return result as T?
|
|
314
|
+
} catch (_: Exception) {
|
|
315
|
+
return null
|
|
316
|
+
}
|
|
317
|
+
}
|
|
@@ -12,18 +12,13 @@
|
|
|
12
12
|
**Note**: this is just one way of running the app. You can also pass `-o` or `--open` argument to the command, and this will open Xcode/Android Studio, then run the app directly from the IDE. Overall, this is a more consistent way, so if you're having troubles running the app from terminal, try running it from the IDE.
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
## How to use
|
|
15
|
+
## How to use offline match
|
|
16
16
|
1. Place a license that supports offline match at `public/assets/regula.license`.
|
|
17
17
|
|
|
18
|
-
2. Change
|
|
19
|
-
* Change `applicationId` to `ANDROID_ID` in `android/app/build.gradle`.
|
|
20
|
-
* Change `Bundle Identifier` to `IOS_ID` in `ios/App/App.xcodeproj` in the `Signing & Capabilities` section.
|
|
21
|
-
|
|
22
|
-
3. Change core with the following commands:
|
|
18
|
+
2. Change core with the following commands:
|
|
23
19
|
```bash
|
|
24
20
|
npm uninstall @regulaforensics/face-core-basic
|
|
25
21
|
npm install @regulaforensics/face-core-match
|
|
26
|
-
ionic cap sync
|
|
27
22
|
```
|
|
28
23
|
|
|
29
|
-
|
|
24
|
+
3. Turn off the internet and run the app.
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
apply plugin: 'com.android.application'
|
|
2
2
|
|
|
3
3
|
android {
|
|
4
|
-
namespace "com.regula.
|
|
4
|
+
namespace "com.regula.documentreader.api.androidtest"
|
|
5
5
|
compileSdkVersion rootProject.ext.compileSdkVersion
|
|
6
6
|
defaultConfig {
|
|
7
|
-
applicationId "com.regula.
|
|
7
|
+
applicationId "com.regula.documentreader.api.androidtest"
|
|
8
8
|
minSdkVersion rootProject.ext.minSdkVersion
|
|
9
9
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
|
10
10
|
versionCode 1
|
|
11
11
|
versionName "1.0"
|
|
12
|
-
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
13
12
|
aaptOptions {
|
|
14
13
|
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
|
15
14
|
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
|
|
@@ -36,9 +35,6 @@ dependencies {
|
|
|
36
35
|
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
|
|
37
36
|
implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
|
|
38
37
|
implementation project(':capacitor-android')
|
|
39
|
-
testImplementation "junit:junit:$junitVersion"
|
|
40
|
-
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
41
|
-
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
|
|
42
38
|
implementation project(':capacitor-cordova-android-plugins')
|
|
43
39
|
}
|
|
44
40
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
android {
|
|
4
4
|
compileOptions {
|
|
5
|
-
sourceCompatibility JavaVersion.
|
|
6
|
-
targetCompatibility JavaVersion.
|
|
5
|
+
sourceCompatibility JavaVersion.VERSION_21
|
|
6
|
+
targetCompatibility JavaVersion.VERSION_21
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
|
|
@@ -13,10 +13,10 @@ dependencies {
|
|
|
13
13
|
implementation project(':capacitor-haptics')
|
|
14
14
|
implementation project(':capacitor-keyboard')
|
|
15
15
|
implementation project(':capacitor-status-bar')
|
|
16
|
-
|
|
16
|
+
implementation "androidx.core:core:1.6.+"
|
|
17
|
+
implementation "androidx.webkit:webkit:1.4.0"
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
|
|
20
20
|
if (hasProperty('postBuildExtras')) {
|
|
21
21
|
postBuildExtras()
|
|
22
22
|
}
|
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
<application
|
|
5
5
|
android:allowBackup="true"
|
|
6
|
-
android:icon="@
|
|
7
|
-
android:label="
|
|
8
|
-
android:roundIcon="@mipmap/ic_launcher_round"
|
|
6
|
+
android:icon="@drawable/ic_launcher"
|
|
7
|
+
android:label="FaceSDK"
|
|
9
8
|
android:supportsRtl="true"
|
|
10
9
|
android:theme="@style/AppTheme">
|
|
11
10
|
|
|
12
11
|
<activity
|
|
13
12
|
android:screenOrientation="portrait"
|
|
14
|
-
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
|
|
13
|
+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode|navigation"
|
|
15
14
|
android:name=".MainActivity"
|
|
16
|
-
android:label="@string/title_activity_main"
|
|
17
15
|
android:theme="@style/AppTheme.NoActionBarLaunch"
|
|
18
16
|
android:launchMode="singleTask"
|
|
19
17
|
android:exported="true">
|
|
@@ -24,20 +22,9 @@
|
|
|
24
22
|
</intent-filter>
|
|
25
23
|
|
|
26
24
|
</activity>
|
|
27
|
-
|
|
28
|
-
<provider
|
|
29
|
-
android:name="androidx.core.content.FileProvider"
|
|
30
|
-
android:authorities="${applicationId}.fileprovider"
|
|
31
|
-
android:exported="false"
|
|
32
|
-
android:grantUriPermissions="true">
|
|
33
|
-
<meta-data
|
|
34
|
-
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
35
|
-
android:resource="@xml/file_paths"></meta-data>
|
|
36
|
-
</provider>
|
|
37
25
|
</application>
|
|
38
26
|
|
|
39
27
|
<!-- Permissions -->
|
|
40
28
|
|
|
41
29
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
42
|
-
<uses-permission android:name="android.permission.NFC" />
|
|
43
30
|
</manifest>
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
<resources>
|
|
3
3
|
<string name="app_name">FaceSDK</string>
|
|
4
4
|
<string name="title_activity_main">FaceSDK</string>
|
|
5
|
-
<string name="package_name">com.regula.
|
|
6
|
-
<string name="custom_url_scheme">com.regula.
|
|
5
|
+
<string name="package_name">com.regula.documentreader.api.androidtest</string>
|
|
6
|
+
<string name="custom_url_scheme">com.regula.documentreader.api.androidtest</string>
|
|
7
7
|
</resources>
|
|
@@ -8,7 +8,7 @@ buildscript {
|
|
|
8
8
|
}
|
|
9
9
|
dependencies {
|
|
10
10
|
classpath 'com.android.tools.build:gradle:8.8.0'
|
|
11
|
-
classpath 'com.google.gms:google-services:4.
|
|
11
|
+
classpath 'com.google.gms:google-services:4.4.2'
|
|
12
12
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25"
|
|
13
13
|
|
|
14
14
|
// NOTE: Do not place your application dependencies here; they belong
|
|
Binary file
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
|
+
validateDistributionUrl=true
|
|
5
6
|
zipStoreBase=GRADLE_USER_HOME
|
|
6
7
|
zipStorePath=wrapper/dists
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
# See the License for the specific language governing permissions and
|
|
16
16
|
# limitations under the License.
|
|
17
17
|
#
|
|
18
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
19
|
+
#
|
|
18
20
|
|
|
19
21
|
##############################################################################
|
|
20
22
|
#
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
# Darwin, MinGW, and NonStop.
|
|
56
58
|
#
|
|
57
59
|
# (3) This script is generated from the Groovy template
|
|
58
|
-
# https://github.com/gradle/gradle/blob/HEAD/
|
|
60
|
+
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
|
59
61
|
# within the Gradle project.
|
|
60
62
|
#
|
|
61
63
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
|
@@ -83,10 +85,9 @@ done
|
|
|
83
85
|
# This is normally unused
|
|
84
86
|
# shellcheck disable=SC2034
|
|
85
87
|
APP_BASE_NAME=${0##*/}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
88
|
+
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
|
89
|
+
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
|
90
|
+
' "$PWD" ) || exit
|
|
90
91
|
|
|
91
92
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
|
92
93
|
MAX_FD=maximum
|
|
@@ -133,10 +134,13 @@ location of your Java installation."
|
|
|
133
134
|
fi
|
|
134
135
|
else
|
|
135
136
|
JAVACMD=java
|
|
136
|
-
|
|
137
|
+
if ! command -v java >/dev/null 2>&1
|
|
138
|
+
then
|
|
139
|
+
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
137
140
|
|
|
138
141
|
Please set the JAVA_HOME variable in your environment to match the
|
|
139
142
|
location of your Java installation."
|
|
143
|
+
fi
|
|
140
144
|
fi
|
|
141
145
|
|
|
142
146
|
# Increase the maximum file descriptors if we can.
|
|
@@ -144,7 +148,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
144
148
|
case $MAX_FD in #(
|
|
145
149
|
max*)
|
|
146
150
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
|
147
|
-
# shellcheck disable=SC3045
|
|
151
|
+
# shellcheck disable=SC2039,SC3045
|
|
148
152
|
MAX_FD=$( ulimit -H -n ) ||
|
|
149
153
|
warn "Could not query maximum file descriptor limit"
|
|
150
154
|
esac
|
|
@@ -152,7 +156,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
152
156
|
'' | soft) :;; #(
|
|
153
157
|
*)
|
|
154
158
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
|
155
|
-
# shellcheck disable=SC3045
|
|
159
|
+
# shellcheck disable=SC2039,SC3045
|
|
156
160
|
ulimit -n "$MAX_FD" ||
|
|
157
161
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
158
162
|
esac
|
|
@@ -197,11 +201,15 @@ if "$cygwin" || "$msys" ; then
|
|
|
197
201
|
done
|
|
198
202
|
fi
|
|
199
203
|
|
|
200
|
-
|
|
201
|
-
#
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
#
|
|
204
|
+
|
|
205
|
+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
206
|
+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
207
|
+
|
|
208
|
+
# Collect all arguments for the java command:
|
|
209
|
+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
|
210
|
+
# and any embedded shellness will be escaped.
|
|
211
|
+
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
|
212
|
+
# treated as '${Hostname}' itself on the command line.
|
|
205
213
|
|
|
206
214
|
set -- \
|
|
207
215
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
@rem See the License for the specific language governing permissions and
|
|
14
14
|
@rem limitations under the License.
|
|
15
15
|
@rem
|
|
16
|
+
@rem SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
@rem
|
|
16
18
|
|
|
17
19
|
@if "%DEBUG%"=="" @echo off
|
|
18
20
|
@rem ##########################################################################
|
|
@@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
|
|
|
43
45
|
%JAVA_EXE% -version >NUL 2>&1
|
|
44
46
|
if %ERRORLEVEL% equ 0 goto execute
|
|
45
47
|
|
|
46
|
-
echo.
|
|
47
|
-
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
48
|
-
echo.
|
|
49
|
-
echo Please set the JAVA_HOME variable in your environment to match the
|
|
50
|
-
echo location of your Java installation.
|
|
48
|
+
echo. 1>&2
|
|
49
|
+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
|
50
|
+
echo. 1>&2
|
|
51
|
+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
|
52
|
+
echo location of your Java installation. 1>&2
|
|
51
53
|
|
|
52
54
|
goto fail
|
|
53
55
|
|
|
@@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
|
|
57
59
|
|
|
58
60
|
if exist "%JAVA_EXE%" goto execute
|
|
59
61
|
|
|
60
|
-
echo.
|
|
61
|
-
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
|
62
|
-
echo.
|
|
63
|
-
echo Please set the JAVA_HOME variable in your environment to match the
|
|
64
|
-
echo location of your Java installation.
|
|
62
|
+
echo. 1>&2
|
|
63
|
+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
|
64
|
+
echo. 1>&2
|
|
65
|
+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
|
66
|
+
echo location of your Java installation. 1>&2
|
|
65
67
|
|
|
66
68
|
goto fail
|
|
67
69
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
ext {
|
|
2
2
|
minSdkVersion = 24
|
|
3
|
-
compileSdkVersion =
|
|
4
|
-
targetSdkVersion =
|
|
5
|
-
androidxActivityVersion = '1.
|
|
6
|
-
androidxAppCompatVersion = '1.
|
|
3
|
+
compileSdkVersion = 35
|
|
4
|
+
targetSdkVersion = 35
|
|
5
|
+
androidxActivityVersion = '1.9.2'
|
|
6
|
+
androidxAppCompatVersion = '1.7.0'
|
|
7
7
|
androidxCoordinatorLayoutVersion = '1.2.0'
|
|
8
|
-
androidxCoreVersion = '1.
|
|
9
|
-
androidxFragmentVersion = '1.
|
|
10
|
-
coreSplashScreenVersion = '1.0.
|
|
11
|
-
androidxWebkitVersion = '1.
|
|
8
|
+
androidxCoreVersion = '1.15.0'
|
|
9
|
+
androidxFragmentVersion = '1.8.4'
|
|
10
|
+
coreSplashScreenVersion = '1.0.1'
|
|
11
|
+
androidxWebkitVersion = '1.12.1'
|
|
12
12
|
junitVersion = '4.13.2'
|
|
13
|
-
androidxJunitVersion = '1.1
|
|
14
|
-
androidxEspressoCoreVersion = '3.
|
|
15
|
-
cordovaAndroidVersion = '
|
|
13
|
+
androidxJunitVersion = '1.2.1'
|
|
14
|
+
androidxEspressoCoreVersion = '3.6.1'
|
|
15
|
+
cordovaAndroidVersion = '13.0.0'
|
|
16
16
|
}
|