@microblink/blinkid-react-native 7.2.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/BlinkidReactNative.podspec +31 -0
- package/LICENSE +21 -0
- package/README.md +409 -0
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build.gradle +85 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +354 -0
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +661 -0
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +209 -0
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativePackage.kt +33 -0
- package/ios/BlinkIdDeserializationUtilities.swift +345 -0
- package/ios/BlinkIdSerializationUtilities.swift +675 -0
- package/ios/BlinkidReactNative.h +6 -0
- package/ios/BlinkidReactNative.mm +97 -0
- package/ios/BlinkidReactNativeModule.swift +138 -0
- package/ios/Frameworks/BlinkID.xcframework/Info.plist +44 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +34696 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +19 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +59963 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.modulemap +10 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.private.modulemap +12 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +245 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +36 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +69407 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +19 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +59963 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +59963 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1630 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.modulemap +10 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.private.modulemap +12 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +300 -0
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +36 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +44 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +1575 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +15405 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +634 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeSignature +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +15405 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +15405 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +563 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +101 -0
- package/lib/module/NativeBlinkidReactNative.js +15 -0
- package/lib/module/NativeBlinkidReactNative.js.map +1 -0
- package/lib/module/blinkIdResult.js +612 -0
- package/lib/module/blinkIdResult.js.map +1 -0
- package/lib/module/blinkIdSettings.js +465 -0
- package/lib/module/blinkIdSettings.js.map +1 -0
- package/lib/module/blinkIdUtilities.js +21 -0
- package/lib/module/blinkIdUtilities.js.map +1 -0
- package/lib/module/index.js +63 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types.js +3375 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeBlinkidReactNative.d.ts +43 -0
- package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -0
- package/lib/typescript/src/blinkIdResult.d.ts +294 -0
- package/lib/typescript/src/blinkIdResult.d.ts.map +1 -0
- package/lib/typescript/src/blinkIdSettings.d.ts +416 -0
- package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -0
- package/lib/typescript/src/blinkIdUtilities.d.ts +8 -0
- package/lib/typescript/src/blinkIdUtilities.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +52 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +3025 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +110 -0
- package/src/NativeBlinkidReactNative.ts +45 -0
- package/src/blinkIdResult.ts +711 -0
- package/src/blinkIdSettings.ts +515 -0
- package/src/blinkIdUtilities.ts +20 -0
- package/src/index.tsx +72 -0
- package/src/types.ts +4334 -0
package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt
ADDED
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
package com.microblink.blinkid.reactnative
|
|
2
|
+
|
|
3
|
+
import android.graphics.BitmapFactory
|
|
4
|
+
import android.os.Parcelable
|
|
5
|
+
import com.microblink.blinkid.core.BlinkIdSdkSettings
|
|
6
|
+
import com.microblink.blinkid.core.result.AlphabetType
|
|
7
|
+
import com.microblink.blinkid.core.result.FieldType
|
|
8
|
+
import com.microblink.blinkid.core.result.classinfo.Country
|
|
9
|
+
import com.microblink.blinkid.core.result.classinfo.DocumentClassInfo
|
|
10
|
+
import com.microblink.blinkid.core.result.classinfo.Region
|
|
11
|
+
import com.microblink.blinkid.core.result.classinfo.Type
|
|
12
|
+
import com.microblink.blinkid.core.session.BlinkIdSessionSettings
|
|
13
|
+
import com.microblink.blinkid.core.session.ScanningMode
|
|
14
|
+
import com.microblink.blinkid.core.settings.AnonymizationMode
|
|
15
|
+
import com.microblink.blinkid.core.settings.CroppedImageSettings
|
|
16
|
+
import com.microblink.blinkid.core.settings.DetailedFieldType
|
|
17
|
+
import com.microblink.blinkid.core.settings.DetectionLevel
|
|
18
|
+
import com.microblink.blinkid.core.settings.DocumentFilter
|
|
19
|
+
import com.microblink.blinkid.core.settings.DocumentRules
|
|
20
|
+
import com.microblink.blinkid.core.settings.RecognitionModeFilter
|
|
21
|
+
import com.microblink.blinkid.core.settings.ScanningSettings
|
|
22
|
+
import com.microblink.blinkid.ux.settings.BlinkIdUxSettings
|
|
23
|
+
import com.microblink.blinkid.core.settings.DocumentAnonymizationSettings
|
|
24
|
+
import com.microblink.blinkid.ux.settings.ClassFilter
|
|
25
|
+
import com.microblink.core.utils.defaultResourceDownloadUrl
|
|
26
|
+
import com.microblink.core.utils.defaultResourcesLocalFolder
|
|
27
|
+
import kotlin.time.Duration.Companion.milliseconds
|
|
28
|
+
import kotlinx.parcelize.Parcelize
|
|
29
|
+
import kotlinx.parcelize.RawValue
|
|
30
|
+
import android.graphics.Bitmap
|
|
31
|
+
import android.util.Base64
|
|
32
|
+
import com.microblink.blinkid.core.session.InputImageSource
|
|
33
|
+
import com.microblink.blinkid.core.settings.DocumentNumberAnonymizationSettings
|
|
34
|
+
import com.microblink.core.network.RequestTimeout
|
|
35
|
+
import com.microblink.ux.UiSettings
|
|
36
|
+
import org.json.JSONArray
|
|
37
|
+
import org.json.JSONObject
|
|
38
|
+
|
|
39
|
+
object BlinkIdDeserializationUtilities {
|
|
40
|
+
|
|
41
|
+
fun deserializeBlinkIdSdkSettings(blinkIdSdkSettingsMap: JSONObject?): BlinkIdSdkSettings? {
|
|
42
|
+
val licenseKey = blinkIdSdkSettingsMap?.get("licenseKey") as? String ?: return null
|
|
43
|
+
|
|
44
|
+
return BlinkIdSdkSettings(
|
|
45
|
+
licenseKey = licenseKey,
|
|
46
|
+
licensee = if (blinkIdSdkSettingsMap.has("licensee")) blinkIdSdkSettingsMap.getString("licensee") else null,
|
|
47
|
+
downloadResources = blinkIdSdkSettingsMap.optBoolean("downloadResources", true),
|
|
48
|
+
resourceDownloadUrl = blinkIdSdkSettingsMap.optString(
|
|
49
|
+
"resourceDownloadUrl",
|
|
50
|
+
defaultResourceDownloadUrl
|
|
51
|
+
),
|
|
52
|
+
resourceLocalFolder = blinkIdSdkSettingsMap.optString(
|
|
53
|
+
"resourceLocalFolder",
|
|
54
|
+
defaultResourcesLocalFolder
|
|
55
|
+
),
|
|
56
|
+
resourceRequestTimeout = deserializeResourceRequestTimeout(
|
|
57
|
+
blinkIdSdkSettingsMap.optJSONObject(
|
|
58
|
+
"resourceRequestTimeout"
|
|
59
|
+
)
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
fun deserializeBlinkIdSessionSettings(
|
|
65
|
+
blinkIdSdkSessionSettingsMap: JSONObject?,
|
|
66
|
+
isDirectApi: Boolean
|
|
67
|
+
): BlinkIdSessionSettings {
|
|
68
|
+
if (blinkIdSdkSessionSettingsMap == null) return BlinkIdSessionSettings()
|
|
69
|
+
|
|
70
|
+
return BlinkIdSessionSettings(
|
|
71
|
+
inputImageSource = if (isDirectApi) InputImageSource.Photo else InputImageSource.Video,
|
|
72
|
+
scanningMode = ScanningMode.entries[blinkIdSdkSessionSettingsMap.optInt("scanningMode", ScanningMode.Automatic.ordinal)],
|
|
73
|
+
scanningSettings = deserializeScanningSettings(blinkIdSdkSessionSettingsMap.optJSONObject("scanningSettings")),
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private fun deserializeScanningSettings(scanningSettingsMap: JSONObject?): ScanningSettings {
|
|
78
|
+
if (scanningSettingsMap == null) return ScanningSettings()
|
|
79
|
+
return ScanningSettings(
|
|
80
|
+
blurDetectionLevel = DetectionLevel.entries[scanningSettingsMap.optInt("blurDetectionLevel", DetectionLevel.Mid.ordinal)],
|
|
81
|
+
skipImagesWithBlur = scanningSettingsMap.optBoolean("skipImagesWithBlur", true),
|
|
82
|
+
glareDetectionLevel = DetectionLevel.entries[scanningSettingsMap.optInt("glareDetectionLevel", DetectionLevel.Mid.ordinal)],
|
|
83
|
+
skipImagesWithGlare = scanningSettingsMap["skipImagesWithGlare"] as? Boolean ?: true,
|
|
84
|
+
tiltDetectionLevel = DetectionLevel.entries[scanningSettingsMap.optInt("tiltDetectionLevel", DetectionLevel.Off.ordinal)],
|
|
85
|
+
skipImagesWithInadequateLightingConditions = scanningSettingsMap.optBoolean(
|
|
86
|
+
"skipImagesWithInadequateLightingConditions",
|
|
87
|
+
true
|
|
88
|
+
),
|
|
89
|
+
skipImagesOccludedByHand = scanningSettingsMap.optBoolean("skipImagesOccludedByHand", true),
|
|
90
|
+
combineResultsFromMultipleInputImages = scanningSettingsMap.optBoolean(
|
|
91
|
+
"combineResultsFromMultipleInputImages",
|
|
92
|
+
true
|
|
93
|
+
),
|
|
94
|
+
enableBarcodeScanOnly = scanningSettingsMap.optBoolean("enableBarcodeScanOnly", false),
|
|
95
|
+
customDocumentRules = deserializeDocumentRules(scanningSettingsMap.optJSONArray("customDocumentRules")),
|
|
96
|
+
anonymizationMode = enumValueOf<AnonymizationMode>(
|
|
97
|
+
scanningSettingsMap.optString(
|
|
98
|
+
"anonymizationMode",
|
|
99
|
+
AnonymizationMode.FullResult.name
|
|
100
|
+
).replaceFirstChar { char -> char.uppercase() }),
|
|
101
|
+
customDocumentAnonymizationSettings = deserializeCustomAnonymizationSettings(
|
|
102
|
+
scanningSettingsMap.optJSONArray("customDocumentAnonymizationSettings")
|
|
103
|
+
),
|
|
104
|
+
returnInputImages = scanningSettingsMap.optBoolean("returnInputImages", false),
|
|
105
|
+
scanCroppedDocumentImage = scanningSettingsMap.optBoolean("scanCroppedDocumentImage", false),
|
|
106
|
+
recognitionModeFilter = deserializeRecognitionModeFilter(scanningSettingsMap.optJSONObject("recognitionModeFilter")),
|
|
107
|
+
enableCharacterValidation = scanningSettingsMap.optBoolean("enableCharacterValidation", true),
|
|
108
|
+
inputImageMargin = (scanningSettingsMap.optDouble("inputImageMargin", 0.02)).toFloat(),
|
|
109
|
+
scanUnsupportedBack = scanningSettingsMap.optBoolean("scanUnsupportedBack", false),
|
|
110
|
+
allowUncertainFrontSideScan = scanningSettingsMap.optBoolean(
|
|
111
|
+
"allowUncertainFrontSideScan",
|
|
112
|
+
false
|
|
113
|
+
),
|
|
114
|
+
maxAllowedMismatchesPerField = (scanningSettingsMap.optInt(
|
|
115
|
+
"maxAllowedMismatchesPerField",
|
|
116
|
+
0
|
|
117
|
+
)).toUInt(),
|
|
118
|
+
scanPassportDataPageOnly = scanningSettingsMap.optBoolean("scanPassportDataPageOnly", true),
|
|
119
|
+
croppedImageSettings = deserializeCroppedImageSettings(scanningSettingsMap.optJSONObject("croppedImageSettings")),
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private fun deserializeCroppedImageSettings(croppedImageSettingsMap: JSONObject?): CroppedImageSettings {
|
|
124
|
+
if (croppedImageSettingsMap == null) return CroppedImageSettings()
|
|
125
|
+
return CroppedImageSettings(
|
|
126
|
+
dotsPerInch = (croppedImageSettingsMap.optInt("dotsPerInch", 250)).toUShort(),
|
|
127
|
+
extensionFactor = croppedImageSettingsMap.optDouble("extensionFactor", 0.0).toFloat(),
|
|
128
|
+
returnDocumentImage = croppedImageSettingsMap.optBoolean("returnDocumentImage", false),
|
|
129
|
+
returnFaceImage = croppedImageSettingsMap.optBoolean("returnFaceImage", false),
|
|
130
|
+
returnSignatureImage = croppedImageSettingsMap.optBoolean("returnSignatureImage", false)
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private fun deserializeResourceRequestTimeout(resourceRequestTimeoutMap: JSONObject?): RequestTimeout {
|
|
135
|
+
if (resourceRequestTimeoutMap == null) return RequestTimeout.DEFAULT
|
|
136
|
+
return RequestTimeout(
|
|
137
|
+
connectionTimeoutMillis = resourceRequestTimeoutMap.optInt(
|
|
138
|
+
"connectionTimeoutMilliseconds",
|
|
139
|
+
10000
|
|
140
|
+
),
|
|
141
|
+
writeTimeoutMillis = resourceRequestTimeoutMap.optInt("writeTimeoutMilliseconds", 10000),
|
|
142
|
+
readTimeoutMillis = resourceRequestTimeoutMap.optInt("readTimeoutMilliseconds", 10000)
|
|
143
|
+
)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private fun deserializeDocumentRules(documentRulesJsonArray: JSONArray?): List<DocumentRules> {
|
|
147
|
+
if (documentRulesJsonArray == null) return emptyList()
|
|
148
|
+
|
|
149
|
+
val documentRulesList = mutableListOf<DocumentRules>()
|
|
150
|
+
|
|
151
|
+
for (i in 0 until documentRulesJsonArray.length()) {
|
|
152
|
+
val documentRuleJson = documentRulesJsonArray.optJSONObject(i) ?: continue
|
|
153
|
+
|
|
154
|
+
val documentFilterJson = documentRuleJson.optJSONObject("documentFilter")
|
|
155
|
+
val fieldsJsonArray = documentRuleJson.optJSONArray("fields")
|
|
156
|
+
|
|
157
|
+
if (fieldsJsonArray != null) {
|
|
158
|
+
val fields = mutableListOf<DetailedFieldType>()
|
|
159
|
+
for (j in 0 until fieldsJsonArray.length()) {
|
|
160
|
+
val fieldTypeJson = fieldsJsonArray.optJSONObject(j)
|
|
161
|
+
deserializeDetailedFieldType(fieldTypeJson)?.let { deserialized ->
|
|
162
|
+
fields.add(deserialized)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
val documentFilter = documentFilterJson?.let { deserializeDocumentFilter(it) }
|
|
167
|
+
documentFilter?.let {
|
|
168
|
+
documentRulesList.add(DocumentRules(documentFilter, fields))
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return documentRulesList
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
private fun deserializeDetailedFieldType(detailedFieldTypeMap: JSONObject?): DetailedFieldType? {
|
|
177
|
+
val fieldTypeName = detailedFieldTypeMap?.optString("fieldType")
|
|
178
|
+
val alphabetTypeName = detailedFieldTypeMap?.optString("alphabetType")
|
|
179
|
+
|
|
180
|
+
return if (fieldTypeName != null && alphabetTypeName != null) {
|
|
181
|
+
DetailedFieldType(
|
|
182
|
+
enumValueOf<FieldType>(fieldTypeName.replaceFirstChar { char -> char.uppercase() }),
|
|
183
|
+
enumValueOf<AlphabetType>(alphabetTypeName.replaceFirstChar { char -> char.uppercase() })
|
|
184
|
+
)
|
|
185
|
+
} else {
|
|
186
|
+
null
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
private fun deserializeDocumentFilter(documentFilterMap: JSONObject?): DocumentFilter {
|
|
191
|
+
return if (documentFilterMap != null) {
|
|
192
|
+
val filter = DocumentFilter()
|
|
193
|
+
|
|
194
|
+
if (!documentFilterMap.optString("country").isNullOrEmpty()) {
|
|
195
|
+
filter.country = enumValueOf<Country>(documentFilterMap.optString("country").replaceFirstChar { char -> char.uppercase() })
|
|
196
|
+
}
|
|
197
|
+
if (!documentFilterMap.optString("region").isNullOrEmpty()) {
|
|
198
|
+
println("Region fam: ${documentFilterMap.optString("region")}")
|
|
199
|
+
filter.region = enumValueOf<Region>(documentFilterMap.optString("region").replaceFirstChar { char -> char.uppercase() })
|
|
200
|
+
}
|
|
201
|
+
if (!documentFilterMap.optString("documentType").isNullOrEmpty()) {
|
|
202
|
+
filter.type = enumValueOf<Type>(documentFilterMap.optString("documentType").replaceFirstChar { char -> char.uppercase() })
|
|
203
|
+
}
|
|
204
|
+
filter
|
|
205
|
+
} else {
|
|
206
|
+
DocumentFilter()
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
private fun deserializeCustomAnonymizationSettings(
|
|
211
|
+
customAnonymizationSettingsMapArray: JSONArray?
|
|
212
|
+
): List<DocumentAnonymizationSettings> {
|
|
213
|
+
if (customAnonymizationSettingsMapArray == null) return emptyList()
|
|
214
|
+
|
|
215
|
+
val customAnonymizationList = mutableListOf<DocumentAnonymizationSettings>()
|
|
216
|
+
|
|
217
|
+
for (i in 0 until customAnonymizationSettingsMapArray.length()) {
|
|
218
|
+
val item = customAnonymizationSettingsMapArray.optJSONObject(i) ?: continue
|
|
219
|
+
|
|
220
|
+
val fieldsJsonArray = item.optJSONArray("fields") ?: continue
|
|
221
|
+
val deserializedFields = mutableListOf<FieldType>()
|
|
222
|
+
for (j in 0 until fieldsJsonArray.length()) {
|
|
223
|
+
val raw = fieldsJsonArray.optString(j, null)
|
|
224
|
+
if (!raw.isNullOrBlank()) {
|
|
225
|
+
val enumName = raw.replaceFirstChar { it.uppercase() }
|
|
226
|
+
runCatching { enumValueOf<FieldType>(enumName) }
|
|
227
|
+
.onSuccess { deserializedFields.add(it) }
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
val documentFilter = deserializeDocumentFilter(item.optJSONObject("documentFilter"))
|
|
232
|
+
val documentNumberAnonymizationSettings = item
|
|
233
|
+
.optJSONObject("documentNumberAnonymizationSettings")
|
|
234
|
+
?.let { deserializeDocumentNumberAnonymizationSettings(it) }
|
|
235
|
+
|
|
236
|
+
customAnonymizationList.add(
|
|
237
|
+
DocumentAnonymizationSettings(
|
|
238
|
+
documentFilter,
|
|
239
|
+
deserializedFields,
|
|
240
|
+
documentNumberAnonymizationSettings
|
|
241
|
+
)
|
|
242
|
+
)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
return customAnonymizationList
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
private fun deserializeDocumentNumberAnonymizationSettings(documentNumberAnonymizationSettingsMap: JSONObject?): DocumentNumberAnonymizationSettings? {
|
|
250
|
+
if (documentNumberAnonymizationSettingsMap == null) return null
|
|
251
|
+
return DocumentNumberAnonymizationSettings(
|
|
252
|
+
prefixDigitsVisible = (documentNumberAnonymizationSettingsMap.optInt(
|
|
253
|
+
"prefixDigitsVisible",
|
|
254
|
+
0
|
|
255
|
+
)).toUByte(),
|
|
256
|
+
suffixDigitsVisible = (documentNumberAnonymizationSettingsMap.optInt(
|
|
257
|
+
"suffixDigitsVisible",
|
|
258
|
+
0
|
|
259
|
+
)).toUByte()
|
|
260
|
+
)
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
private fun deserializeRecognitionModeFilter(recognitionModeFilterMap: JSONObject?): RecognitionModeFilter {
|
|
264
|
+
if (recognitionModeFilterMap == null) return RecognitionModeFilter()
|
|
265
|
+
val filter = RecognitionModeFilter()
|
|
266
|
+
filter.enableMrzId = recognitionModeFilterMap.optBoolean("enableMrzId", true)
|
|
267
|
+
filter.enableMrzVisa = recognitionModeFilterMap.optBoolean("enableMrzVisa", true)
|
|
268
|
+
filter.enablePhotoId = recognitionModeFilterMap.optBoolean("enablePhotoId", true)
|
|
269
|
+
filter.enableBarcodeId = recognitionModeFilterMap.optBoolean("enableBarcodeId", true)
|
|
270
|
+
filter.enableMrzPassport = recognitionModeFilterMap.optBoolean("enableMrzPassport", true)
|
|
271
|
+
filter.enableFullDocumentRecognition =
|
|
272
|
+
recognitionModeFilterMap.optBoolean("enableFullDocumentRecognition", true)
|
|
273
|
+
return filter
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
fun deserializeBlinkIdUxSettings(
|
|
278
|
+
blinkidUxSettingsMap: JSONObject?,
|
|
279
|
+
classFilterMap: JSONObject?
|
|
280
|
+
): BlinkIdUxSettings {
|
|
281
|
+
if (blinkidUxSettingsMap == null) return BlinkIdUxSettings()
|
|
282
|
+
return BlinkIdUxSettings(
|
|
283
|
+
stepTimeoutDuration = (blinkidUxSettingsMap.optInt(
|
|
284
|
+
"stepTimeoutDuration",
|
|
285
|
+
15000
|
|
286
|
+
).milliseconds),
|
|
287
|
+
classFilter = classFilterMap?.let { CustomClassFilter(it.toString()) },
|
|
288
|
+
)
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
fun deserializeClassFilter(
|
|
292
|
+
classFilterMap: JSONObject?,
|
|
293
|
+
classInfo: DocumentClassInfo
|
|
294
|
+
): Boolean {
|
|
295
|
+
if (classFilterMap == null) return true
|
|
296
|
+
|
|
297
|
+
var includeClass = false
|
|
298
|
+
var excludeClass = true
|
|
299
|
+
|
|
300
|
+
val includedClasses = classFilterMap.optJSONArray("includeDocuments")
|
|
301
|
+
if (includedClasses != null) {
|
|
302
|
+
for (i in 0 until includedClasses.length()) {
|
|
303
|
+
includeClass = includeClass || matchClassFilter(includedClasses.optJSONObject(i), classInfo)
|
|
304
|
+
}
|
|
305
|
+
} else {
|
|
306
|
+
includeClass = true
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
val excludedClasses = classFilterMap.optJSONArray("excludeDocuments")
|
|
310
|
+
if (excludedClasses != null) {
|
|
311
|
+
for (i in 0 until excludedClasses.length()) {
|
|
312
|
+
excludeClass =
|
|
313
|
+
excludeClass && !matchClassFilter(excludedClasses.optJSONObject(i), classInfo)
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
return includeClass && excludeClass
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
private fun matchClassFilter(
|
|
321
|
+
filteredClass: JSONObject?,
|
|
322
|
+
classInfo: DocumentClassInfo
|
|
323
|
+
): Boolean {
|
|
324
|
+
val country = filteredClass?.optString("country")
|
|
325
|
+
val region = filteredClass?.optString("region")
|
|
326
|
+
val documentType = filteredClass?.optString("documentType")
|
|
327
|
+
|
|
328
|
+
return (country.isNullOrEmpty() || enumValueOf<Country>(country.replaceFirstChar { char -> char.uppercase() }) == classInfo.country) &&
|
|
329
|
+
(region.isNullOrEmpty() || enumValueOf<Region>(region.replaceFirstChar { char -> char.uppercase() }) == classInfo.region) &&
|
|
330
|
+
(documentType.isNullOrEmpty() || enumValueOf<Type>(documentType.replaceFirstChar { char -> char.uppercase() }) == classInfo.type)
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
fun base64ToBitmap(base64Str: String?): Bitmap? {
|
|
334
|
+
return try {
|
|
335
|
+
val decodedBytes = Base64.decode(base64Str, Base64.DEFAULT)
|
|
336
|
+
BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.size)
|
|
337
|
+
} catch (e: IllegalArgumentException) {
|
|
338
|
+
null
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
@Parcelize
|
|
344
|
+
private class CustomClassFilter(
|
|
345
|
+
private val classFilterMap: @RawValue String
|
|
346
|
+
) : ClassFilter, Parcelable {
|
|
347
|
+
|
|
348
|
+
override fun classAllowed(documentClass: DocumentClassInfo): Boolean {
|
|
349
|
+
return BlinkIdDeserializationUtilities.deserializeClassFilter(
|
|
350
|
+
JSONObject(classFilterMap),
|
|
351
|
+
documentClass
|
|
352
|
+
)
|
|
353
|
+
}
|
|
354
|
+
}
|