> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.idenfy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android SDK Migration Guide

> Upgrade between iDenfy Android SDK versions with step-by-step instructions, breaking change notes, and migration details for each release.

This migration guide covers significant changes in the SDK API that might affect your integration.

<Tip>
  **No custom layouts?** If you have not overridden any SDK layouts or views, you typically only need to update the dependency version — no code changes required.
</Tip>

## \[8.x.x] -> \[9.0.0]

### New iDenfy Privacy Policy View

New privacy policy view is a required step for onboarding users. **idenfy\_fragment\_privacy\_policy\_v2.xml** was completely redone:

<img alt="New Privacy Policy" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/mobile/migrations/9.0.0/new_privacy_policy.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=8fec4f35d74a00101a518e7e1c2df4b9" data-path="images/mobile/migrations/9.0.0/new_privacy_policy.png" />

```xml theme={"system"}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true"
    android:background="@color/idenfyPrivacyPolicyViewBackgroundColor"
    android:clickable="true"
    android:focusable="true">

    <include
        android:id="@+id/include"
        layout="@layout/idenfy_partial_layout_common_appbarlayout_with_language_selection_v2" />

    <ScrollView
        android:id="@+id/idenfy_scrollview_bank_verification_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:overScrollMode="never"
        app:layout_constraintBottom_toTopOf="@+id/idenfy_button_privacy_policy_agree"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/idenfy_appbarlayout_common">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/idenfy_constraintlayout_bank_verification_viewholder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusableInTouchMode="true">

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_textview_common_information_title"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginTop="32dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:gravity="center"
                android:textAlignment="center"
                android:theme="@style/idenfyPrivacyPolicyViewTitleStyle"
                app:customfont="hkgrotesk_bold.ttf"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_textview_common_information_description"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="32dp"
                android:layout_marginTop="24dp"
                android:layout_marginEnd="32dp"
                android:gravity="center"
                android:text="@string/idenfy_privacy_policy_description_v2"
                android:textAlignment="center"
                android:theme="@style/idenfyPrivacyPolicyViewDescriptionStyle"
                app:customfont="hkgrotesk_regular.ttf"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/idenfy_textview_common_information_title" />

            <com.google.android.material.card.MaterialCardView
                android:id="@+id/idenfy_cardview_data_protection"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="12dp"
                android:layout_marginEnd="16dp"
                app:cardBackgroundColor="@color/idenfyPrivacyPolicyCardViewBackgroundColor"
                app:cardCornerRadius="4dp"
                app:cardElevation="0dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/idenfy_textview_common_information_description">

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="16dp">

                    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                        android:id="@+id/idenfy_tv_data_protection_title"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:text="@string/idenfy_privacy_policy_data_protection_title"
                        android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                        app:customfont="hkgrotesk_bold.ttf"
                        app:layout_constraintEnd_toStartOf="@id/idenfy_iv_data_protection_arrow"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                    <ImageView
                        android:id="@+id/idenfy_iv_data_protection_arrow"
                        android:layout_width="24dp"
                        android:layout_height="24dp"
                        android:src="@drawable/idenfy_ic_arrow_down"
                        app:tint="@color/idenfyPrivacyPolicyCardViewArrowIconTintColor"
                        app:layout_constraintBottom_toBottomOf="@id/idenfy_tv_data_protection_title"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toTopOf="@id/idenfy_tv_data_protection_title" />

                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:id="@+id/idenfy_constraint_layout_data_protection_content"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:visibility="gone"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toBottomOf="@id/idenfy_tv_data_protection_title">

                        <ImageView
                            android:id="@+id/idenfy_iv_secure_encryption_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_lock"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toTopOf="parent" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_secure_encryption_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_secure_encryption_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_secure_encryption_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_secure_encryption_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_secure_encryption_icon" />

                        <ImageView
                            android:id="@+id/idenfy_iv_limited_access_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_access"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toBottomOf="@id/idenfy_iv_secure_encryption_icon" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_limited_access_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_limited_access_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_limited_access_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_limited_access_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_limited_access_icon" />

                        <ImageView
                            android:id="@+id/idenfy_iv_never_sold_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_block_share"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toBottomOf="@id/idenfy_iv_limited_access_icon" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_never_sold_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_never_sold_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_never_sold_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_never_sold_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_never_sold_icon" />

                        <ImageView
                            android:id="@+id/idenfy_iv_used_for_verification_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_security"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toBottomOf="@id/idenfy_iv_never_sold_icon" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_used_for_verification_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_used_for_verification_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_used_for_verification_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_used_for_verification_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_used_for_verification_icon" />

                    </androidx.constraintlayout.widget.ConstraintLayout>

                </androidx.constraintlayout.widget.ConstraintLayout>

            </com.google.android.material.card.MaterialCardView>

            <com.google.android.material.card.MaterialCardView
                android:id="@+id/idenfy_cardview_process"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="24dp"
                android:layout_marginEnd="16dp"
                app:cardBackgroundColor="@color/idenfyPrivacyPolicyCardViewBackgroundColor"
                app:cardCornerRadius="4dp"
                app:cardElevation="0dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/idenfy_cardview_data_protection">

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="16dp">

                    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                        android:id="@+id/idenfy_tv_process_title"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:text="@string/idenfy_privacy_policy_process_title"
                        android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                        app:customfont="hkgrotesk_bold.ttf"
                        app:layout_constraintEnd_toStartOf="@id/idenfy_iv_process_arrow"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                    <ImageView
                        android:id="@+id/idenfy_iv_process_arrow"
                        android:layout_width="24dp"
                        android:layout_height="24dp"
                        android:src="@drawable/idenfy_ic_arrow_down"
                        app:layout_constraintBottom_toBottomOf="@id/idenfy_tv_process_title"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toTopOf="@id/idenfy_tv_process_title"
                        app:tint="@color/idenfyPrivacyPolicyCardViewArrowIconTintColor" />

                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:id="@+id/idenfy_constraint_layout_process_content"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:visibility="gone"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toBottomOf="@id/idenfy_tv_process_title">

                        <ImageView
                            android:id="@+id/idenfy_iv_identity_photo_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_photo_identity_step"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toTopOf="parent" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_identity_photo_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_identity_photo_step_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_identity_photo_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_identity_photo_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_identity_photo_icon" />

                        <ImageView
                            android:id="@+id/idenfy_iv_selfie_scan_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_selfie_check_step"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toBottomOf="@id/idenfy_iv_identity_photo_icon" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_selfie_scan_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_selfie_step_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_selfie_scan_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_selfie_scan_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_selfie_scan_icon" />

                        <ImageView
                            android:id="@+id/idenfy_iv_automated_verification_icon"
                            android:layout_width="22dp"
                            android:layout_height="22dp"
                            android:layout_marginTop="16dp"
                            android:src="@drawable/idenfy_ic_privacy_automated_verification_step"
                            app:tint="@color/idenfyPrivacyPolicyCardViewIconTintColor"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toBottomOf="@id/idenfy_iv_selfie_scan_icon" />

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_automated_verification_title"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:layout_marginTop="-8dp"
                            android:layout_marginBottom="-8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_automated_verification_step_title"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="@id/idenfy_iv_automated_verification_icon"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/idenfy_iv_automated_verification_icon"
                            app:layout_constraintTop_toTopOf="@id/idenfy_iv_automated_verification_icon" />

                    </androidx.constraintlayout.widget.ConstraintLayout>

                </androidx.constraintlayout.widget.ConstraintLayout>

            </com.google.android.material.card.MaterialCardView>

            <com.google.android.material.card.MaterialCardView
                android:id="@+id/idenfy_cardview_compliance"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="12dp"
                android:layout_marginEnd="16dp"
                app:cardBackgroundColor="@color/idenfyLightGrayColor"
                app:cardCornerRadius="4dp"
                app:cardElevation="0dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/idenfy_cardview_process">

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="16dp">

                    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                        android:id="@+id/idenfy_tv_compliance_title"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:text="@string/idenfy_privacy_policy_compliance_title"
                        android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                        app:customfont="hkgrotesk_bold.ttf"
                        app:layout_constraintEnd_toStartOf="@id/idenfy_iv_compliance_arrow"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                    <ImageView
                        android:id="@+id/idenfy_iv_compliance_arrow"
                        android:layout_width="24dp"
                        android:layout_height="24dp"
                        android:src="@drawable/idenfy_ic_arrow_down"
                        app:layout_constraintBottom_toBottomOf="@id/idenfy_tv_compliance_title"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toTopOf="@id/idenfy_tv_compliance_title"
                        app:tint="@color/idenfyPrivacyPolicyCardViewArrowIconTintColor" />

                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:id="@+id/idenfy_constraint_layout_compliance_content"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:visibility="gone"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toBottomOf="@id/idenfy_tv_compliance_title">

                        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                            android:id="@+id/idenfy_tv_compliance_description"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="16dp"
                            android:layout_marginEnd="8dp"
                            android:gravity="center_vertical"
                            android:text="@string/idenfy_privacy_policy_compliance_description"
                            android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                            app:customfont="hkgrotesk_regular.ttf"
                            app:layout_constraintBottom_toBottomOf="parent"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintTop_toTopOf="parent" />

                    </androidx.constraintlayout.widget.ConstraintLayout>
                </androidx.constraintlayout.widget.ConstraintLayout>
            </com.google.android.material.card.MaterialCardView>

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_tv_privacy_policy_description"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="16dp"
                android:layout_marginEnd="16dp"
                android:gravity="center"
                android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                app:customfont="hkgrotesk_regular.ttf"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/idenfy_cardview_compliance"
                app:layout_constraintVertical_bias="0.0"
                app:layout_goneMarginEnd="16dp" />

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_tv_privacy_policy_partner_description"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="16dp"
                android:layout_marginEnd="16dp"
                android:gravity="center"
                android:theme="@style/idenfyPrivacyPolicyViewCardViewTextStyle"
                app:customfont="hkgrotesk_regular.ttf"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/idenfy_tv_privacy_policy_description"
                app:layout_constraintVertical_bias="0.0"
                app:layout_goneMarginEnd="16dp" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </ScrollView>

    <com.idenfy.idenfySdk.uicomponents.IDenfyButton
        android:id="@+id/idenfy_button_privacy_policy_agree"
        android:layout_width="0dp"
        android:layout_height="42dp"
        android:layout_marginStart="32dp"
        android:layout_marginEnd="32dp"
        android:layout_marginBottom="32dp"
        android:background="@drawable/idenfy_ic_gradient_button_background"
        android:gravity="center"
        android:text="@string/idenfy_privacy_policy_agree_button_title_v2"
        android:theme="@style/idenfyPrivacyPolicyViewButtonStyle"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/idenfy_lottie_animation_loading"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_centerInParent="true"
        android:layout_marginStart="16dp"
        android:elevation="10dp"
        android:visibility="invisible"
        app:layout_constraintBottom_toBottomOf="@id/idenfy_button_privacy_policy_agree"
        app:layout_constraintStart_toStartOf="@+id/idenfy_button_privacy_policy_agree"
        app:layout_constraintTop_toTopOf="@id/idenfy_button_privacy_policy_agree"
        app:lottie_autoPlay="true"
        app:lottie_loop="true"
        app:lottie_rawRes="@raw/idenfy_custom_country_loader"
        app:lottie_colorFilter="@color/idenfyPrivacyPolicyContinueButtonLoadingSpinnerTintColor"/>

</androidx.constraintlayout.widget.ConstraintLayout>
```

