@smile_identity/react-native 10.2.2 → 10.2.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -28
- package/android/build.gradle +4 -1
- package/android/gradle.properties +3 -3
- package/android/src/main/java/com/smileidentity/react/Mapper.kt +21 -5
- package/android/src/main/java/com/smileidentity/react/SmileIdModule.kt +37 -39
- package/android/src/main/java/com/smileidentity/react/SmileIdPackage.kt +4 -0
- package/android/src/main/java/com/smileidentity/react/fragments/SmileCaptureFragment.kt +56 -0
- package/android/src/main/java/com/smileidentity/react/results/BiometricKycCaptureResult.kt +9 -0
- package/android/src/main/java/com/smileidentity/react/results/SmartSelfieCaptureResult.kt +3 -2
- package/android/src/main/java/com/smileidentity/react/utils/BiometricKycCaptureResultAdapter.kt +69 -0
- package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +16 -0
- package/android/src/main/java/com/smileidentity/react/utils/SelfieCaptureResultAdapter.kt +0 -2
- package/android/src/main/java/com/smileidentity/react/viewmanagers/BaseSmileIDViewManager.kt +130 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +22 -46
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +27 -52
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentCaptureViewManager.kt +15 -40
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +23 -49
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +28 -47
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.kt +39 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +16 -40
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieCaptureViewManager.kt +15 -38
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.kt +39 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +15 -44
- package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +14 -7
- package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentCaptureView.kt +9 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt +2 -4
- package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +11 -5
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationEnhancedView.kt +61 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationView.kt +0 -2
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieCaptureView.kt +38 -25
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentEnhancedView.kt +68 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +35 -30
- package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +11 -10
- package/android/src/main/res/values/colors.xml +14 -0
- package/android/src/main/res/values/strings.xml +91 -0
- package/android/src/oldarch/SmileIdSpec.kt +3 -12
- package/ios/RNSmileID.mm +6 -3
- package/ios/RNSmileID.swift +470 -477
- package/ios/View/SmileIDSmartSelfieAuthEnhancedView.swift +44 -0
- package/ios/View/SmileIDSmartSelfieAuthView.swift +2 -3
- package/ios/View/SmileIDSmartSelfieCaptureView.swift +2 -2
- package/ios/View/SmileIDSmartSelfieEnrollmentEnhancedView.swift +44 -0
- package/ios/ViewManagers/SmileIDBaseViewManager.swift +24 -20
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +24 -24
- package/ios/ViewManagers/SmileIDConsentViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDConsentViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.m +10 -0
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.swift +25 -0
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.swift +1 -1
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.m +10 -0
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.swift +25 -0
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +1 -1
- package/lib/commonjs/NativeSmileId.js.map +1 -1
- package/lib/commonjs/SmileIDBiometricKYCView.js +18 -29
- package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -1
- package/lib/commonjs/SmileIDConsentView.js +9 -29
- package/lib/commonjs/SmileIDConsentView.js.map +1 -1
- package/lib/commonjs/SmileIDDocumentCaptureView.js +9 -29
- package/lib/commonjs/SmileIDDocumentCaptureView.js.map +1 -1
- package/lib/commonjs/SmileIDDocumentVerificationView.js +9 -29
- package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -1
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +17 -28
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js +20 -0
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieCaptureView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieCaptureView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js +20 -0
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
- package/lib/commonjs/index.js +26 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useSmileIDView.js +55 -0
- package/lib/commonjs/useSmileIDView.js.map +1 -0
- package/lib/module/NativeSmileId.js.map +1 -1
- package/lib/module/SmileIDBiometricKYCView.js +18 -26
- package/lib/module/SmileIDBiometricKYCView.js.map +1 -1
- package/lib/module/SmileIDConsentView.js +9 -26
- package/lib/module/SmileIDConsentView.js.map +1 -1
- package/lib/module/SmileIDDocumentCaptureView.js +9 -26
- package/lib/module/SmileIDDocumentCaptureView.js.map +1 -1
- package/lib/module/SmileIDDocumentVerificationView.js +9 -26
- package/lib/module/SmileIDDocumentVerificationView.js.map +1 -1
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js +17 -25
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js +13 -0
- package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js +9 -26
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieCaptureView.js +9 -26
- package/lib/module/SmileIDSmartSelfieCaptureView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js +13 -0
- package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js +9 -26
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
- package/lib/module/index.js +10 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/useSmileIDView.js +48 -0
- package/lib/module/useSmileIDView.js.map +1 -0
- package/lib/typescript/NativeSmileId.d.ts +6 -4
- package/lib/typescript/NativeSmileId.d.ts.map +1 -1
- package/lib/typescript/SmileIDBiometricKYCView.d.ts +3 -6
- package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -1
- package/lib/typescript/SmileIDConsentView.d.ts +3 -6
- package/lib/typescript/SmileIDConsentView.d.ts.map +1 -1
- package/lib/typescript/SmileIDDocumentCaptureView.d.ts +4 -7
- package/lib/typescript/SmileIDDocumentCaptureView.d.ts.map +1 -1
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts +3 -6
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +3 -6
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts +5 -0
- package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts.map +1 -0
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts +5 -0
- package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts.map +1 -0
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +2 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useSmileIDView.d.ts +12 -0
- package/lib/typescript/useSmileIDView.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-smile-id.podspec +1 -1
- package/src/NativeSmileId.ts +10 -14
- package/src/SmileIDBiometricKYCView.tsx +14 -30
- package/src/SmileIDConsentView.tsx +7 -30
- package/src/SmileIDDocumentCaptureView.tsx +12 -36
- package/src/SmileIDDocumentVerificationView.tsx +9 -36
- package/src/SmileIDEnhancedDocumentVerificationView.tsx +23 -35
- package/src/SmileIDSmartSelfieAuthenticationEnhancedView.tsx +28 -0
- package/src/SmileIDSmartSelfieAuthenticationView.tsx +10 -37
- package/src/SmileIDSmartSelfieCaptureView.tsx +9 -33
- package/src/SmileIDSmartSelfieEnrollmentEnhancedView.tsx +25 -0
- package/src/SmileIDSmartSelfieEnrollmentView.tsx +10 -37
- package/src/index.tsx +21 -2
- package/src/types.ts +8 -0
- package/src/useSmileIDView.tsx +80 -0
|
@@ -2,62 +2,39 @@ package com.smileidentity.react.viewmanagers
|
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
4
|
import com.facebook.react.bridge.ReadableArray
|
|
5
|
+
import com.facebook.react.bridge.ReadableMap
|
|
5
6
|
import com.facebook.react.module.annotations.ReactModule
|
|
6
7
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
8
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
9
|
import com.smileidentity.react.utils.getBoolOrDefault
|
|
9
10
|
import com.smileidentity.react.utils.getStringOrDefault
|
|
10
11
|
import com.smileidentity.react.views.SmileIDSmartSelfieCaptureView
|
|
12
|
+
import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentEnhancedView
|
|
13
|
+
import com.smileidentity.react.views.SmileIDView
|
|
11
14
|
|
|
12
15
|
@ReactModule(name = SmileIDSmartSelfieCaptureViewManager.NAME)
|
|
13
16
|
class SmileIDSmartSelfieCaptureViewManager(
|
|
14
17
|
private val reactApplicationContext: ReactApplicationContext
|
|
15
|
-
) :
|
|
18
|
+
) : BaseSmileIDViewManager<SmileIDSmartSelfieCaptureView>(reactApplicationContext) {
|
|
16
19
|
override fun getName(): String = NAME
|
|
17
20
|
|
|
18
|
-
override fun
|
|
19
|
-
return
|
|
20
|
-
"onSmileResult" to mapOf(
|
|
21
|
-
"phasedRegistrationNames" to mapOf(
|
|
22
|
-
"bubbled" to "onResult"
|
|
23
|
-
)
|
|
24
|
-
)
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
override fun getCommandsMap(): Map<String, Int> {
|
|
29
|
-
return mapOf("setParams" to COMMAND_SET_PARAMS)
|
|
21
|
+
override fun createSmileView(): SmileIDSmartSelfieCaptureView {
|
|
22
|
+
return SmileIDSmartSelfieCaptureView(reactApplicationContext)
|
|
30
23
|
}
|
|
31
24
|
|
|
32
|
-
override fun
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
val params = args?.getMap(0)
|
|
42
|
-
params?.let {
|
|
43
|
-
view.userId = params.getStringOrDefault("userId")
|
|
44
|
-
view.jobId = params.getStringOrDefault("jobId")
|
|
45
|
-
view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
|
|
46
|
-
view.showAttribution = params.getBoolOrDefault("showAttribution", true)
|
|
47
|
-
view.showInstructions = params.getBoolOrDefault("showInstructions", true)
|
|
48
|
-
view.showConfirmation = params.getBoolOrDefault("showConfirmation", true)
|
|
49
|
-
view.renderContent()
|
|
50
|
-
}
|
|
51
|
-
}
|
|
25
|
+
override fun applyArgs(view: SmileIDSmartSelfieCaptureView, args: ReadableMap?) {
|
|
26
|
+
args?.let {
|
|
27
|
+
view.userId = it.getStringOrDefault("userId")
|
|
28
|
+
view.jobId = it.getStringOrDefault("jobId")
|
|
29
|
+
view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
|
|
30
|
+
view.showAttribution = it.getBoolOrDefault("showAttribution", true)
|
|
31
|
+
view.showInstructions = it.getBoolOrDefault("showInstructions", true)
|
|
32
|
+
view.showConfirmation =
|
|
33
|
+
it.getBoolOrDefault("showConfirmation", true)
|
|
52
34
|
}
|
|
53
35
|
}
|
|
54
36
|
|
|
55
|
-
override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieCaptureView {
|
|
56
|
-
return SmileIDSmartSelfieCaptureView(reactApplicationContext)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
37
|
companion object {
|
|
60
38
|
const val NAME = "SmileIDSmartSelfieCaptureView"
|
|
61
|
-
const val COMMAND_SET_PARAMS = 1
|
|
62
39
|
}
|
|
63
40
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
package com.smileidentity.react.viewmanagers
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
|
+
import com.facebook.react.bridge.ReadableArray
|
|
5
|
+
import com.facebook.react.bridge.ReadableMap
|
|
6
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
7
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
8
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
9
|
+
import com.smileidentity.react.utils.getBoolOrDefault
|
|
10
|
+
import com.smileidentity.react.utils.getImmutableMapOrDefault
|
|
11
|
+
import com.smileidentity.react.utils.getStringOrDefault
|
|
12
|
+
import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentEnhancedView
|
|
13
|
+
import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentView
|
|
14
|
+
import com.smileidentity.react.views.SmileIDView
|
|
15
|
+
|
|
16
|
+
@ReactModule(name = SmileIDSmartSelfieEnrollmentEnhancedViewManager.NAME)
|
|
17
|
+
class SmileIDSmartSelfieEnrollmentEnhancedViewManager(
|
|
18
|
+
private val reactApplicationContext: ReactApplicationContext
|
|
19
|
+
) : BaseSmileIDViewManager<SmileIDSmartSelfieEnrollmentEnhancedView>(reactApplicationContext) {
|
|
20
|
+
|
|
21
|
+
override fun getName(): String = NAME
|
|
22
|
+
override fun createSmileView(): SmileIDSmartSelfieEnrollmentEnhancedView {
|
|
23
|
+
return SmileIDSmartSelfieEnrollmentEnhancedView(reactApplicationContext)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override fun applyArgs(view: SmileIDSmartSelfieEnrollmentEnhancedView, args: ReadableMap?) {
|
|
27
|
+
args?.let {
|
|
28
|
+
view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
|
|
29
|
+
view.userId = it.getStringOrDefault("userId")
|
|
30
|
+
view.showAttribution = it.getBoolOrDefault("showAttribution", true)
|
|
31
|
+
view.showInstructions = it.getBoolOrDefault("showInstructions", true)
|
|
32
|
+
view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
companion object {
|
|
37
|
+
const val NAME = "SmileIDSmartSelfieEnrollmentEnhancedView"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -1,67 +1,38 @@
|
|
|
1
1
|
package com.smileidentity.react.viewmanagers
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
|
-
import com.facebook.react.bridge.
|
|
4
|
+
import com.facebook.react.bridge.ReadableMap
|
|
5
5
|
import com.facebook.react.module.annotations.ReactModule
|
|
6
|
-
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
|
-
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
6
|
import com.smileidentity.react.utils.getBoolOrDefault
|
|
9
7
|
import com.smileidentity.react.utils.getImmutableMapOrDefault
|
|
10
8
|
import com.smileidentity.react.utils.getStringOrDefault
|
|
11
9
|
import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentView
|
|
10
|
+
import com.smileidentity.react.views.SmileIDView
|
|
12
11
|
|
|
13
12
|
@ReactModule(name = SmileIDSmartSelfieEnrollmentViewManager.NAME)
|
|
14
13
|
class SmileIDSmartSelfieEnrollmentViewManager(
|
|
15
14
|
private val reactApplicationContext: ReactApplicationContext
|
|
16
|
-
) :
|
|
17
|
-
|
|
15
|
+
) : BaseSmileIDViewManager<SmileIDSmartSelfieEnrollmentView>(reactApplicationContext) {
|
|
18
16
|
override fun getName(): String = NAME
|
|
19
17
|
|
|
20
|
-
override fun
|
|
21
|
-
return
|
|
22
|
-
"onSmileResult" to mapOf(
|
|
23
|
-
"phasedRegistrationNames" to mapOf(
|
|
24
|
-
"bubbled" to "onResult"
|
|
25
|
-
)
|
|
26
|
-
)
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
override fun getCommandsMap(): Map<String, Int> {
|
|
31
|
-
return mapOf("setParams" to COMMAND_SET_PARAMS)
|
|
18
|
+
override fun createSmileView(): SmileIDSmartSelfieEnrollmentView {
|
|
19
|
+
return SmileIDSmartSelfieEnrollmentView(reactApplicationContext)
|
|
32
20
|
}
|
|
33
21
|
|
|
34
|
-
override fun
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
params?.let {
|
|
45
|
-
view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
|
|
46
|
-
view.userId = params.getStringOrDefault("userId")
|
|
47
|
-
view.jobId = params.getStringOrDefault("jobId")
|
|
48
|
-
view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
|
|
49
|
-
view.showAttribution = params.getBoolOrDefault("showAttribution", true)
|
|
50
|
-
view.showInstructions = params.getBoolOrDefault("showInstructions", true)
|
|
51
|
-
view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
|
|
52
|
-
view.skipApiSubmission = params.getBoolOrDefault("skipApiSubmission", false)
|
|
53
|
-
view.renderContent()
|
|
54
|
-
}
|
|
55
|
-
}
|
|
22
|
+
override fun applyArgs(view: SmileIDSmartSelfieEnrollmentView, args: ReadableMap?) {
|
|
23
|
+
args?.let {
|
|
24
|
+
view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
|
|
25
|
+
view.userId = it.getStringOrDefault("userId")
|
|
26
|
+
view.jobId = it.getStringOrDefault("jobId")
|
|
27
|
+
view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
|
|
28
|
+
view.showAttribution = it.getBoolOrDefault("showAttribution", true)
|
|
29
|
+
view.showInstructions = it.getBoolOrDefault("showInstructions", true)
|
|
30
|
+
view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
|
|
31
|
+
view.skipApiSubmission = it.getBoolOrDefault("skipApiSubmission", false)
|
|
56
32
|
}
|
|
57
33
|
}
|
|
58
34
|
|
|
59
|
-
override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieEnrollmentView {
|
|
60
|
-
return SmileIDSmartSelfieEnrollmentView(reactApplicationContext)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
35
|
companion object {
|
|
64
36
|
const val NAME = "SmileIDSmartSelfieEnrollmentView"
|
|
65
|
-
const val COMMAND_SET_PARAMS = 1
|
|
66
37
|
}
|
|
67
38
|
}
|
|
@@ -6,21 +6,27 @@ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
|
|
|
6
6
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
7
|
import com.smileidentity.SmileID
|
|
8
8
|
import com.smileidentity.compose.BiometricKYC
|
|
9
|
+
import com.smileidentity.models.ConsentInformation
|
|
9
10
|
import com.smileidentity.models.IdInfo
|
|
10
|
-
import com.smileidentity.react.results.
|
|
11
|
-
import com.smileidentity.react.utils.
|
|
11
|
+
import com.smileidentity.react.results.BiometricKycCaptureResult
|
|
12
|
+
import com.smileidentity.react.utils.BiometricKycCaptureResultAdapter
|
|
12
13
|
import com.smileidentity.results.SmileIDResult
|
|
13
14
|
import com.smileidentity.util.randomJobId
|
|
14
15
|
import com.smileidentity.util.randomUserId
|
|
15
16
|
|
|
16
17
|
class SmileIDBiometricKYCView(context: ReactApplicationContext) : SmileIDView(context) {
|
|
17
18
|
var idInfo: IdInfo? = null
|
|
19
|
+
var consentInformation: ConsentInformation? = null
|
|
18
20
|
|
|
19
21
|
override fun renderContent() {
|
|
20
22
|
idInfo ?: run {
|
|
21
23
|
emitFailure(IllegalArgumentException("idInfo is required for BiometricKYC"))
|
|
22
24
|
return
|
|
23
25
|
}
|
|
26
|
+
consentInformation ?: run {
|
|
27
|
+
emitFailure(IllegalArgumentException("consentInformation is required for BiometricKYC"))
|
|
28
|
+
return
|
|
29
|
+
}
|
|
24
30
|
composeView.apply {
|
|
25
31
|
val customViewModelStoreOwner = CustomViewModelStoreOwner()
|
|
26
32
|
setContent {
|
|
@@ -31,14 +37,15 @@ class SmileIDBiometricKYCView(context: ReactApplicationContext) : SmileIDView(co
|
|
|
31
37
|
jobId = jobId ?: rememberSaveable { randomJobId() },
|
|
32
38
|
allowAgentMode = allowAgentMode ?: false,
|
|
33
39
|
allowNewEnroll = allowNewEnroll ?: false,
|
|
34
|
-
showAttribution = showAttribution
|
|
35
|
-
showInstructions = showInstructions
|
|
40
|
+
showAttribution = showAttribution,
|
|
41
|
+
showInstructions = showInstructions,
|
|
36
42
|
extraPartnerParams = extraPartnerParams,
|
|
43
|
+
consentInformation = consentInformation!!,
|
|
37
44
|
) { res ->
|
|
38
45
|
when (res) {
|
|
39
46
|
is SmileIDResult.Success -> {
|
|
40
47
|
val result =
|
|
41
|
-
|
|
48
|
+
BiometricKycCaptureResult(
|
|
42
49
|
selfieFile = res.data.selfieFile,
|
|
43
50
|
livenessFiles = res.data.livenessFiles,
|
|
44
51
|
didSubmitBiometricKycJob = res.data.didSubmitBiometricKycJob,
|
|
@@ -46,12 +53,12 @@ class SmileIDBiometricKYCView(context: ReactApplicationContext) : SmileIDView(co
|
|
|
46
53
|
val newMoshi =
|
|
47
54
|
SmileID.moshi
|
|
48
55
|
.newBuilder()
|
|
49
|
-
.add(
|
|
56
|
+
.add(BiometricKycCaptureResultAdapter.FACTORY)
|
|
50
57
|
.build()
|
|
51
58
|
val json =
|
|
52
59
|
try {
|
|
53
60
|
newMoshi
|
|
54
|
-
.adapter(
|
|
61
|
+
.adapter(BiometricKycCaptureResult::class.java)
|
|
55
62
|
.toJson(result)
|
|
56
63
|
} catch (e: Exception) {
|
|
57
64
|
emitFailure(e)
|
|
@@ -65,10 +65,19 @@ class SmileIDDocumentCaptureView(context: ReactApplicationContext) : SmileIDView
|
|
|
65
65
|
DocumentCaptureScreen(
|
|
66
66
|
jobId = jobId,
|
|
67
67
|
side = if (front) DocumentCaptureSide.Front else DocumentCaptureSide.Back,
|
|
68
|
+
showInstructions = showInstructions,
|
|
69
|
+
showAttribution = showAttribution,
|
|
70
|
+
allowGallerySelection = allowGalleryUpload,
|
|
71
|
+
showConfirmation = showConfirmation,
|
|
72
|
+
showSkipButton = false,
|
|
73
|
+
instructionsHeroImage = hero,
|
|
74
|
+
instructionsTitleText = stringResource(instructionTitle),
|
|
75
|
+
instructionsSubtitleText = stringResource(instructionSubTitle),
|
|
68
76
|
captureTitleText = stringResource(captureTitleText),
|
|
69
77
|
knownIdAspectRatio = idAspectRatio,
|
|
70
78
|
onConfirm = { file -> handleConfirmation(file) },
|
|
71
79
|
onError = { throwable -> emitFailure(throwable) },
|
|
80
|
+
onSkip = { }
|
|
72
81
|
)
|
|
73
82
|
}
|
|
74
83
|
|
package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt
CHANGED
|
@@ -11,7 +11,6 @@ import com.smileidentity.react.utils.DocumentCaptureResultAdapter
|
|
|
11
11
|
import com.smileidentity.results.SmileIDResult
|
|
12
12
|
import com.smileidentity.util.randomJobId
|
|
13
13
|
import com.smileidentity.util.randomUserId
|
|
14
|
-
import kotlinx.collections.immutable.toImmutableMap
|
|
15
14
|
import java.io.File
|
|
16
15
|
|
|
17
16
|
class SmileIDDocumentVerificationView(context: ReactApplicationContext) : SmileIDView(context) {
|
|
@@ -41,13 +40,12 @@ class SmileIDDocumentVerificationView(context: ReactApplicationContext) : SmileI
|
|
|
41
40
|
countryCode = countryCode!!,
|
|
42
41
|
documentType = documentType,
|
|
43
42
|
idAspectRatio = idAspectRatio,
|
|
44
|
-
showAttribution = showAttribution
|
|
43
|
+
showAttribution = showAttribution,
|
|
45
44
|
allowAgentMode = allowAgentMode ?: false,
|
|
46
|
-
showInstructions = showInstructions
|
|
45
|
+
showInstructions = showInstructions,
|
|
47
46
|
allowGalleryUpload = allowGalleryUpload,
|
|
48
47
|
captureBothSides = captureBothSides,
|
|
49
48
|
allowNewEnroll = allowNewEnroll ?: false,
|
|
50
|
-
skipApiSubmission = skipApiSubmission,
|
|
51
49
|
bypassSelfieCaptureWithFile = bypassSelfieCaptureWithFile,
|
|
52
50
|
extraPartnerParams = extraPartnerParams,
|
|
53
51
|
) { res ->
|
|
@@ -6,12 +6,12 @@ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
|
|
|
6
6
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
7
|
import com.smileidentity.SmileID
|
|
8
8
|
import com.smileidentity.compose.EnhancedDocumentVerificationScreen
|
|
9
|
+
import com.smileidentity.models.ConsentInformation
|
|
9
10
|
import com.smileidentity.react.results.DocumentCaptureResult
|
|
10
11
|
import com.smileidentity.react.utils.DocumentCaptureResultAdapter
|
|
11
12
|
import com.smileidentity.results.SmileIDResult
|
|
12
13
|
import com.smileidentity.util.randomJobId
|
|
13
14
|
import com.smileidentity.util.randomUserId
|
|
14
|
-
import kotlinx.collections.immutable.toImmutableMap
|
|
15
15
|
|
|
16
16
|
class SmileIDEnhancedDocumentVerificationView(context: ReactApplicationContext) :
|
|
17
17
|
SmileIDView(context) {
|
|
@@ -20,11 +20,17 @@ class SmileIDEnhancedDocumentVerificationView(context: ReactApplicationContext)
|
|
|
20
20
|
var captureBothSides: Boolean = true
|
|
21
21
|
var documentType: String? = null
|
|
22
22
|
var idAspectRatio: Float? = null
|
|
23
|
+
var consentInformation: ConsentInformation? = null
|
|
23
24
|
|
|
24
25
|
override fun renderContent() {
|
|
25
26
|
countryCode ?: run {
|
|
26
27
|
emitFailure(IllegalArgumentException("countryCode is required for DocumentVerification"))
|
|
27
|
-
return
|
|
28
|
+
return
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
consentInformation ?: run {
|
|
32
|
+
emitFailure(IllegalArgumentException("consentInformation is required for DocumentVerification"))
|
|
33
|
+
return
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
composeView.apply {
|
|
@@ -37,14 +43,14 @@ class SmileIDEnhancedDocumentVerificationView(context: ReactApplicationContext)
|
|
|
37
43
|
countryCode = countryCode!!,
|
|
38
44
|
documentType = documentType,
|
|
39
45
|
idAspectRatio = idAspectRatio,
|
|
40
|
-
showAttribution = showAttribution
|
|
46
|
+
showAttribution = showAttribution,
|
|
41
47
|
allowAgentMode = allowAgentMode ?: false,
|
|
42
|
-
showInstructions = showInstructions
|
|
48
|
+
showInstructions = showInstructions,
|
|
43
49
|
allowNewEnroll = allowNewEnroll ?: false,
|
|
44
50
|
allowGalleryUpload = allowGalleryUpload,
|
|
45
51
|
captureBothSides = captureBothSides,
|
|
46
|
-
skipApiSubmission = skipApiSubmission,
|
|
47
52
|
extraPartnerParams = extraPartnerParams,
|
|
53
|
+
consentInformation = consentInformation!!,
|
|
48
54
|
) { res ->
|
|
49
55
|
when (res) {
|
|
50
56
|
is SmileIDResult.Success -> {
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
package com.smileidentity.react.views
|
|
2
|
+
|
|
3
|
+
import androidx.compose.runtime.CompositionLocalProvider
|
|
4
|
+
import androidx.compose.runtime.saveable.rememberSaveable
|
|
5
|
+
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
|
+
import com.smileidentity.SmileID
|
|
8
|
+
import com.smileidentity.compose.SmartSelfieAuthenticationEnhanced
|
|
9
|
+
import com.smileidentity.react.results.SmartSelfieCaptureResult
|
|
10
|
+
import com.smileidentity.react.utils.SelfieCaptureResultAdapter
|
|
11
|
+
import com.smileidentity.results.SmileIDResult
|
|
12
|
+
import com.smileidentity.util.randomUserId
|
|
13
|
+
|
|
14
|
+
class SmileIDSmartSelfieAuthenticationEnhancedView(context: ReactApplicationContext) :
|
|
15
|
+
SmileIDView(context) {
|
|
16
|
+
|
|
17
|
+
override fun renderContent() {
|
|
18
|
+
composeView.apply {
|
|
19
|
+
val customViewModelStoreOwner = CustomViewModelStoreOwner()
|
|
20
|
+
setContent {
|
|
21
|
+
CompositionLocalProvider(LocalViewModelStoreOwner provides customViewModelStoreOwner) {
|
|
22
|
+
SmileID.SmartSelfieAuthenticationEnhanced(
|
|
23
|
+
userId = userId ?: rememberSaveable { randomUserId() },
|
|
24
|
+
allowNewEnroll = allowNewEnroll ?: false,
|
|
25
|
+
showAttribution = showAttribution,
|
|
26
|
+
showInstructions = showInstructions,
|
|
27
|
+
extraPartnerParams = extraPartnerParams,
|
|
28
|
+
) { res ->
|
|
29
|
+
when (res) {
|
|
30
|
+
is SmileIDResult.Success -> {
|
|
31
|
+
val result =
|
|
32
|
+
SmartSelfieCaptureResult(
|
|
33
|
+
selfieFile = res.data.selfieFile,
|
|
34
|
+
livenessFiles = res.data.livenessFiles,
|
|
35
|
+
apiResponse = res.data.apiResponse,
|
|
36
|
+
)
|
|
37
|
+
val json =
|
|
38
|
+
try {
|
|
39
|
+
SmileID.moshi
|
|
40
|
+
.newBuilder()
|
|
41
|
+
.add(SelfieCaptureResultAdapter.FACTORY)
|
|
42
|
+
.build()
|
|
43
|
+
.adapter(SmartSelfieCaptureResult::class.java)
|
|
44
|
+
.toJson(result)
|
|
45
|
+
} catch (e: Exception) {
|
|
46
|
+
emitFailure(e)
|
|
47
|
+
return@SmartSelfieAuthenticationEnhanced
|
|
48
|
+
}
|
|
49
|
+
json?.let { response ->
|
|
50
|
+
emitSuccess(response)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
is SmileIDResult.Error -> emitFailure(res.throwable)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationView.kt
CHANGED
|
@@ -10,7 +10,6 @@ import com.smileidentity.react.results.SmartSelfieCaptureResult
|
|
|
10
10
|
import com.smileidentity.react.utils.SelfieCaptureResultAdapter
|
|
11
11
|
import com.smileidentity.results.SmileIDResult
|
|
12
12
|
import com.smileidentity.util.randomUserId
|
|
13
|
-
import kotlinx.collections.immutable.toImmutableMap
|
|
14
13
|
|
|
15
14
|
class SmileIDSmartSelfieAuthenticationView(context: ReactApplicationContext) :
|
|
16
15
|
SmileIDView(context) {
|
|
@@ -26,7 +25,6 @@ class SmileIDSmartSelfieAuthenticationView(context: ReactApplicationContext) :
|
|
|
26
25
|
allowNewEnroll = allowNewEnroll ?: false,
|
|
27
26
|
showAttribution = showAttribution,
|
|
28
27
|
showInstructions = showInstructions,
|
|
29
|
-
skipApiSubmission = skipApiSubmission,
|
|
30
28
|
extraPartnerParams = extraPartnerParams,
|
|
31
29
|
) { res ->
|
|
32
30
|
when (res) {
|
package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieCaptureView.kt
CHANGED
|
@@ -175,35 +175,48 @@ class SmileIDSmartSelfieCaptureView(context: ReactApplicationContext) : SmileIDV
|
|
|
175
175
|
|
|
176
176
|
@Composable
|
|
177
177
|
private fun HandleProcessingState(viewModel: SelfieViewModel) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
.adapter(SmartSelfieCaptureResult::class.java)
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
178
|
+
try {
|
|
179
|
+
viewModel.onFinished { res ->
|
|
180
|
+
when (res) {
|
|
181
|
+
is SmileIDResult.Success -> {
|
|
182
|
+
res.data?.let { data ->
|
|
183
|
+
val result = SmartSelfieCaptureResult(
|
|
184
|
+
selfieFile = data.selfieFile,
|
|
185
|
+
livenessFiles = data.livenessFiles ?: emptyList()
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
try {
|
|
189
|
+
val newMoshi = SmileID.moshi
|
|
190
|
+
.newBuilder()
|
|
191
|
+
.add(SelfieCaptureResultAdapter.FACTORY)
|
|
192
|
+
.build()
|
|
193
|
+
|
|
194
|
+
newMoshi.adapter(SmartSelfieCaptureResult::class.java)
|
|
195
|
+
?.toJson(result)
|
|
196
|
+
?.let { js ->
|
|
197
|
+
emitSuccess(js)
|
|
198
|
+
} ?: run {
|
|
199
|
+
emitFailure(Exception("Failed to serialize result"))
|
|
200
|
+
}
|
|
201
|
+
} catch (e: Exception) {
|
|
202
|
+
emitFailure(e)
|
|
203
|
+
}
|
|
204
|
+
} ?: run {
|
|
205
|
+
emitFailure(Exception("No data available in success result"))
|
|
199
206
|
}
|
|
200
|
-
json?.let { js ->
|
|
201
|
-
emitSuccess(js)
|
|
202
207
|
}
|
|
203
|
-
}
|
|
204
208
|
|
|
205
|
-
|
|
209
|
+
is SmileIDResult.Error -> {
|
|
210
|
+
emitFailure(res.throwable ?: Exception("Unknown error occurred"))
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
else -> {
|
|
214
|
+
emitFailure(Exception("Unexpected result type"))
|
|
215
|
+
}
|
|
216
|
+
}
|
|
206
217
|
}
|
|
218
|
+
} catch (e: Exception) {
|
|
219
|
+
// emitFailure(e)
|
|
207
220
|
}
|
|
208
221
|
}
|
|
209
222
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
package com.smileidentity.react.views
|
|
2
|
+
|
|
3
|
+
import androidx.compose.runtime.CompositionLocalProvider
|
|
4
|
+
import androidx.compose.runtime.saveable.rememberSaveable
|
|
5
|
+
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
|
+
import com.smileidentity.SmileID
|
|
8
|
+
import com.smileidentity.compose.SmartSelfieEnrollmentEnhanced
|
|
9
|
+
import com.smileidentity.react.results.SmartSelfieCaptureResult
|
|
10
|
+
import com.smileidentity.react.utils.SelfieCaptureResultAdapter
|
|
11
|
+
import com.smileidentity.results.SmileIDResult
|
|
12
|
+
import com.smileidentity.util.randomUserId
|
|
13
|
+
import kotlinx.coroutines.CoroutineScope
|
|
14
|
+
import kotlinx.coroutines.Dispatchers
|
|
15
|
+
import kotlinx.coroutines.Job
|
|
16
|
+
import kotlinx.coroutines.launch
|
|
17
|
+
|
|
18
|
+
class SmileIDSmartSelfieEnrollmentEnhancedView(context: ReactApplicationContext) : SmileIDView(context) {
|
|
19
|
+
private val viewScope = CoroutineScope(Dispatchers.Main + Job())
|
|
20
|
+
override fun renderContent() {
|
|
21
|
+
composeView.apply {
|
|
22
|
+
setContent {
|
|
23
|
+
val customViewModelStoreOwner = CustomViewModelStoreOwner()
|
|
24
|
+
CompositionLocalProvider(LocalViewModelStoreOwner provides customViewModelStoreOwner) {
|
|
25
|
+
SmileID.SmartSelfieEnrollmentEnhanced(
|
|
26
|
+
userId = userId ?: rememberSaveable { randomUserId() },
|
|
27
|
+
allowNewEnroll = allowNewEnroll ?: false,
|
|
28
|
+
showAttribution = showAttribution,
|
|
29
|
+
showInstructions = showInstructions,
|
|
30
|
+
extraPartnerParams = extraPartnerParams,
|
|
31
|
+
) {res ->
|
|
32
|
+
viewScope.launch {
|
|
33
|
+
when (res) {
|
|
34
|
+
is SmileIDResult.Success -> {
|
|
35
|
+
val result =
|
|
36
|
+
SmartSelfieCaptureResult(
|
|
37
|
+
selfieFile = res.data.selfieFile,
|
|
38
|
+
livenessFiles = res.data.livenessFiles,
|
|
39
|
+
apiResponse = res.data.apiResponse,
|
|
40
|
+
)
|
|
41
|
+
val newMoshi =
|
|
42
|
+
SmileID.moshi
|
|
43
|
+
.newBuilder()
|
|
44
|
+
.add(SelfieCaptureResultAdapter.FACTORY)
|
|
45
|
+
.build()
|
|
46
|
+
val json =
|
|
47
|
+
try {
|
|
48
|
+
newMoshi
|
|
49
|
+
.adapter(SmartSelfieCaptureResult::class.java)
|
|
50
|
+
.toJson(result)
|
|
51
|
+
} catch (e: Exception) {
|
|
52
|
+
emitFailure(e)
|
|
53
|
+
return@launch
|
|
54
|
+
}
|
|
55
|
+
json?.let { js ->
|
|
56
|
+
emitSuccess(js)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
is SmileIDResult.Error -> emitFailure(res.throwable)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|