Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2407b403 authored by Joshua McCloskey's avatar Joshua McCloskey
Browse files

Basic structure for fingerprint enrollment.

Bug: N/A
Test: Enroll introduction screen works as expected
Test: User is prompted with pin/pattern/pass if the token is not
present.

Change-Id: I32a182b09c3bcd9be43428c500bfae7b39a74e63
parent 76237177
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -106,7 +106,9 @@ android_library {
        "SystemUIUnfoldLib",
    ],

    plugins: ["androidx.room_room-compiler-plugin"],
    plugins: [
        "androidx.room_room-compiler-plugin",
    ],

    libs: [
        "telephony-common",
+10 −0
Original line number Diff line number Diff line
@@ -2566,6 +2566,16 @@
            </intent-filter>
        </activity>

        <activity android:name=".biometrics.fingerprint2.enrollment.ui.activity.FingerprintEnrollmentV2Activity"
            android:exported="true"
            android:permission="android.permission.MANAGE_FINGERPRINT"
            android:theme="@style/GlifTheme.Light">
            <intent-filter>
                <action android:name="android.settings.FINGERPRINT_SETUP" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name=".biometrics.fingerprint.FingerprintSuggestionActivity"
            android:exported="true"
            android:permission="android.permission.MANAGE_FINGERPRINT"
+44 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:clipToPadding="false"
    android:clipChildren="false">

    <Space
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <include
        layout="@layout/fingerprint_enroll_find_sensor_graphic"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"/>

</LinearLayout>
</com.google.android.setupdesign.GlifLayout>
 No newline at end of file
+214 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="?attr/fingerprint_layout_theme"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    style="@style/SudContentFrame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:orientation="vertical">

    <com.google.android.setupdesign.view.RichTextView
        android:id="@+id/error_text"
        style="@style/SudDescription.Glif"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            style="@style/SudContentIllustration"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@null"
            android:src="@drawable/fingerprint_enroll_introduction" />

    </FrameLayout>

    <!-- Contains the extra information text at the bottom -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <!-- How it works -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/BiometricEnrollIntroTitle"
            android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_title_2" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_fingerprint"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_fingerprint_24dp"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_message_2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_device_locked"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_lock_24dp"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_message_3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage" />
        </LinearLayout>

        <!-- You're in control -->
        <TextView
            android:id="@+id/footer_title_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/BiometricEnrollIntroTitle" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_trash_can"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_trash_can"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_message_4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage" />
        </LinearLayout>

        <!-- Keep in mind -->
        <TextView
            android:id="@+id/footer_title_2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/BiometricEnrollIntroTitle"
            android:text="@string/security_settings_face_enroll_introduction_info_title"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_info"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_info_outline_24dp"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_message_5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_shield"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_guarantee"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_message_6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/icon_link"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@null"
                android:src="@drawable/ic_link_24dp"/>
            <Space
                android:layout_width="16dp"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/footer_learn_more"
                android:linksClickable="true"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/BiometricEnrollIntroMessage"
                android:paddingBottom="0dp"
                android:text="@string/security_settings_fingerprint_v2_enroll_introduction_message_learn_more" />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

</com.google.android.setupdesign.GlifLayout>
 No newline at end of file
+29 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <androidx.fragment.app.FragmentContainerView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/fragment_container_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
    />

</FrameLayout>
 No newline at end of file
Loading