A new color is used in this layout:

```xml theme={"system"}
    <color name="idenfyLightGrayColor">#F2F4F8</color>
```

### Country & Document Selection Steps Combined Into One View

A new Country & Document selection view was added, which combines the old two views into one. The new **idenfy\_fragment\_country\_and\_document\_selection\_fragment.xml** layout is added:

<img alt="New Country & Document selection" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/mobile/migrations/9.0.0/new_country_document_selection.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=d254d0394277fc775bad0b8fe5857c6d" data-path="images/mobile/migrations/9.0.0/new_country_document_selection.png" />

```xml theme={"system"}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/idenfyCountryAndDocumentSelectionViewBackgroundColor"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true">

    <include layout="@layout/idenfy_partial_layout_common_appbarlayout_with_language_selection_v2" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/idenfy_constraintlayout_common_information"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/idenfy_appbarlayout_common">

        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
            android:id="@+id/idenfy_textview_common_information_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="32dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:gravity="center"
            android:textAlignment="center"
            android:theme="@style/idenfyCountryAndDocumentSelectionViewTitleStyle"
            app:customfont="hkgrotesk_bold.ttf"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
            android:id="@+id/idenfy_textview_common_information_description"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="16dp"
            android:gravity="center"
            android:textAlignment="center"
            android:theme="@style/idenfyCountryAndDocumentSelectionViewDescriptionStyle"
            app:customfont="hkgrotesk_regular.ttf"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/idenfy_textview_common_information_title" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.core.widget.NestedScrollView
        android:id="@+id/idenfy_scrollview_country_and_document_selection_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:overScrollMode="never"
        app:layout_constraintBottom_toTopOf="@+id/idenfy_button_country_and_document_selection_continue"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/idenfy_constraintlayout_common_information">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/idenfy_constraintlayout_country_and_document_selection_viewholder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusableInTouchMode="true">

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_tv_pick_country"
                android:layout_width="0dp"
                android:layout_height="50dp"
                android:layout_marginStart="24dp"
                android:layout_marginTop="32dp"
                android:layout_marginEnd="24dp"
                android:background="@drawable/idenfy_custom_country_and_document_selection_item_selection_input_item_background"
                android:gravity="center|start"
                android:paddingStart="10dp"
                android:paddingEnd="20dp"
                android:theme="@style/idenfyCountryAndDocumentSelectionViewItemSelectionStyle"
                app:customfont="hkgrotesk_semibold.ttf"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <ImageView
                android:id="@+id/idenfy_iv_pick_country"
                android:layout_width="40dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:adjustViewBounds="true"
                android:background="@drawable/idenfy_flag_black_border"
                android:cropToPadding="true"
                android:scaleType="centerCrop"
                android:visibility="invisible"
                app:layout_constraintBottom_toBottomOf="@id/idenfy_tv_pick_country"
                app:layout_constraintStart_toStartOf="@id/idenfy_tv_pick_country"
                app:layout_constraintTop_toTopOf="@id/idenfy_tv_pick_country" />

            <ImageView
                android:id="@+id/idenfy_iv_pick_country2"
                android:layout_width="35dp"
                android:layout_height="25dp"
                android:layout_marginStart="16dp"
                android:adjustViewBounds="false"
                android:background="@drawable/idenfy_flag_black_border"
                android:cropToPadding="false"
                android:scaleType="centerCrop"
                android:visibility="invisible"
                app:layout_constraintBottom_toBottomOf="@id/idenfy_tv_pick_country"
                app:layout_constraintStart_toStartOf="@id/idenfy_tv_pick_country"
                app:layout_constraintTop_toTopOf="@id/idenfy_tv_pick_country" />

            <ImageView
                android:id="@+id/idenfy_iv_arrow"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginEnd="16dp"
                android:elevation="50dp"
                app:layout_constraintBottom_toBottomOf="@+id/idenfy_tv_pick_country"
                app:layout_constraintEnd_toEndOf="@+id/idenfy_tv_pick_country"
                app:layout_constraintTop_toTopOf="@+id/idenfy_tv_pick_country"
                app:srcCompat="@drawable/idenfy_ic_arrow_down"
                app:tint="@color/idenfyCountryAndDocumentSelectionViewItemSelectionTrailingIconTintColor" />

            <ImageView
                android:id="@+id/idenfy_iv_cancel"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginEnd="16dp"
                android:elevation="50dp"
                android:padding="4dp"
                android:visibility="invisible"
                app:layout_constraintBottom_toBottomOf="@+id/idenfy_tv_pick_country"
                app:layout_constraintEnd_toEndOf="@+id/idenfy_tv_pick_country"
                app:layout_constraintTop_toTopOf="@+id/idenfy_tv_pick_country"
                app:srcCompat="@drawable/idenfy_ic_language_selection_close_button"
                app:tint="@color/idenfyCountryAndDocumentSelectionViewItemSelectionTrailingIconTintColor" />

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/idenfy_constraintlayout_document_selection_viewholder"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                app:layout_constraintTop_toBottomOf="@+id/idenfy_tv_pick_country"
                android:focusableInTouchMode="true">

                <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                    android:id="@+id/idenfy_textview_verification_method_title"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:gravity="start"
                    android:theme="@style/idenfyCountryAndDocumentSelectionViewVerificationMethodTitleStyle"
                    app:customfont="hkgrotesk_bold.ttf"
                    android:layout_marginStart="24dp"
                    android:layout_marginEnd="24dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/idenfy_recyclerview_digital_ids"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="4dp"
                    android:layout_marginStart="16dp"
                    android:layout_marginEnd="16dp"
                    android:overScrollMode="never"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/idenfy_textview_verification_method_title" />

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/idenfy_constraintlayout_physical_document_title_container"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="4dp"
                    android:layout_marginStart="24dp"
                    android:layout_marginEnd="24dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/idenfy_recyclerview_digital_ids">

                    <View
                        android:id="@+id/idenfy_view_physical_document_line_left"
                        android:layout_width="0dp"
                        android:layout_height="1dp"
                        android:layout_marginTop="1dp"
                        android:alpha="0.2"
                        android:background="@color/idenfyCountryAndDocumentSelectionViewPhysicalDocumentTitleDividerColor"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toStartOf="@+id/idenfy_textview_physical_document_title"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                        android:id="@+id/idenfy_textview_physical_document_title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:paddingStart="12dp"
                        android:paddingEnd="12dp"
                        android:theme="@style/idenfyCountryAndDocumentSelectionViewPhysicalDocumentTitleStyle"
                        app:customfont="hkgrotesk_regular.ttf"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                    <View
                        android:id="@+id/idenfy_view_physical_document_line_right"
                        android:layout_width="0dp"
                        android:layout_height="1dp"
                        android:alpha="0.2"
                        android:layout_marginTop="1dp"
                        android:background="@color/idenfyCountryAndDocumentSelectionViewPhysicalDocumentTitleDividerColor"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toEndOf="@+id/idenfy_textview_physical_document_title"
                        app:layout_constraintTop_toTopOf="parent" />

                </androidx.constraintlayout.widget.ConstraintLayout>

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/idenfy_recyclerview_document_types"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="4dp"
                    android:layout_marginStart="16dp"
                    android:layout_marginEnd="16dp"
                    android:overScrollMode="never"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/idenfy_constraintlayout_physical_document_title_container" />

            </androidx.constraintlayout.widget.ConstraintLayout>
        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.core.widget.NestedScrollView>

    <com.idenfy.idenfySdk.uicomponents.IDenfyButton
        android:id="@+id/idenfy_button_country_and_document_selection_continue"
        android:layout_width="0dp"
        android:layout_height="42dp"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginEnd="32dp"
        android:layout_marginRight="32dp"
        android:layout_marginBottom="32dp"
        android:background="@color/idenfyCountryAndDocumentSelectionViewContinueButtonDisabledBackgroundColor"
        android:enabled="false"
        android:gravity="center"
        android:theme="@style/idenfyCountryAndDocumentSelectionViewContinueDisabledButtonStyle"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/idenfy_lottie_animation_loading"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_centerInParent="true"
        android:layout_marginStart="16dp"
        android:elevation="25dp"
        android:visibility="invisible"
        app:layout_constraintBottom_toBottomOf="@+id/idenfy_button_country_and_document_selection_continue"
        app:layout_constraintStart_toStartOf="@+id/idenfy_button_country_and_document_selection_continue"
        app:layout_constraintTop_toTopOf="@+id/idenfy_button_country_and_document_selection_continue"
        app:lottie_autoPlay="true"
        app:lottie_colorFilter="@color/idenfyCountryAndDocumentSelectionViewContinueButtonLoadingSpinnerTintColor"
        app:lottie_loop="true"
        app:lottie_rawRes="@raw/idenfy_custom_country_loader" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

New colors are used in this layout:

```xml theme={"system"}
    <color name="idenfyPurpleColor">#734BFB</color>
    <color name="idenfyPurpleTextColor">#452D97</color>
    <color name="idenfyPurpleBackgroundColor">#EFEBFF</color>
