@microblink/blinkid-react-native 7.7.0 → 8000.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BlinkidReactNative.podspec +2 -1
- package/README.md +490 -282
- package/android/build.gradle +56 -4
- package/android/gradle.properties +3 -4
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +312 -249
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +109 -31
- package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +39 -31
- package/ios/BlinkidReactNative.mm +42 -52
- package/ios/BlinkidReactNativeModule.swift +92 -57
- 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 +7535 -2758
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +2 -1
- 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 +17584 -4445
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +352 -122
- 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 +352 -122
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +17 -28
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +3 -3
- 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 +42778 -33224
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +2 -1
- 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 +17584 -4445
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +352 -122
- 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 +352 -122
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +17584 -4445
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +352 -122
- 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 +352 -122
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +27 -38
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +3 -3
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +276 -276
- 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/ak.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -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/bn.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/da.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/el.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.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-MX.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/fa.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.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-CA.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/ha.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/hi.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/is.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/ja.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.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/nb.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.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/pl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.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/ru.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.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/sv.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.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/tr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.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/yo.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 +2551 -1166
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +60 -24
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +60 -24
- 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 +60 -24
- 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/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +114 -114
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +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/bn.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/da.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/el.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.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-MX.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/fa.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.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-CA.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/ha.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/hi.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/is.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/ja.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.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/nb.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.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/pl.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.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/ru.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.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/sv.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.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/tr.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.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/yo.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 +2551 -1166
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +60 -24
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +60 -24
- 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 +60 -24
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +2551 -1166
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +60 -24
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +60 -24
- 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 +60 -24
- package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
- package/ios/Serialization/BlinkIdDeserializationUtils.swift +492 -0
- package/ios/{BlinkIdSerializationUtilities.swift → Serialization/BlinkIdSerializationUtils.swift} +246 -256
- package/lib/module/NativeBlinkidReactNative.js.map +1 -1
- package/lib/module/blinkIdResult.js +1 -822
- package/lib/module/blinkIdResult.js.map +1 -1
- package/lib/module/blinkIdSettings.js +1 -496
- package/lib/module/blinkIdSettings.js.map +1 -1
- package/lib/module/index.js +81 -17
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +694 -3406
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/NativeBlinkidReactNative.d.ts +26 -5
- package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
- package/lib/typescript/src/blinkIdResult.d.ts +12 -20
- package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
- package/lib/typescript/src/blinkIdSettings.d.ts +36 -297
- package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +38 -10
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +960 -1182
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/NativeBlinkidReactNative.ts +28 -5
- package/src/blinkIdResult.ts +13 -466
- package/src/blinkIdSettings.ts +53 -373
- package/src/index.tsx +208 -35
- package/src/types.ts +1116 -1442
- 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 +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.project +0 -28
- package/ios/BlinkIdDeserializationUtilities.swift +0 -374
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
- package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
- package/lib/module/blinkIdUtilities.js +0 -21
- package/lib/module/blinkIdUtilities.js.map +0 -1
- package/lib/typescript/src/blinkIdUtilities.d.ts +0 -8
- package/lib/typescript/src/blinkIdUtilities.d.ts.map +0 -1
- package/src/android/.project +0 -28
- package/src/blinkIdUtilities.ts +0 -20
package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
package com.microblink.blinkid.reactnative
|
|
2
2
|
|
|
3
|
+
import android.graphics.Bitmap
|
|
3
4
|
import android.graphics.BitmapFactory
|
|
4
|
-
import android.
|
|
5
|
+
import android.util.Base64
|
|
5
6
|
import com.microblink.blinkid.core.BlinkIdSdkSettings
|
|
6
|
-
import com.microblink.blinkid.core.result.AlphabetType
|
|
7
7
|
import com.microblink.blinkid.core.result.FieldType
|
|
8
8
|
import com.microblink.blinkid.core.result.classinfo.Country
|
|
9
9
|
import com.microblink.blinkid.core.result.classinfo.DocumentClassInfo
|
|
@@ -11,355 +11,404 @@ import com.microblink.blinkid.core.result.classinfo.Region
|
|
|
11
11
|
import com.microblink.blinkid.core.result.classinfo.Type
|
|
12
12
|
import com.microblink.blinkid.core.session.BlinkIdSessionSettings
|
|
13
13
|
import com.microblink.blinkid.core.session.ScanningMode
|
|
14
|
-
import com.microblink.blinkid.core.settings.
|
|
15
|
-
import com.microblink.blinkid.core.settings.
|
|
16
|
-
import com.microblink.blinkid.core.settings.
|
|
17
|
-
import com.microblink.blinkid.core.settings.DocumentRules
|
|
18
|
-
import com.microblink.blinkid.core.settings.RecognitionModeFilter
|
|
14
|
+
import com.microblink.blinkid.core.settings.DocumentNumberRedactionSettings
|
|
15
|
+
import com.microblink.blinkid.core.settings.RedactionSettings
|
|
16
|
+
import com.microblink.blinkid.core.settings.RedactionSettingsResolver
|
|
19
17
|
import com.microblink.blinkid.core.settings.ScanningSettings
|
|
18
|
+
import com.microblink.blinkid.core.settings.SensitivityLevel
|
|
19
|
+
import com.microblink.blinkid.core.settings.scanning.BarcodeModuleSettings
|
|
20
|
+
import com.microblink.blinkid.core.settings.scanning.DocumentCaptureModuleSettings
|
|
21
|
+
import com.microblink.blinkid.core.settings.scanning.MrzModuleSettings
|
|
22
|
+
import com.microblink.blinkid.core.settings.scanning.VizModuleSettings
|
|
20
23
|
import com.microblink.blinkid.ux.settings.BlinkIdUxSettings
|
|
21
|
-
import com.microblink.blinkid.core.settings.DocumentAnonymizationSettings
|
|
22
24
|
import com.microblink.blinkid.ux.settings.ClassFilter
|
|
23
|
-
import com.microblink.core.
|
|
24
|
-
import com.microblink.core.
|
|
25
|
+
import com.microblink.blinkid.core.network.RequestTimeout
|
|
26
|
+
import com.microblink.blinkid.core.session.InputImageSource
|
|
27
|
+
import com.microblink.blinkid.core.settings.RedactionMode
|
|
28
|
+
import com.microblink.blinkid.ux.camera.CameraLensFacing
|
|
29
|
+
import com.microblink.blinkid.ux.camera.CameraSettings
|
|
25
30
|
import kotlin.time.Duration.Companion.milliseconds
|
|
31
|
+
import android.os.Parcelable
|
|
26
32
|
import kotlinx.parcelize.Parcelize
|
|
27
|
-
import kotlinx.parcelize.RawValue
|
|
28
|
-
import android.graphics.Bitmap
|
|
29
|
-
import android.util.Base64
|
|
30
|
-
import com.microblink.blinkid.core.settings.DocumentNumberAnonymizationSettings
|
|
31
|
-
import com.microblink.core.network.RequestTimeout
|
|
32
|
-
import com.microblink.core.session.InputImageSource
|
|
33
|
-
import com.microblink.core.settings.AnonymizationMode
|
|
34
|
-
import com.microblink.core.settings.DetectionLevel
|
|
35
|
-
import com.microblink.ux.camera.CameraLensFacing
|
|
36
|
-
import com.microblink.ux.camera.CameraSettings
|
|
37
33
|
import org.json.JSONArray
|
|
38
34
|
import org.json.JSONObject
|
|
39
35
|
|
|
40
36
|
object BlinkIdDeserializationUtilities {
|
|
41
37
|
|
|
38
|
+
private const val DEFAULT_RESOURCE_DOWNLOAD_URL = "https://models.cdn.microblink.com/resources"
|
|
39
|
+
private const val DEFAULT_RESOURCES_LOCAL_FOLDER = "MLModels"
|
|
40
|
+
|
|
42
41
|
fun deserializeBlinkIdSdkSettings(blinkIdSdkSettingsMap: JSONObject?): BlinkIdSdkSettings? {
|
|
43
|
-
val licenseKey = blinkIdSdkSettingsMap?.
|
|
42
|
+
val licenseKey = blinkIdSdkSettingsMap?.optString("licenseKey")?.takeIf { it.isNotBlank() }
|
|
43
|
+
?: return null
|
|
44
44
|
|
|
45
45
|
return BlinkIdSdkSettings(
|
|
46
46
|
licenseKey = licenseKey,
|
|
47
|
-
licensee =
|
|
47
|
+
licensee = blinkIdSdkSettingsMap.optString("licensee").takeIf { it.isNotBlank() },
|
|
48
48
|
downloadResources = blinkIdSdkSettingsMap.optBoolean("downloadResources", true),
|
|
49
49
|
resourceDownloadUrl = blinkIdSdkSettingsMap.optString(
|
|
50
50
|
"resourceDownloadUrl",
|
|
51
|
-
|
|
51
|
+
DEFAULT_RESOURCE_DOWNLOAD_URL
|
|
52
52
|
),
|
|
53
53
|
resourceLocalFolder = blinkIdSdkSettingsMap.optString(
|
|
54
54
|
"resourceLocalFolder",
|
|
55
|
-
|
|
55
|
+
DEFAULT_RESOURCES_LOCAL_FOLDER
|
|
56
56
|
),
|
|
57
57
|
resourceRequestTimeout = deserializeResourceRequestTimeout(
|
|
58
|
-
blinkIdSdkSettingsMap.
|
|
59
|
-
"resourceRequestTimeout"
|
|
60
|
-
)
|
|
58
|
+
blinkIdSdkSettingsMap.opt("resourceRequestTimeout")
|
|
61
59
|
),
|
|
62
|
-
microblinkProxyUrl =
|
|
60
|
+
microblinkProxyUrl = blinkIdSdkSettingsMap.optString("microblinkProxyURL")
|
|
61
|
+
.takeIf { it.isNotBlank() },
|
|
63
62
|
)
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
fun deserializeBlinkIdSessionSettings(
|
|
67
|
-
|
|
66
|
+
sessionSettingsMap: JSONObject?,
|
|
68
67
|
isDirectApi: Boolean
|
|
69
68
|
): BlinkIdSessionSettings {
|
|
70
|
-
if (
|
|
69
|
+
if (sessionSettingsMap == null) {
|
|
70
|
+
return BlinkIdSessionSettings(
|
|
71
|
+
inputImageSource = if (isDirectApi) InputImageSource.Photo else InputImageSource.Video
|
|
72
|
+
)
|
|
73
|
+
}
|
|
71
74
|
|
|
72
75
|
return BlinkIdSessionSettings(
|
|
73
76
|
inputImageSource = if (isDirectApi) InputImageSource.Photo else InputImageSource.Video,
|
|
74
|
-
scanningMode =
|
|
75
|
-
scanningSettings = deserializeScanningSettings(
|
|
77
|
+
scanningMode = deserializeScanningMode(sessionSettingsMap.optString("scanningMode")),
|
|
78
|
+
scanningSettings = deserializeScanningSettings(
|
|
79
|
+
sessionSettingsMap.optJSONObject("scanningSettings")
|
|
80
|
+
),
|
|
76
81
|
)
|
|
77
82
|
}
|
|
78
83
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"anonymizationMode",
|
|
101
|
-
AnonymizationMode.FullResult.name
|
|
102
|
-
).replaceFirstChar { char -> char.uppercase() }),
|
|
103
|
-
customDocumentAnonymizationSettings = deserializeCustomAnonymizationSettings(
|
|
104
|
-
scanningSettingsMap.optJSONArray("customDocumentAnonymizationSettings")
|
|
105
|
-
),
|
|
106
|
-
returnInputImages = scanningSettingsMap.optBoolean("returnInputImages", false),
|
|
107
|
-
scanCroppedDocumentImage = scanningSettingsMap.optBoolean("scanCroppedDocumentImage", false),
|
|
108
|
-
recognitionModeFilter = deserializeRecognitionModeFilter(scanningSettingsMap.optJSONObject("recognitionModeFilter")),
|
|
109
|
-
enableCharacterValidation = scanningSettingsMap.optBoolean("enableCharacterValidation", true),
|
|
110
|
-
inputImageMargin = (scanningSettingsMap.optDouble("inputImageMargin", 0.02)).toFloat(),
|
|
111
|
-
scanUnsupportedBack = scanningSettingsMap.optBoolean("scanUnsupportedBack", false),
|
|
112
|
-
allowUncertainFrontSideScan = scanningSettingsMap.optBoolean(
|
|
113
|
-
"allowUncertainFrontSideScan",
|
|
114
|
-
false
|
|
115
|
-
),
|
|
116
|
-
maxAllowedMismatchesPerField = (scanningSettingsMap.optInt(
|
|
117
|
-
"maxAllowedMismatchesPerField",
|
|
118
|
-
0
|
|
119
|
-
)).toUInt(),
|
|
120
|
-
scanPassportDataPageOnly = scanningSettingsMap.optBoolean("scanPassportDataPageOnly", true),
|
|
121
|
-
croppedImageSettings = deserializeCroppedImageSettings(scanningSettingsMap.optJSONObject("croppedImageSettings")),
|
|
84
|
+
fun deserializeBlinkIdUxSettings(
|
|
85
|
+
scanningUxSettingsMap: JSONObject?,
|
|
86
|
+
sessionSettingsMap: JSONObject?,
|
|
87
|
+
classFilterMap: JSONObject?,
|
|
88
|
+
redactionSettingsResolverMap: JSONObject?
|
|
89
|
+
): BlinkIdUxSettings {
|
|
90
|
+
val stepTimeoutMs = sessionSettingsMap?.optInt("stepTimeoutDuration")
|
|
91
|
+
?: scanningUxSettingsMap?.optInt("stepTimeoutDuration")
|
|
92
|
+
?: 60_000
|
|
93
|
+
val inactivityTimeoutMs = sessionSettingsMap?.optInt("inactivityTimeoutDuration")
|
|
94
|
+
?: scanningUxSettingsMap?.optInt("inactivityTimeoutDuration")
|
|
95
|
+
?: 10_000
|
|
96
|
+
|
|
97
|
+
return BlinkIdUxSettings(
|
|
98
|
+
stepTimeoutDuration = stepTimeoutMs.milliseconds,
|
|
99
|
+
inactivityTimeoutDuration = inactivityTimeoutMs.milliseconds,
|
|
100
|
+
allowHapticFeedback = scanningUxSettingsMap?.optBoolean("allowHapticFeedback", true) ?: true,
|
|
101
|
+
classFilter = classFilterMap?.let { CustomClassFilter(it.toString()) },
|
|
102
|
+
redactionSettingsResolver = redactionSettingsResolverMap?.let {
|
|
103
|
+
CustomRedactionSettingsResolver(it.toString())
|
|
104
|
+
},
|
|
122
105
|
)
|
|
123
106
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (
|
|
127
|
-
return
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
returnFaceImage = croppedImageSettingsMap.optBoolean("returnFaceImage", false),
|
|
132
|
-
returnSignatureImage = croppedImageSettingsMap.optBoolean("returnSignatureImage", false)
|
|
107
|
+
|
|
108
|
+
fun deserializeCameraSettings(scanningUxSettingsMap: JSONObject?): CameraSettings {
|
|
109
|
+
if (scanningUxSettingsMap == null) return CameraSettings()
|
|
110
|
+
return CameraSettings(
|
|
111
|
+
lensFacing = deserializeLensFacingCamera(
|
|
112
|
+
scanningUxSettingsMap.optString("preferredCamera")
|
|
113
|
+
)
|
|
133
114
|
)
|
|
134
115
|
}
|
|
135
116
|
|
|
136
|
-
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
117
|
+
fun deserializeRedactionSettings(redactionSettingsMap: JSONObject?): RedactionSettings? {
|
|
118
|
+
if (redactionSettingsMap == null || redactionSettingsMap.length() == 0) return null
|
|
119
|
+
|
|
120
|
+
val fieldsArray = redactionSettingsMap.optJSONArray("fields") ?: return null
|
|
121
|
+
val fields = mutableListOf<FieldType>()
|
|
122
|
+
for (i in 0 until fieldsArray.length()) {
|
|
123
|
+
parseFieldType(fieldsArray.optString(i))?.let { fields.add(it) }
|
|
124
|
+
}
|
|
125
|
+
if (fields.isEmpty()) return null
|
|
126
|
+
|
|
127
|
+
return RedactionSettings(
|
|
128
|
+
redactionMode = parseRedactionMode(redactionSettingsMap.optString("mode", "fullResult")),
|
|
129
|
+
fields = fields,
|
|
130
|
+
documentNumberRedactionSettings = redactionSettingsMap
|
|
131
|
+
.optJSONObject("documentNumberRedactionSettings")
|
|
132
|
+
?.let { deserializeDocumentNumberRedactionSettings(it) },
|
|
133
|
+
redactMrz = redactionSettingsMap.optBoolean(
|
|
134
|
+
"redactMrz",
|
|
135
|
+
redactionSettingsMap.optBoolean("redactMrzResult", false)
|
|
136
|
+
),
|
|
137
|
+
redactBarcode = redactionSettingsMap.optBoolean(
|
|
138
|
+
"redactBarcode",
|
|
139
|
+
redactionSettingsMap.optBoolean("redactBarcodeResult", false)
|
|
142
140
|
),
|
|
143
|
-
writeTimeoutMillis = resourceRequestTimeoutMap.optInt("writeTimeoutMilliseconds", 10000),
|
|
144
|
-
readTimeoutMillis = resourceRequestTimeoutMap.optInt("readTimeoutMilliseconds", 10000)
|
|
145
141
|
)
|
|
146
142
|
}
|
|
147
143
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
for (i in 0 until documentRulesJsonArray.length()) {
|
|
154
|
-
val documentRuleJson = documentRulesJsonArray.optJSONObject(i) ?: continue
|
|
144
|
+
fun deserializeClassFilter(
|
|
145
|
+
classFilterMap: JSONObject?,
|
|
146
|
+
classInfo: DocumentClassInfo
|
|
147
|
+
): Boolean {
|
|
148
|
+
if (classFilterMap == null || classFilterMap.length() == 0) return true
|
|
155
149
|
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
var includeClass = false
|
|
151
|
+
var excludeClass = true
|
|
158
152
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
153
|
+
val includedClasses = classFilterMap.optJSONArray("includeDocuments")
|
|
154
|
+
if (includedClasses != null && includedClasses.length() > 0) {
|
|
155
|
+
for (i in 0 until includedClasses.length()) {
|
|
156
|
+
includeClass = includeClass || matchClassFilter(includedClasses.optJSONObject(i), classInfo)
|
|
157
|
+
}
|
|
158
|
+
} else {
|
|
159
|
+
includeClass = true
|
|
160
|
+
}
|
|
167
161
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
162
|
+
val excludedClasses = classFilterMap.optJSONArray("excludeDocuments")
|
|
163
|
+
if (excludedClasses != null && excludedClasses.length() > 0) {
|
|
164
|
+
for (i in 0 until excludedClasses.length()) {
|
|
165
|
+
excludeClass =
|
|
166
|
+
excludeClass && !matchClassFilter(excludedClasses.optJSONObject(i), classInfo)
|
|
172
167
|
}
|
|
173
168
|
}
|
|
174
|
-
|
|
169
|
+
|
|
170
|
+
return includeClass && excludeClass
|
|
175
171
|
}
|
|
176
172
|
|
|
173
|
+
fun resolveRedactionSettings(
|
|
174
|
+
redactionResolverMap: JSONObject?,
|
|
175
|
+
classInfo: DocumentClassInfo
|
|
176
|
+
): RedactionSettings? {
|
|
177
|
+
if (redactionResolverMap == null || redactionResolverMap.length() == 0) return null
|
|
177
178
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
val alphabetTypeName = detailedFieldTypeMap?.optString("alphabetType")
|
|
179
|
+
val documentRedactionList =
|
|
180
|
+
redactionResolverMap.optJSONArray("documentRedactionList") ?: return null
|
|
181
181
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
} else {
|
|
188
|
-
null
|
|
182
|
+
for (i in 0 until documentRedactionList.length()) {
|
|
183
|
+
val redactionEntry = documentRedactionList.optJSONObject(i) ?: continue
|
|
184
|
+
if (shouldUseRedactionSettings(redactionEntry, classInfo)) {
|
|
185
|
+
return deserializeRedactionSettings(redactionEntry)
|
|
186
|
+
}
|
|
189
187
|
}
|
|
188
|
+
return null
|
|
190
189
|
}
|
|
191
190
|
|
|
192
|
-
|
|
193
|
-
return
|
|
194
|
-
val
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
if (!documentFilterMap.optString("region").isNullOrEmpty()) {
|
|
200
|
-
println("Region fam: ${documentFilterMap.optString("region")}")
|
|
201
|
-
filter.region = enumValueOf<Region>(documentFilterMap.optString("region").replaceFirstChar { char -> char.uppercase() })
|
|
202
|
-
}
|
|
203
|
-
if (!documentFilterMap.optString("documentType").isNullOrEmpty()) {
|
|
204
|
-
filter.type = enumValueOf<Type>(documentFilterMap.optString("documentType").replaceFirstChar { char -> char.uppercase() })
|
|
205
|
-
}
|
|
206
|
-
filter
|
|
207
|
-
} else {
|
|
208
|
-
DocumentFilter()
|
|
191
|
+
fun base64ToBitmap(base64Str: String?): Bitmap? {
|
|
192
|
+
return try {
|
|
193
|
+
val decodedBytes = Base64.decode(base64Str, Base64.DEFAULT)
|
|
194
|
+
BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.size)
|
|
195
|
+
} catch (_: IllegalArgumentException) {
|
|
196
|
+
null
|
|
209
197
|
}
|
|
210
198
|
}
|
|
211
199
|
|
|
212
|
-
private fun
|
|
213
|
-
|
|
214
|
-
): List<DocumentAnonymizationSettings> {
|
|
215
|
-
if (customAnonymizationSettingsMapArray == null) return emptyList()
|
|
216
|
-
|
|
217
|
-
val customAnonymizationList = mutableListOf<DocumentAnonymizationSettings>()
|
|
200
|
+
private fun deserializeScanningSettings(scanningSettingsMap: JSONObject?): ScanningSettings {
|
|
201
|
+
if (scanningSettingsMap == null) return ScanningSettings()
|
|
218
202
|
|
|
219
|
-
|
|
220
|
-
|
|
203
|
+
return ScanningSettings(
|
|
204
|
+
documentCaptureModule = scanningSettingsMap.optJSONObject("documentCaptureModule")
|
|
205
|
+
?.let { deserializeDocumentCaptureModule(it) },
|
|
206
|
+
barcodeModule = scanningSettingsMap.optJSONObject("barcodeModule")
|
|
207
|
+
?.let { deserializeBarcodeModule(it) },
|
|
208
|
+
mrzModule = scanningSettingsMap.optJSONObject("mrzModule")
|
|
209
|
+
?.let { deserializeMrzModule(it) },
|
|
210
|
+
vizModule = scanningSettingsMap.optJSONObject("vizModule")
|
|
211
|
+
?.let { deserializeVizModule(it) },
|
|
212
|
+
maxAllowedMismatchesPerField = scanningSettingsMap
|
|
213
|
+
.optInt("maxAllowedMismatchesPerField", 0)
|
|
214
|
+
.toUInt(),
|
|
215
|
+
)
|
|
216
|
+
}
|
|
221
217
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
218
|
+
private fun deserializeDocumentCaptureModule(
|
|
219
|
+
moduleMap: JSONObject
|
|
220
|
+
): DocumentCaptureModuleSettings {
|
|
221
|
+
return DocumentCaptureModuleSettings(
|
|
222
|
+
inputImageCropped = moduleMap.optBoolean("inputImageCropped", false),
|
|
223
|
+
unsupportedDocumentsAllowed = moduleMap.optBoolean("unsupportedDocumentsAllowed", false),
|
|
224
|
+
secondSideWithNoExtractableDataSkipped = moduleMap.optBoolean(
|
|
225
|
+
"secondSideWithNoExtractableDataSkipped",
|
|
226
|
+
true
|
|
227
|
+
),
|
|
228
|
+
passportDataPageScanOnly = moduleMap.optBoolean("passportDataPageScanOnly", true),
|
|
229
|
+
faceImageExtractionEnabled = moduleMap.optBoolean("faceImageExtractionEnabled", false),
|
|
230
|
+
faceImagePresenceMandatory = moduleMap.optBoolean("faceImagePresenceMandatory", false),
|
|
231
|
+
inputImageReturnEnabled = moduleMap.optBoolean("inputImageReturnEnabled", false),
|
|
232
|
+
documentImageReturnEnabled = moduleMap.optBoolean("documentImageReturnEnabled", false),
|
|
233
|
+
inputImageMargin = moduleMap.optDouble("inputImageMargin", 0.02).toFloat(),
|
|
234
|
+
dotsPerInch = moduleMap.optInt("dotsPerInch", 250),
|
|
235
|
+
extensionFactor = moduleMap.optDouble("extensionFactor", 0.0).toFloat(),
|
|
236
|
+
blurSensitivityLevel = parseSensitivityLevel(
|
|
237
|
+
moduleMap.optString("blurSensitivityLevel", "mid")
|
|
238
|
+
),
|
|
239
|
+
imageWithBlurRejected = moduleMap.optBoolean("imageWithBlurRejected", true),
|
|
240
|
+
glareSensitivityLevel = parseSensitivityLevel(
|
|
241
|
+
moduleMap.optString("glareSensitivityLevel", "mid")
|
|
242
|
+
),
|
|
243
|
+
imageWithGlareRejected = moduleMap.optBoolean("imageWithGlareRejected", true),
|
|
244
|
+
tiltSensitivityLevel = parseSensitivityLevel(
|
|
245
|
+
moduleMap.optString("tiltSensitivityLevel", "mid")
|
|
246
|
+
),
|
|
247
|
+
imageWithPoorLightingRejected = moduleMap.optBoolean("imageWithPoorLightingRejected", true),
|
|
248
|
+
imageWithHandOcclusionRejected = moduleMap.optBoolean("imageWithHandOcclusionRejected", true),
|
|
249
|
+
)
|
|
250
|
+
}
|
|
232
251
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
252
|
+
private fun deserializeBarcodeModule(moduleMap: JSONObject): BarcodeModuleSettings {
|
|
253
|
+
return BarcodeModuleSettings(
|
|
254
|
+
presenceMandatory = moduleMap.optBoolean("presenceMandatory", false),
|
|
255
|
+
barcodeImageReturnEnabled = moduleMap.optBoolean("barcodeImageReturnEnabled", false),
|
|
256
|
+
pdf417ScanningEnabled = moduleMap.optBoolean("pdf417ScanningEnabled", true),
|
|
257
|
+
qrScanningEnabled = moduleMap.optBoolean("qrScanningEnabled", true),
|
|
258
|
+
upceScanningEnabled = moduleMap.optBoolean("upceScanningEnabled", false),
|
|
259
|
+
upcaScanningEnabled = moduleMap.optBoolean("upcaScanningEnabled", false),
|
|
260
|
+
code128ScanningEnabled = moduleMap.optBoolean("code128ScanningEnabled", false),
|
|
261
|
+
code39ScanningEnabled = moduleMap.optBoolean("code39ScanningEnabled", false),
|
|
262
|
+
ean8ScanningEnabled = moduleMap.optBoolean("ean8ScanningEnabled", false),
|
|
263
|
+
ean13ScanningEnabled = moduleMap.optBoolean("ean13ScanningEnabled", false),
|
|
264
|
+
itfScanningEnabled = moduleMap.optBoolean("itfScanningEnabled", false),
|
|
265
|
+
dataMatrixScanningEnabled = moduleMap.optBoolean("dataMatrixScanningEnabled", false),
|
|
266
|
+
)
|
|
267
|
+
}
|
|
246
268
|
|
|
247
|
-
|
|
269
|
+
private fun deserializeMrzModule(moduleMap: JSONObject): MrzModuleSettings {
|
|
270
|
+
return MrzModuleSettings(
|
|
271
|
+
presenceMandatory = moduleMap.optBoolean("presenceMandatory", false)
|
|
272
|
+
)
|
|
248
273
|
}
|
|
249
274
|
|
|
275
|
+
private fun deserializeVizModule(moduleMap: JSONObject): VizModuleSettings {
|
|
276
|
+
return VizModuleSettings(
|
|
277
|
+
presenceMandatory = moduleMap.optBoolean("presenceMandatory", false),
|
|
278
|
+
signatureImageExtractionEnabled = moduleMap.optBoolean(
|
|
279
|
+
"signatureImageExtractionEnabled",
|
|
280
|
+
false
|
|
281
|
+
),
|
|
282
|
+
characterValidationEnabled = moduleMap.optBoolean("characterValidationEnabled", true),
|
|
283
|
+
resultAggregationEnabled = if (moduleMap.has("resultAggregationEnabled")) {
|
|
284
|
+
moduleMap.optBoolean("resultAggregationEnabled")
|
|
285
|
+
} else {
|
|
286
|
+
true
|
|
287
|
+
},
|
|
288
|
+
)
|
|
289
|
+
}
|
|
250
290
|
|
|
251
|
-
private fun
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
)).toUByte(),
|
|
258
|
-
suffixDigitsVisible = (documentNumberAnonymizationSettingsMap.optInt(
|
|
259
|
-
"suffixDigitsVisible",
|
|
260
|
-
0
|
|
261
|
-
)).toUByte()
|
|
291
|
+
private fun deserializeDocumentNumberRedactionSettings(
|
|
292
|
+
settingsMap: JSONObject
|
|
293
|
+
): DocumentNumberRedactionSettings {
|
|
294
|
+
return DocumentNumberRedactionSettings(
|
|
295
|
+
prefixDigitsVisible = settingsMap.optInt("prefixDigitsVisible", 0).toUByte(),
|
|
296
|
+
suffixDigitsVisible = settingsMap.optInt("suffixDigitsVisible", 0).toUByte(),
|
|
262
297
|
)
|
|
263
298
|
}
|
|
264
299
|
|
|
265
|
-
private fun
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
300
|
+
private fun deserializeResourceRequestTimeout(timeoutValue: Any?): RequestTimeout {
|
|
301
|
+
return when (timeoutValue) {
|
|
302
|
+
is Number -> {
|
|
303
|
+
val timeout = timeoutValue.toInt().milliseconds
|
|
304
|
+
RequestTimeout(
|
|
305
|
+
connectionTimeout = timeout,
|
|
306
|
+
writeTimeout = timeout,
|
|
307
|
+
readTimeout = timeout,
|
|
308
|
+
)
|
|
309
|
+
}
|
|
310
|
+
is JSONObject -> RequestTimeout(
|
|
311
|
+
connectionTimeout = timeoutValue
|
|
312
|
+
.optInt("connectionTimeoutMilliseconds", 10_000)
|
|
313
|
+
.milliseconds,
|
|
314
|
+
writeTimeout = timeoutValue.optInt("writeTimeoutMilliseconds", 10_000).milliseconds,
|
|
315
|
+
readTimeout = timeoutValue.optInt("readTimeoutMilliseconds", 10_000).milliseconds,
|
|
316
|
+
)
|
|
317
|
+
else -> RequestTimeout.DEFAULT
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
private fun deserializeScanningMode(value: String?): ScanningMode {
|
|
322
|
+
return when (value?.lowercase()) {
|
|
323
|
+
"single" -> ScanningMode.Single
|
|
324
|
+
else -> ScanningMode.Automatic
|
|
325
|
+
}
|
|
276
326
|
}
|
|
277
327
|
|
|
328
|
+
private fun parseSensitivityLevel(value: String): SensitivityLevel {
|
|
329
|
+
return when (value.lowercase()) {
|
|
330
|
+
"off" -> SensitivityLevel.Off
|
|
331
|
+
"low" -> SensitivityLevel.Low
|
|
332
|
+
"high" -> SensitivityLevel.High
|
|
333
|
+
else -> SensitivityLevel.Mid
|
|
334
|
+
}
|
|
335
|
+
}
|
|
278
336
|
|
|
279
|
-
fun
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
"stepTimeoutDuration",
|
|
287
|
-
15000
|
|
288
|
-
).milliseconds),
|
|
289
|
-
allowHapticFeedback = blinkidScanningUxSettingsMap.optBoolean("allowHapticFeedback", true),
|
|
290
|
-
classFilter = classFilterMap?.let { CustomClassFilter(it.toString()) },
|
|
291
|
-
)
|
|
337
|
+
private fun parseRedactionMode(value: String): RedactionMode {
|
|
338
|
+
return when (value) {
|
|
339
|
+
"none" -> RedactionMode.None
|
|
340
|
+
"imageOnly" -> RedactionMode.ImageOnly
|
|
341
|
+
"resultFieldsOnly" -> RedactionMode.ResultFieldsOnly
|
|
342
|
+
else -> RedactionMode.FullResult
|
|
343
|
+
}
|
|
292
344
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
345
|
+
|
|
346
|
+
private fun parseFieldType(value: String?): FieldType? {
|
|
347
|
+
if (value.isNullOrBlank()) return null
|
|
348
|
+
val normalized = value.replaceFirstChar { it.lowercase() }
|
|
349
|
+
return FieldType.entries.find {
|
|
350
|
+
it.name.replaceFirstChar { char -> char.lowercase() } == normalized
|
|
351
|
+
}
|
|
296
352
|
}
|
|
297
353
|
|
|
298
|
-
fun deserializeLensFacingCamera(lens: String?): CameraLensFacing {
|
|
354
|
+
private fun deserializeLensFacingCamera(lens: String?): CameraLensFacing {
|
|
299
355
|
return when (lens?.lowercase()) {
|
|
300
356
|
"front" -> CameraLensFacing.LensFacingFront
|
|
301
|
-
"back" -> CameraLensFacing.LensFacingBack
|
|
302
357
|
else -> CameraLensFacing.LensFacingBack
|
|
303
358
|
}
|
|
304
359
|
}
|
|
305
360
|
|
|
306
|
-
fun
|
|
307
|
-
|
|
361
|
+
private fun shouldUseRedactionSettings(
|
|
362
|
+
redactionMap: JSONObject,
|
|
308
363
|
classInfo: DocumentClassInfo
|
|
309
364
|
): Boolean {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
for (i in 0 until includedClasses.length()) {
|
|
318
|
-
includeClass = includeClass || matchClassFilter(includedClasses.optJSONObject(i), classInfo)
|
|
365
|
+
val documentFilters = redactionMap.optJSONArray("documentFilter")
|
|
366
|
+
if (documentFilters != null) {
|
|
367
|
+
if (documentFilters.length() == 0) return true
|
|
368
|
+
for (i in 0 until documentFilters.length()) {
|
|
369
|
+
if (matchClassFilter(documentFilters.optJSONObject(i), classInfo)) {
|
|
370
|
+
return true
|
|
371
|
+
}
|
|
319
372
|
}
|
|
320
|
-
|
|
321
|
-
includeClass = true
|
|
373
|
+
return false
|
|
322
374
|
}
|
|
323
375
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
for (i in 0 until excludedClasses.length()) {
|
|
327
|
-
excludeClass =
|
|
328
|
-
excludeClass && !matchClassFilter(excludedClasses.optJSONObject(i), classInfo)
|
|
329
|
-
}
|
|
376
|
+
if (redactionMap.has("documentFilter")) {
|
|
377
|
+
return matchClassFilter(redactionMap.optJSONObject("documentFilter"), classInfo)
|
|
330
378
|
}
|
|
331
379
|
|
|
332
|
-
return
|
|
380
|
+
return true
|
|
333
381
|
}
|
|
334
382
|
|
|
335
383
|
private fun matchClassFilter(
|
|
336
384
|
filteredClass: JSONObject?,
|
|
337
385
|
classInfo: DocumentClassInfo
|
|
338
386
|
): Boolean {
|
|
339
|
-
|
|
340
|
-
val region = filteredClass?.optString("region")
|
|
341
|
-
val documentType = filteredClass?.optString("documentType")
|
|
387
|
+
if (filteredClass == null) return true
|
|
342
388
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
}
|
|
389
|
+
val country = filteredClass.optString("country").takeIf { it.isNotBlank() }
|
|
390
|
+
val region = filteredClass.optString("region").takeIf { it.isNotBlank() }
|
|
391
|
+
val documentType = filteredClass.optString("documentType").takeIf { it.isNotBlank() }
|
|
347
392
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.size)
|
|
352
|
-
} catch (e: IllegalArgumentException) {
|
|
353
|
-
null
|
|
354
|
-
}
|
|
393
|
+
return (country == null || parseCountry(country) == classInfo.country) &&
|
|
394
|
+
(region == null || parseRegion(region) == classInfo.region) &&
|
|
395
|
+
(documentType == null || parseDocumentType(documentType) == classInfo.type)
|
|
355
396
|
}
|
|
397
|
+
|
|
398
|
+
private fun parseCountry(value: String): Country? =
|
|
399
|
+
Country.entries.find { it.name.equals(value, ignoreCase = true) }
|
|
400
|
+
|
|
401
|
+
private fun parseRegion(value: String): Region? =
|
|
402
|
+
Region.entries.find { it.name.equals(value, ignoreCase = true) }
|
|
403
|
+
|
|
404
|
+
private fun parseDocumentType(value: String): Type? =
|
|
405
|
+
Type.entries.find { it.name.equals(value, ignoreCase = true) }
|
|
356
406
|
}
|
|
357
407
|
|
|
358
408
|
@Parcelize
|
|
359
409
|
private class CustomClassFilter(
|
|
360
|
-
private val classFilterMap:
|
|
410
|
+
private val classFilterMap: String
|
|
361
411
|
) : ClassFilter, Parcelable {
|
|
362
|
-
|
|
363
412
|
override fun classAllowed(documentClass: DocumentClassInfo): Boolean {
|
|
364
413
|
return BlinkIdDeserializationUtilities.deserializeClassFilter(
|
|
365
414
|
JSONObject(classFilterMap),
|
|
@@ -367,3 +416,17 @@ private class CustomClassFilter(
|
|
|
367
416
|
)
|
|
368
417
|
}
|
|
369
418
|
}
|
|
419
|
+
|
|
420
|
+
@Parcelize
|
|
421
|
+
private class CustomRedactionSettingsResolver(
|
|
422
|
+
private val redactionResolverMap: String
|
|
423
|
+
) : RedactionSettingsResolver, Parcelable {
|
|
424
|
+
override fun resolveRedactionSettings(
|
|
425
|
+
classInfo: DocumentClassInfo
|
|
426
|
+
): RedactionSettings? {
|
|
427
|
+
return BlinkIdDeserializationUtilities.resolveRedactionSettings(
|
|
428
|
+
JSONObject(redactionResolverMap),
|
|
429
|
+
classInfo
|
|
430
|
+
)
|
|
431
|
+
}
|
|
432
|
+
}
|