diff --git a/CHANGELOG.MD b/CHANGELOG.MD
index 643a0538..6c509b2d 100644
--- a/CHANGELOG.MD
+++ b/CHANGELOG.MD
@@ -9,6 +9,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
are responsible for testing your translated layout in case you are using custom
translations. [More on language localisation](README.md#4-localisation)
+## [13.0.0] - 2022-09-07
+
+### Added
+
+- Public: Add onfidoSecondaryButtonTextColor for secondary button title and border color customisation
+- UI: Face alignment additional feedback for accessibility
+- Public: Improve NFC instructions screen
+
+### Changed
+
+- Public: Allow enterprise features and mediacallback in orchesteratrion workflow builder
+- Public: Removed unused strings with translations
+
+### Fixed
+
+- UI: Fix submitting proof of address uploading issue
+- Public: Disable image quality validations before submission on the backside of Romanian National Identity Cards (fixing issues with blank backsides)
+
## [12.3.1] - 2022-08-18
### Fixed
@@ -25,6 +43,7 @@ translations. [More on language localisation](README.md#4-localisation)
### Changed
+- Public: Combined country and document type selection in one single screen (country first, document type second)
- Public: Updated supported documents (Zambia NIC added, Albania Residence Permits removed, others)
- Public: Introduced a new analytics event listener and deprecated the legacy UserEventHandler
- Public: Disabled some functionalities that require Google Play Service when Google Play Service is unavailable
diff --git a/MIGRATION.md b/MIGRATION.md
index 2aa04bfe..6dca3f0e 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -1,5 +1,71 @@
# Onfido Android SDK Migration Guide
+## `12.3.1` -> `13.0.0`
+
+### String Changes
+
+#### Added
+
+- `onfido_avc_face_alignment_feedback_move_left_accessibility`
+- `onfido_avc_face_alignment_feedback_move_right_accessibility`
+- `onfido_avc_face_alignment_feedback_move_up_accessibility`
+- `onfido_avc_face_alignment_feedback_move_down_accessibility`
+
+#### Removed
+
+- `onfido_permission_recovery_button_secondary_cam`
+- `onfido_permission_recovery_button_secondary_mic`
+- `onfido_permission_recovery_button_secondary_both`
+- `onfido_welcome_list_item_doc`
+- `onfido_permission_recovery_subtitle_video`
+- `onfido_permission_recovery_extra_instructions_cam`
+- `onfido_permission_recovery_extra_instructions_mic`
+- `onfido_permission_recovery_extra_instructions_both`
+- `onfido_permission_recovery_body_mic`
+- `onfido_permission_recovery_body_cam`
+- `onfido_permission_recovery_body_both`
+- `onfido_app_title_user_consent`
+- `onfido_country_select_error_no_country_body`
+- `onfido_welcome_list_item_video`
+- `onfido_doc_confirmation_body_visa`
+- `onfido_welcome_list_item_selfie`
+- `onfido_welcome_list_header_photo`
+- `onfido_welcome_list_header_record`
+- `onfido_welcome_list_header_doc_video`
+- `onfido_app_title_doc_video_confirmation`
+- `onfido_doc_capture_header_license_front_auto`
+- `onfido_doc_capture_header_visa_back`
+- `onfido_doc_capture_header_passport_auto`
+- `onfido_doc_capture_header_license_back_auto`
+- `onfido_doc_capture_frame_accessibility_pp_cover_manual`
+- `onfido_doc_capture_frame_accessibility_pp_manual`
+- `onfido_welcome_list_item_face_generic`
+- `onfido_doc_capture_alert_no_face_title`
+- `onfido_doc_capture_alert_no_face_detail`
+- `onfido_doc_capture_header_live_guidance_distance_ok`
+- `onfido_doc_capture_header_live_guidance_distance_ok_accessibility`
+- `onfido_nfc_intro_sheet_scanning_subtitle`
+- `onfido_avc_connection_error_button_primary_reload`
+- `onfido_doc_select_button_bill_detail`
+- `onfido_poa_country_not_found`
+- `onfido_doc_select_extra_no_mobile`
+- `onfido_label_doc_type_driving_license_short`
+- `onfido_label_doc_type_residence_permit_short`
+- `onfido_face_tracking_timeout_button_retry`
+- `onfido_allow`
+- `onfido_permission_subtitle_video`
+- `onfido_permission_body_video`
+- `onfido_accessibility_liveness_confirmation_view`
+- `onfido_nfc_sheet_ready_button_secondary`
+- `onfido_nfc_intro_sheet_header_scan_retry`
+- `onfido_nfc_sheet_scanning_instruction_retry`
+- `onfido_nfc_intro_sheet_header_fail_passport`
+- `onfido_nfc_intro_sheet_header_fail_card`
+- `onfido_nfc_intro_sheet_header_ready_card`
+- `onfido_nfc_intro_sheet_header_ready_passport`
+- `onfido_poa_document_submission_empty`
+- `onfido_flow_user_exit_message_user_cancelled`
+
## `12.2.3` -> `12.3.0`
### Added Strings
diff --git a/README.md b/README.md
index f4d15786..23364445 100755
--- a/README.md
+++ b/README.md
@@ -125,8 +125,8 @@ Average size (with Proguard enabled):
| ABI | Size |
| ----------- | :-----: |
-| armeabi-v7a | 6.79 Mb |
-| arm64-v8a | 7.67 Mb |
+| armeabi-v7a | 7.02 Mb |
+| arm64-v8a | 7.91 Mb |
#### 2.2 `onfido-capture-sdk-core`
@@ -146,7 +146,7 @@ Average size (with Proguard enabled):
| ABI | Size |
| ----------- | :-----: |
-| universal | 4.25 Mb |
+| universal | 4.49 Mb |
**Note**: The average sizes were measured by building the minimum possible wrappers around our SDK,
@@ -360,11 +360,11 @@ For more information about this step, and how to collect user consent, please vi
#### Document capture step
-In this step, a user can pick the type of document and its issuing country before capturing it with their phone camera.
+In this step, a user can select the issuing country and document type before taking the photo. This selection screen is optional, and will only be shown to the end user if a specific country and document type is not configured for the SDK. By default, the country will be pre-selected based on the end-user’s region settings on their device, but the end-user can select another country from the list.
-Document type selection and country selection are both optional screens. These screens will only show to the end user if specific options are not configured to the SDK.
+Country and document type selection are optional. This screen will only show to the end user if specific options are not configured to the SDK.
-You can configure the document step to capture single document types with specific properties using the `DocumentCaptureStepBuilder` class's functions for the corresponding document types.
+You can configure the document step to capture single document types with specific properties, as well as customize the screen to display only a limited list of document types using the `DocumentCaptureStepBuilder` class's functions for the corresponding document types.
| Document Type | Configuration function | Configurable Properties |
| ----------------------- | ----------------------- | ---------------------------- |
@@ -380,13 +380,13 @@ You can configure the document step to capture single document types with specif
- **Document type**
-The list of document types visible for the user to select can be shown or hidden using this option. If only one document type is specified, users will not see the document selection screen or country selection screen and will be taken directly to the capture screen.
+The list of document types visible for the user to select can be shown or hidden using this option. If only one document type is specified, users will not see the selection screen and will be taken directly to the capture screen. Please see a more detailed guide [here](https://documentation.onfido.com/sdk/android/#document-capture-step).
Each document type has its own configuration class.
##### Customizing the document type selection screen
-You can also customize the document type selection screen to display a specific list of documents for a user to select from. Use the configuration function to specify the document types to show on the document type selection screen.
+You can also customize the screen to display only a limited list of document types, using the configuration function to specify the ones you want to show.
⚠️ Currently you can only include PASSPORT, NATIONAL_IDENTITY_CARD, DRIVING_LICENCE, RESIDENCE_PERMIT in the list.
@@ -417,7 +417,7 @@ onfidoConfigBuilder.withAllowedDocumentTypes(documentTypes)
- **Document country**
-The configuration function allows you to specify the document's country of origin. If a document country is specified for a document type, the country selection screen is not displayed.
+The configuration function allows you to specify the document's country of origin. If a document country is specified for a document type, the selection screen is displayed with preselected country.
**Note**: You can specify country for all document types except `Passport`. This is because passports have the same format worldwide so the SDK does not require this additional information.
@@ -587,6 +587,8 @@ the color of the text on the secondary action buttons (e.g. retake picture/video
* `onfidoPrimaryButtonTextColor`: Defines the color of the text inside the primary action buttons
+* `onfidoSecondaryButtonTextColor`: Defines the color of the text inside and border color of secondary action buttons
+
**Widgets**
You can customize the appearance of some widgets in your `dimens.xml` file by overriding:
@@ -844,8 +846,8 @@ For a full list of events see [TRACKED_EVENTS.md](TRACKED_EVENTS.md).
| property | description |
| ---- | ----- |
-|`type` | **OnfidoAnalyticsEventType**
Indicates the type of event. Potential values (enum instances) are `FLOW`, `SCREEN`, `ACTION`, `ERROR`.|
-| `properties` | **Map**
Contains details of an event. For example, you can get the name of the visited screen using the `SCREEN_NAME` property. The current potential property keys are: `SCREEN_NAME`, `SCREEN_MODE`, `DOCUMENT_TYPE`, `COUNTRY_CODE`, `VIDEO_CHALLENGE_TYPE`, `IS_AUTOCAPTURE`.|
+|`type` | **OnfidoAnalyticsEventType**
Indicates the type of event. Potential values (enum instances) are `FLOW`, `SCREEN`, `ACTION`, `ERROR`.|
+| `properties` | **Map**
Contains details of an event. For example, you can get the name of the visited screen using the `SCREEN_NAME` property. The current potential property keys are: `SCREEN_NAME`, `SCREEN_MODE`, `DOCUMENT_TYPE`, `COUNTRY_CODE`, `VIDEO_CHALLENGE_TYPE`, `IS_AUTOCAPTURE`.|
### Properties
diff --git a/sample-app/app/build.gradle b/sample-app/app/build.gradle
index b4c53b2f..6941c320 100644
--- a/sample-app/app/build.gradle
+++ b/sample-app/app/build.gradle
@@ -1,14 +1,14 @@
apply plugin: 'com.android.application'
-def sdkVersion = '12.3.1'
-def versionCodeNumber = 1230
+def sdkVersion = '13.0.0-rc.1'
+def versionCodeNumber = 1300
android {
- compileSdkVersion 30
+ compileSdkVersion 31
defaultConfig {
applicationId "com.onfido.sampleapp"
minSdkVersion 21
- targetSdkVersion 29
+ targetSdkVersion 31
versionCode versionCodeNumber
versionName "$versionCode-sdk:$sdkVersion"
multiDexEnabled true
diff --git a/sample-app/app/src/main/AndroidManifest.xml b/sample-app/app/src/main/AndroidManifest.xml
index 286d383e..71222ede 100644
--- a/sample-app/app/src/main/AndroidManifest.xml
+++ b/sample-app/app/src/main/AndroidManifest.xml
@@ -14,7 +14,8 @@
+ android:theme="@style/AppTheme.NoActionBar"
+ android:exported="true">
@@ -22,4 +23,4 @@
-
\ No newline at end of file
+
diff --git a/screenshots.jpg b/screenshots.jpg
index 73852d9d..457ed5ba 100644
Binary files a/screenshots.jpg and b/screenshots.jpg differ
diff --git a/strings.xml b/strings.xml
index 689e8648..94508bb0 100644
--- a/strings.xml
+++ b/strings.xml
@@ -23,9 +23,6 @@
That\’s all we need to start verifying your identity
Continue
Record video
- Cancel
- Cancel
- Cancel
Loading
@@ -34,11 +31,9 @@
Passport
Visa
Driver’s license
- license
National Identity Card
Residence permit
Work permit
- permit
Photo page
@@ -51,7 +46,6 @@
Verify your identity
Verify your identity
It should take a few minutes
- your identity document
Take a selfie
Take a selfie
Select issuing country
@@ -62,7 +56,6 @@
We’ll compare this with your document
Keep your face within the oval
Retry
- Retry
There is no camera available in this device
Camera is unavailable. There might be another application using it at the same time.
Make sure your entire face is visible
@@ -121,31 +114,24 @@
Blurry photo detected
Barcode not detected
Stay in a well-lit spot and bring the card closer to the camera
- Allow
Enable in settings
Allow camera access
When prompted, you must enable camera access to continue
- Enable your camera to take a video
We cannot verify you without using your camera
- If you deny camera access, you won’t be able to take a video and complete the verification process
Enable camera
We can’t verify you without your camera
Go to app settings and enable camera access for this app
You can recover camera access through your device settings
Camera access denied
- Recover camera access to take a video and complete the verification process
- Go to your device settings to recover %1$s camera access
Allow microphone access
When prompted, you must enable microphone access to continue
Enable microphone
Microphone access denied
- Go to your device settings to recover %1$s microphone access
- Tap on “Permissions” to grant access to the microphone
We can’t verify you without using your microphone
You can recover microphone access through your device settings
Go to app settings and enable microphone access for this app
@@ -155,9 +141,6 @@
Allow camera and microphone access
When prompted, you must enable access for both to continue
Camera and microphone access denied
- Go to your device settings to recover %1$s camera and microphone access
- Tap on “Permissions” to grant access to the camera
- Tap on “Permissions” to grant access to the camera and microphone
Wrong side
Reload instructions
Connection timeout
@@ -174,7 +157,6 @@
View from camera
Photo of your face
Photo of your document
- Your video
Your video has been recorded
Preview of your recorded video
You should hear yourself saying: %1$s
@@ -198,7 +180,6 @@
If you do not accept Onfido’s privacy statements and terms of service, we will not be able to verify your identity and you will exit this step.
Yes, don’t verify me
Review again
- Verify your identity
We’ll turn on your device flash during the video recording
@@ -228,11 +209,8 @@
then face forward
Ready to scan
- Cancel
Cancel
Scanning...
- Retrying...
- Move your phone slightly
Keep your phone still
Scan successful
Turn on NFC
@@ -241,13 +219,11 @@
Open settings
Submit photo
- We’re working on adding more countries to the list. In the meantime, try using an alternative document.
Face forward and make sure your eyes are clearly visible
Submit photo
Submit photo
Submit photo
Make sure everything is clear
- a video of yourself
Make sure all of the document is in the photo
Retake photo
Retake photo
@@ -255,7 +231,6 @@
Take selfie
You have %1$d seconds to finish
- Make sure your details are clear and unobstructed
Submit photo
Submit photo
Submit photo
@@ -267,7 +242,6 @@
- your face
Remove your glasses, if necessary
Align document, then press button
It must be an official photo ID
@@ -283,25 +257,20 @@
Retake photo
Record a video
Choose another document
-
Turn your head left
Turn your head right
Keep your face within the oval to start recording
- Use your device to photograph:
- Use your device to photograph or record:
Verify your identity
Verify your identity
Verify your identity
Verify your identity
Verify your identity
Verify your identity
- Verify your identity
Choose document
Start
- Use your device to record:
Face detected. Recording has started.
Head turn detected
@@ -313,7 +282,6 @@
Position the outer pages of your document in the frame
Position the front of your document in the frame
- Position the front of your document in the frame
Position the back of your document in the frame
Position the front of your document in the frame
Position the back of your document in the frame
@@ -322,12 +290,9 @@
Position the front of your document in the frame
Position the back of your document in the frame
Position the visa page of your document in the frame
- Position the visa page of your document in the frame
Position the front of your document in the frame
Position the back of your document in the frame
Position the photo page of your document in the frame
- Position the photo page of your document in the frame
- Position the back of your document in the frame
View from camera. Position the photo page of your document in the frame. Your device will vibrate when the image is captured
View from camera. Position the front of your document in the frame, then tap the shutter button
View from camera. Position the back of your document in the frame, then tap the shutter button
@@ -345,9 +310,7 @@
View from camera. Position the outer pages of your document in the frame, then tap the shutter button
View from camera. Position the photo side of your document in the frame, then tap the shutter button
View from camera. Position the outer pages of your document in the frame, then tap the shutter button
- View from camera. Position the cover of your document in the frame, then tap the shutter button
Position the photo side of your document in the frame
- View from camera. Position your passport photo page within the frame, then tap the shutter button
Restart the recording
To clear this step, you must keep your face within view throughout the recording.
Restart
@@ -358,12 +321,8 @@
Scan your identity document
Take a photo of your face
Record a video of your face
- Scan your face
-
- Face not detected
- Make sure your face is visible
- Bottom three lines not visible
+ Bottom three lines not visible
Retry scanning
Retry scanning
@@ -379,18 +338,15 @@
Start scanning
Don’t move your phone or passport while scanning
You can also try the inside of the back page
- Lay your passport on a flat surface
- Place your phone near the top of your passport
- Remove your passport cover
+ Lay your passport on a flat surface
+ Place your phone over the passport
+ Remove your passport cover
+ Slowly slide your phone down
Scan your NFC card
Scan your ePassport
- We couldn’t scan your passport
- We couldn’t scan your NFC card
Place your phone on the card and keep it near the top of your phone
Follow these instructions
Start scanning
- Place your phone on the card
- Place your phone on your closed passport
We’ve successfully scanned your passport
We’ve successfully scanned your card
@@ -414,9 +370,7 @@
Document too close to camera
Document too far
Document too far away from camera
- Keep this distance
- Keep this distance from your document
- Move left
+ Move left
Move your device to the left
Move right
Move your device to the right
@@ -438,8 +392,7 @@
Hold still
Place your phone near the top of your passport
- Scanning...
- Place your phone on the card
+ Place your phone on the card
Keep your phone still
Lost contact with card
Lost contact with passport
@@ -455,9 +408,9 @@
Move closer
Move back
Face not detected
- Turn your head slowly to both sides
- Recording complete
- Sorry, we have to restart the recording
+ Turn your head slowly to both sides
+ Recording complete
+ Sorry, we have to restart the recording
You have up to 15 seconds to complete the recording
Retry
You turned your head too fast
@@ -474,24 +427,29 @@
Upload recording
Connection error
Check that your connection is stable, then try again
- Reload instructions
- Face not centered
- Retry upload
+ Face not centered
+ Retry upload
Restart recording
- Record a video of your face
- Example video of someone turning their head to both sides until completion
- View from selfie camera
- Left side complete
- Right side complete
- Turn your head slowly to both sides. When a side is completed you will hear a confirmation and feel a vibration
- Recording has started
- Position your face in front of your device
- Face not detected. Position your face in front of your device
- Face aligned
- Move your device closer
- Move your device back
+ Record a video of your face
+ Example video of someone turning their head to both sides until completion
+ Keep turning your head
+ Turn your head to the other side
+ View from selfie camera
+ Left side complete
+ Right side complete
+ Turn your head slowly to both sides. When a side is completed you will hear a confirmation and feel a vibration
+ Recording has started
+ Position your face in front of your device
+ Face not detected. Position your face in front of your device
+ Face aligned
+ Move your device closer
+ Move your device back
+ Move your device to the left
+ Move your device to the right
+ Move your device up
+ Move your device down
Start verification
@@ -507,8 +465,7 @@
Bank statement
e-statements accepted
Utility Bill
- Gas, electricity, water, landline, or broadband
- Council Tax Letter
+ Council Tax Letter
Benefits Letter
Government authorised household benefits eg. Jobseeker allowance, Housing benefit, Tax credits
Must have been issued in the <b>last 3 months</b>
@@ -532,12 +489,10 @@
Close
Front of address document
-
- Invalid File
+ Invalid File
Please choose a different file.
OK
- Sorry about that. We are working on supporting more countries.
- Take a photo of a document with your address
+ Take a photo of a document with your address
We’re working on adding more countries to the list.
Sorry, no mobile phone bills
Gas, electricity, water, landline, or broadband. Sorry, no mobile phone bills
@@ -549,4 +504,5 @@
Entire page
Photo page
Front and back
- Select issuing country
+ Select issuing country
+