```

### Auto Country & Document Detection Feature

Along with this feature, a new card is presented in **idenfy\_fragment\_document\_camera\_preview\_session\_v2.xml** to show detected country and supported documents for it. An updated layout looks like this:

<img alt="New Country & Document selection" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/mobile/migrations/9.0.0/auto_country_document_detection.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=a658706fff5221010e8df048d4fc0ac3" data-path="images/mobile/migrations/9.0.0/auto_country_document_detection.png" />

```xml theme={"system"}
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/idenfy_camera_view_root_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true"
    android:clickable="true"
    android:focusable="true">

    <include layout="@layout/idenfy_partial_layout_camera_session_appbarlayout_v2" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/idenfyDocumentCameraPreviewSessionBackgroundColor"
        android:clickable="true"
        android:focusable="true"
        android:padding="0dp">

        <include layout="@layout/idenfy_partial_layout_document_camera_session_camerax_preview" />

        <RelativeLayout
            android:id="@+id/idenfy_relativelayout_document_camera_preview_session_customviewholder"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.idenfy.idenfySdk.idenfycore.ui.customviews.CustomViewHolder
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </RelativeLayout>

        <View
            android:id="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:background="@color/idenfyDocumentCameraPreviewSessionBottomActionButtonsViewBackgroundColor"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/idenfy_guideline_camera_preview_session_horizontal_085" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/idenfy_fab_camera_preview_session_take_photo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:tint="@color/idenfyDocumentCameraPreviewSessionTakePhotoButtonUnFocusedTintColor"
            app:backgroundTint="@color/idenfyDocumentCameraPreviewSessionTakePhotoButtonUnFocusedBackgroundColor"
            app:fabCustomSize="52dp"
            app:layout_constraintBottom_toBottomOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintTop_toTopOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons" />

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/idenfy_imageview_camera_preview_session_take_photo_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:elevation="16dp"
            app:layout_constraintBottom_toBottomOf="@+id/idenfy_fab_camera_preview_session_take_photo"
            app:layout_constraintEnd_toEndOf="@+id/idenfy_fab_camera_preview_session_take_photo"
            app:layout_constraintStart_toStartOf="@+id/idenfy_fab_camera_preview_session_take_photo"
            app:layout_constraintTop_toTopOf="@+id/idenfy_fab_camera_preview_session_take_photo"
            app:srcCompat="@drawable/idenfy_custom_drawable_camera_preview_session_take_photo_icon_v2"
            tools:targetApi="lollipop" />

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/idenfy_imageview_camera_preview_session_upload_photo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingStart="10dp"
            android:paddingLeft="10dp"
            android:paddingTop="10dp"
            android:paddingEnd="10dp"
            android:paddingRight="10dp"
            android:paddingBottom="10dp"
            app:layout_constraintBottom_toBottomOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintEnd_toStartOf="@+id/idenfy_fab_camera_preview_session_take_photo"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/idenfy_guideline_camera_preview_session_horizontal_085"
            app:srcCompat="@drawable/idenfy_custom_drawable_camera_preview_session_upload_photo_icon_v2" />

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/idenfy_imageview_camera_preview_switch_lens"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingStart="10dp"
            android:paddingLeft="10dp"
            android:paddingTop="10dp"
            android:paddingEnd="10dp"
            android:paddingRight="10dp"
            android:paddingBottom="10dp"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintEnd_toEndOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintStart_toEndOf="@id/idenfy_fab_camera_preview_session_take_photo"
            app:layout_constraintTop_toTopOf="@+id/idenfy_guideline_camera_preview_session_horizontal_085"
            app:layout_constraintVertical_bias="0.53"
            app:srcCompat="@drawable/idenfy_ic_camera_preview_switch_lens" />

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/idenfy_imageview_camera_preview_session_placeholder_for_cropping"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_centerInParent="true"
            android:scaleType="fitXY"
            android:visibility="visible"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/idenfy_ic_camera_rectangle_v2" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/idenfy_guideline_camera_preview_session_horizontal_085"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.85" />

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/idenfy_document_camera_accepted_documents_alert"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="50dp"
            android:layout_gravity="center_vertical"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginBottom="16dp"
            android:visibility="gone"
            android:alpha="0.7"
            android:background="@color/idenfyLightGrayColor"
            app:layout_constraintBottom_toTopOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent">

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_textview_accepted_documents_title"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:layout_marginBottom="8dp"
                android:layout_marginStart="16dp"
                android:layout_marginEnd="24dp"
                android:theme="@style/idenfyDocumentCameraAcceptedDocumentsAlertTitleStyle"
                app:customfont="hkgrotesk_regular.ttf"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </androidx.constraintlayout.widget.ConstraintLayout>

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/idenfy_document_camera_warning_alert"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_gravity="center_vertical"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginBottom="16dp"
            android:alpha="0.7"
            android:visibility="invisible"
            android:background="@color/idenfyWarningLightYellowV2"
            app:layout_constraintBottom_toTopOf="@+id/idenfy_document_camera_accepted_documents_alert"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent">

            <ImageView
                android:id="@+id/idenfy_iv_document_camera_warning"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginStart="16dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/idenfy_ic_warning_alert" />

            <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
                android:id="@+id/idenfy_textview_idenfy_iv_document_camera_warning_title"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginEnd="24dp"
                android:theme="@style/idenfyDocumentCameraWarningAlertTitleStyle"
                app:customfont="hkgrotesk_regular.ttf"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/idenfy_iv_document_camera_warning"
                app:layout_constraintTop_toTopOf="parent" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>

    <include layout="@layout/idenfy_partial_layout_document_camera_session_instructions_topsheet_root_v2" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
```

### Updated UI for iDenfy Splash Screen

Both **idenfy\_fragment\_splash\_screen\_v2.xml** and **idenfy\_fragment\_face\_authentication\_splash\_screen\_v2.xml** were redone, we use simple white and black colors without complicated iDenfy gradients:

<img alt="New Splash Screen" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/mobile/migrations/9.0.0/new_splash_screen.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=a8eac802f4a3b5c3285ec81a27162cf0" data-path="images/mobile/migrations/9.0.0/new_splash_screen.png" />

```xml theme={"system"}
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/idenfyBackgroundColorV2">

    <ImageView
        android:id="@+id/idenfy_imageview_splash_screen_icon"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_marginBottom="12dp"
        app:layout_constraintBottom_toTopOf="@+id/idenfy_tv_splash_screen_title"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:srcCompat="@drawable/idenfy_ic_splash_screen_icon_drawable_v2" />

    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/idenfy_lottieanimationview_splash_screen"
        android:layout_width="53dp"
        android:layout_height="53dp"
        android:layout_centerInParent="true"
        android:layout_marginTop="40dp"
        android:scaleType="centerCrop"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/idenfy_tv_splash_screen_title"
        app:lottie_autoPlay="true"
        app:lottie_colorFilter="@color/idenfySplashScreenViewLoadingSpinnerTintColor"
        app:lottie_loop="true"
        app:lottie_rawRes="@raw/idenfy_custom_file_loader" />

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_tv_splash_screen_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:gravity="center"
        android:text="@string/idenfy_splash_screen_title_v2"
        android:textAlignment="center"
        android:theme="@style/idenfySplashScreenTitleTextStyle"
        android:visibility="visible"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
            android:id="@+id/idenfy_tv_splash_screen_powered_by_idenfy_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/idenfy_splash_screen_description_v2"
            android:textAlignment="center"
            android:theme="@style/idenfySplashScreenDescriptionTextStyle"
            android:visibility="visible"
            app:customfont="hkgrotesk_semibold.ttf"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/idenfy_iv_powered_by_idenfy"
            app:layout_constraintHorizontal_chainStyle="packed"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <ImageView
            android:id="@+id/idenfy_iv_powered_by_idenfy"
            android:layout_width="35dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            app:layout_constraintBottom_toBottomOf="@+id/idenfy_tv_splash_screen_powered_by_idenfy_description"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/idenfy_tv_splash_screen_powered_by_idenfy_description"
            app:layout_constraintTop_toTopOf="@+id/idenfy_tv_splash_screen_powered_by_idenfy_description"
            app:srcCompat="@drawable/idenfy_ic_powered_by_idenfy_v2" />
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
```

A new color is used in this layout:

```xml theme={"system"}
    <color name="idenfyBlackV2">#19181D</color>
```

## \[8.7.4] to \[8.7.5]

### Android Default Alert Dialogs Replaced with New XML Layout

A new **idenfy\_dialog\_generic\_alert.xml** layout was added that replaces the default Android alert dialogs:

```xml theme={"system"}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/idenfyDefaultAlertDialogBackgroundColor"
    android:paddingTop="24dp"
    android:paddingStart="24dp"
    android:paddingEnd="16dp"
    android:paddingBottom="24dp">

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_textview_dialog_generic_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="@color/idenfyDefaultAlertDialogTitleColor"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_textview_dialog_generic_message"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:textSize="16sp"
        android:textColor="@color/idenfyDefaultAlertDialogMessageColor"
        app:customfont="hkgrotesk_regular.ttf"
        app:layout_constraintTop_toBottomOf="@id/idenfy_textview_dialog_generic_title"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_button_dialog_generic_negative"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="8dp"
        android:paddingStart="16dp"
        android:paddingEnd="16dp"
        android:textSize="14sp"
        android:textAllCaps="true"
        android:textColor="@color/idenfyDefaultAlertDialogNegativeButtonColor"
        android:clickable="true"
        android:focusable="true"
        android:visibility="gone"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintTop_toBottomOf="@id/idenfy_textview_dialog_generic_message"
        app:layout_constraintEnd_toStartOf="@id/idenfy_button_dialog_generic_positive" />

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_button_dialog_generic_positive"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:paddingStart="16dp"
        android:paddingEnd="16dp"
        android:textSize="14sp"
        android:textAllCaps="true"
        android:textColor="@color/idenfyDefaultAlertDialogPositiveButtonColor"
        android:clickable="true"
        android:focusable="true"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintTop_toBottomOf="@id/idenfy_textview_dialog_generic_message"
        app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
```

## \[8.6.2] to \[8.6.3]

### Updated Face Capture Oval Design

<img alt="Face Oval V2" width="200" src="https://mintcdn.com/idenfy/K_tRuchpbv9NvRL_/images/mobile/migrations/8.6.3/face_oval_v2.png?fit=max&auto=format&n=K_tRuchpbv9NvRL_&q=85&s=57e6c7ae6d2088067f7b5972fb00fff4" data-path="images/mobile/migrations/8.6.3/face_oval_v2.png" />

<Note>
  Follow this migration guide point if you have overridden **idenfy\_fragment\_face\_camera\_preview\_session\_v2.xml**.
</Note>

A new **idenfy\_imageview\_face\_camera\_preview\_session\_oval\_face\_v2** oval ImageView was added, which replaces **idenfy\_imageview\_face\_camera\_preview\_session\_oval\_face** in **idenfy\_fragment\_face\_camera\_preview\_session\_v2.xml**:

```xml theme={"system"}
        <ImageView
            android:id="@+id/idenfy_imageview_face_camera_preview_session_oval_face_v2"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:foregroundGravity="center"
            app:layout_constraintBottom_toTopOf="@+id/idenfy_guideline_camera_preview_session_horizontal_085"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/idenfy_guideline_face_camera_preview_session_horizontal_150" />
```

The `idenfy_imageview_face_camera_preview_session_oval_face` is still available but deprecated and will be removed in the future.

## \[8.5.x] to \[8.6.0]

### Added Realtime Blur Glare Detection in Document Capture

<Note>
  Follow this migration guide point if you have overridden **idenfy\_fragment\_document\_camera\_preview\_session\_v2.xml**.
</Note>

With the latest realtime blur glare detection feature, a warning alert card was added to **idenfy\_fragment\_document\_camera\_preview\_session\_v2.xml**:

```xml theme={"system"}
        <androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/idenfy_document_camera_warning_alert"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_gravity="center_vertical"
    android:layout_marginStart="16dp"
    android:layout_marginEnd="16dp"
    android:layout_marginBottom="16dp"
    android:alpha="0.7"
    android:visibility="invisible"
    android:background="@color/idenfyWarningLightYellowV2"
    app:layout_constraintBottom_toTopOf="@+id/idenfy_view_camera_preview_session_bottom_action_buttons"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent">

    <ImageView
        android:id="@+id/idenfy_iv_document_camera_warning"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/idenfy_ic_warning_alert" />

    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_textview_idenfy_iv_document_camera_warning_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginEnd="24dp"
        android:theme="@style/idenfyDocumentCameraWarningAlertTitleStyle"
        app:customfont="hkgrotesk_regular.ttf"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/idenfy_iv_document_camera_warning"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

## \[8.5.x] to \[8.5.2]

### KYC Questionnaire FILE and IMAGE Questions Merged

`idenfy_item_questionnaire_type_image_input_v2.xml` has been removed.

## \[8.4.x] to \[8.5.0]

### Added Face Detection Progress View to the Camera Drawer

<Note>
  Follow this migration guide point if you have overridden **idenfy\_partial\_layout\_face\_camera\_preview\_session\_instructions\_topsheet\_root\_v2.xml**.
</Note>

With the latest face authentication auto capture feature, a progress bar was added to **idenfy\_partial\_layout\_face\_camera\_preview\_session\_instructions\_topsheet\_root\_v2.xml**:

```xml theme={"system"}
    <ProgressBar
    android:id="@+id/idenfy_progress_bar_face_detection"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="0dp"
    android:layout_height="4dp"
    android:max="100"
    android:progress="0"
    android:visibility="gone"
    android:theme="@style/idenfyFaceCameraPreviewFaceDetectionProgressBarStyle"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"/>
```

Along with the style:

```xml theme={"system"}
    <style name="idenfyFaceCameraPreviewFaceDetectionProgressBarStyle" parent="android:Widget.ProgressBar.Horizontal">
        <item name="colorAccent">@color/idenfyFaceCameraPreviewSessionFaceOvalLoadingColor
        </item>
    </style>
```

## \[8.3.x] to \[8.4.0]

### Removed Dynamic OnBoarding View

`.withConfirmationView(IdenfyOnBoardingViewTypeEnum.MULTIPLE_DYNAMIC)` option is no longer available in **IdenfyUISettingsV2**.

<Note>
  Follow this migration guide point if you have implemented custom views of **idenfy\_fragment\_onboarding\_v2.xml** or **idenfy\_fragment\_face\_authentication\_initial\_view\_v2**.
</Note>

The **idenfy\_fragment\_onboarding\_v2.xml** and **idenfy\_fragment\_face\_authentication\_initial\_view\_v2.xml** layouts have changed and no longer have **idenfy\_cardview\_instructions\_description**, **idenfy\_constraint\_layout\_instructions\_description**, **idenfy\_iv\_instructions\_description**, **idenfy\_textview\_instructions\_description** views. You can safely remove them from your layouts.

Also, **idenfy\_colors\_camera\_dynamic\_onboarding\_view\.xml** has been removed. Only **idenfyCameraOnBoardingViewBackgroundColor**, **idenfyCameraOnBoardingViewLoadingSpinnerColor**, **idenfyCameraDynamicOnBoardingViewProgressBarBackgroundColor** and **idenfyCameraDynamicOnBoardingViewProgressBarForegroundColor** have been moved to **idenfy\_colors\_camera\_static\_onboarding\_view\.xml**.

## \[8.2.x] to \[8.3.0]

### Removed Instructions Drawer Option from Camera View

The instructions drawer has been removed. The top drawer will remain static as if instructions were disabled, and will only hold camera descriptions and the app bar.

`.withInstructions(IdenfyInstructionsType.DRAWER)` option is no longer available in **IdenfyUIBuilderV2**.

<Note>
  Follow this migration guide point if you have overridden **idenfy\_partial\_layout\_face\_camera\_preview\_session\_instructions\_topsheet\_root\_v2.xml** or **idenfy\_partial\_layout\_document\_camera\_session\_instructions\_topsheet\_root\_v2.xml**.
</Note>

The **idenfy\_partial\_layout\_face\_camera\_preview\_session\_instructions\_topsheet\_root\_v2.xml** and **idenfy\_partial\_layout\_document\_camera\_session\_instructions\_topsheet\_root\_v2.xml** layouts have changed and will no longer hold instructions UI.

The layout height is static and is set to **@dimen/idenfy\_dimen\_document\_and\_face\_camera\_session\_view\_drawer\_height**:

```xml theme={"system"}
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/idenfy_constraintlayout_camera_session_instructions_top_sheet_layout_root"
    android:layout_width="match_parent"
    android:layout_height="@dimen/idenfy_dimen_document_and_face_camera_session_view_drawer_height"
    android:background="@drawable/idenfy_custom_drawable_instructions_background_without_rounded_corners"
    android:fillViewport="true"
    android:orientation="vertical">
```

Many views have been removed from these layouts, and constraints for **idenfy\_textview\_camera\_session\_instructions\_information\_title** have changed:

```xml theme={"system"}
    <com.idenfy.idenfySdk.uicomponents.IDenfyTextView
        android:id="@+id/idenfy_textview_camera_session_instructions_information_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="16dp"
        android:gravity="center"
        android:textAlignment="center"
        android:theme="@style/idenfyDocumentCameraPreviewTitleStyle"
        app:customfont="hkgrotesk_bold.ttf"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/idenfy_guideline_instructions_camera_session_max_collapsed_drawer_height" />
```

Also, **idenfy\_partial\_layout\_camera\_session\_instructions\_topsheet\_v2.xml** and **idenfy\_partial\_layout\_camera\_session\_instructions\_video\_view\_container\_v2.xml** have been removed.

You can check the new layouts [here](https://github.com/idenfy/iDenfyResources/blob/main/sdk/android/layouts/layouts.zip).

All colors and styles related to the instructions drawer have been removed. See the updated [colors](https://github.com/idenfy/iDenfyResources/tree/main/sdk/android/colors) and [styles](https://github.com/idenfy/iDenfyResources/blob/main/sdk/android/styles/styles.zip).
