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

Commit 61ed776f authored by Hao Dong's avatar Hao Dong Committed by Android (Google) Code Review
Browse files

Merge "Use one-pane and two-pane layout instead of depending on orientation." into main

parents dc390212 c44a5e78
Loading
Loading
Loading
Loading
+0 −237
Original line number Diff line number Diff line
<?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"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    android:id="@+id/biometric_prompt_constraint_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/background"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:contentDescription="@string/biometric_dialog_empty_space_description"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <View
        android:id="@+id/panel"
        style="@style/AuthCredentialPanelStyle"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/rightGuideline"
        app:layout_constraintStart_toStartOf="@+id/leftGuideline"
        app:layout_constraintTop_toTopOf="@+id/topBarrier"
        app:layout_constraintWidth_max="640dp" />

    <include
        android:id="@+id/button_bar"
        layout="@layout/biometric_prompt_button_bar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="@id/bottomGuideline"
        app:layout_constraintEnd_toEndOf="@id/panel"
        app:layout_constraintStart_toStartOf="@id/panel" />

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:fadeScrollbars="false"
        android:fillViewport="true"
        android:paddingBottom="32dp"
        android:paddingHorizontal="32dp"
        android:paddingTop="24dp"
        app:layout_constrainedHeight="true"
        app:layout_constrainedWidth="true"
        app:layout_constraintBottom_toTopOf="@+id/scrollBarrier"
        app:layout_constraintEnd_toEndOf="@id/panel"
        app:layout_constraintStart_toStartOf="@id/panel"
        app:layout_constraintTop_toTopOf="@+id/topGuideline"
        app:layout_constraintVertical_bias="1.0">

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

            <ImageView
                android:id="@+id/logo"
                android:layout_width="@dimen/biometric_prompt_logo_size"
                android:layout_height="@dimen/biometric_prompt_logo_size"
                android:layout_gravity="center"
                android:contentDescription="@string/biometric_dialog_logo"
                android:scaleType="fitXY"
                android:visibility="visible"
                app:layout_constraintBottom_toTopOf="@+id/logo_description"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/logo_description"
                style="@style/TextAppearance.AuthCredential.LogoDescription"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="16dp"
                app:layout_constraintBottom_toTopOf="@+id/title"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/logo" />

            <TextView
                android:id="@+id/title"
                style="@style/TextAppearance.AuthCredential.Title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="@integer/biometric_dialog_text_gravity"
                android:paddingTop="16dp"
                app:layout_constraintBottom_toTopOf="@+id/subtitle"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/logo_description" />

            <TextView
                android:id="@+id/subtitle"
                style="@style/TextAppearance.AuthCredential.Subtitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="@integer/biometric_dialog_text_gravity"
                android:paddingTop="16dp"
                app:layout_constraintBottom_toTopOf="@+id/contentBarrier"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/title" />

            <LinearLayout
                android:id="@+id/customized_view_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:orientation="vertical"
                android:paddingTop="24dp"
                android:visibility="gone"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/subtitle" />

            <TextView
                android:id="@+id/description"
                style="@style/TextAppearance.AuthCredential.Description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="@integer/biometric_dialog_text_gravity"
                android:paddingTop="16dp"
                android:textAlignment="viewStart"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/subtitle" />

            <androidx.constraintlayout.widget.Barrier
                android:id="@+id/contentBarrier"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:barrierAllowsGoneWidgets="false"
                app:barrierDirection="top"
                app:constraint_referenced_ids="description, customized_view_container" />

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

    <!-- Cancel Button, replaces negative button when biometric is accepted -->
    <TextView
        android:id="@+id/indicator"
        style="@style/TextAppearance.AuthCredential.Indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:accessibilityLiveRegion="assertive"
        android:fadingEdge="horizontal"
        android:gravity="center_horizontal"
        android:scrollHorizontally="true"
        app:layout_constraintBottom_toTopOf="@+id/button_bar"
        app:layout_constraintEnd_toEndOf="@+id/panel"
        app:layout_constraintStart_toStartOf="@+id/panel"
        app:layout_constraintTop_toBottomOf="@+id/biometric_icon"
        app:layout_constraintVertical_bias="0.0" />

    <!-- "Use Credential" Button, replaces if device credential is allowed -->

    <!-- Positive Button -->
    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/topBarrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierAllowsGoneWidgets="false"
        app:barrierDirection="top"
        app:constraint_referenced_ids="scrollView" />

    <!-- Try Again Button -->
    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/scrollBarrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierAllowsGoneWidgets="false"
        app:barrierDirection="top"
        app:constraint_referenced_ids="biometric_icon, button_bar" />

    <!-- Guidelines for setting panel border -->
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/leftGuideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="@dimen/biometric_dialog_border_padding" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/rightGuideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_end="@dimen/biometric_dialog_border_padding" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/bottomGuideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_end="40dp" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/topGuideline"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="56dp" />

    <com.android.systemui.biometrics.BiometricPromptLottieViewWrapper
        android:id="@+id/biometric_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1.0"
        tools:srcCompat="@tools:sample/avatars" />

    <com.android.systemui.biometrics.BiometricPromptLottieViewWrapper
        android:id="@+id/biometric_icon_overlay"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_gravity="center"
        android:contentDescription="@null"
        android:scaleType="fitXY"
        android:importantForAccessibility="no"
        app:layout_constraintBottom_toBottomOf="@+id/biometric_icon"
        app:layout_constraintEnd_toEndOf="@+id/biometric_icon"
        app:layout_constraintStart_toStartOf="@+id/biometric_icon"
        app:layout_constraintTop_toTopOf="@+id/biometric_icon" />

</androidx.constraintlayout.widget.ConstraintLayout>
+10 −8
Original line number Diff line number Diff line
@@ -22,9 +22,11 @@
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@id/rightGuideline"
        app:layout_constraintEnd_toStartOf="@id/rightGuideline"
        app:layout_constraintStart_toStartOf="@id/leftGuideline"
        app:layout_constraintTop_toTopOf="@id/topBarrier" />
        app:layout_constraintTop_toTopOf="@id/topBarrier"
        app:layout_constraintWidth_max="@dimen/biometric_prompt_panel_max_width" />


    <include
        android:id="@+id/button_bar"
@@ -41,8 +43,8 @@
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:fadeScrollbars="false"
        android:paddingBottom="24dp"
        android:paddingHorizontal="24dp"
        android:paddingBottom="@dimen/biometric_prompt_top_scroll_view_bottom_padding"
        android:paddingHorizontal="@dimen/biometric_prompt_top_scroll_view_horizontal_padding"
        android:paddingTop="24dp"
        app:layout_constrainedHeight="true"
        app:layout_constrainedWidth="true"
@@ -76,7 +78,7 @@
                style="@style/TextAppearance.AuthCredential.LogoDescription"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="8dp"
                android:paddingTop="@dimen/biometric_prompt_logo_description_top_padding"
                app:layout_constraintBottom_toTopOf="@+id/title"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
@@ -180,14 +182,14 @@
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="0dp" />
        app:layout_constraintGuide_begin="@dimen/biometric_prompt_one_pane_medium_horizontal_guideline_padding" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/rightGuideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_end="0dp" />
        app:layout_constraintGuide_end="@dimen/biometric_prompt_one_pane_medium_horizontal_guideline_padding" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/bottomGuideline"
@@ -201,7 +203,7 @@
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="119dp" />
        app:layout_constraintGuide_begin="@dimen/biometric_prompt_one_pane_medium_top_guideline_padding" />

    <com.android.systemui.biometrics.BiometricPromptLottieViewWrapper
        android:id="@+id/biometric_icon"
+11 −0
Original line number Diff line number Diff line
@@ -102,6 +102,17 @@
    <dimen name="lockscreen_shade_status_bar_transition_distance">@dimen/lockscreen_shade_full_transition_distance</dimen>
    <dimen name="lockscreen_shade_keyguard_transition_distance">@dimen/lockscreen_shade_media_transition_distance</dimen>

    <!-- Dimensions for biometric prompt panel padding -->
    <dimen name="biometric_prompt_one_pane_medium_top_guideline_padding">56dp</dimen>
    <dimen name="biometric_prompt_one_pane_medium_horizontal_guideline_padding">@dimen/biometric_dialog_border_padding</dimen>

    <!-- Dimensions for biometric prompt scroll view padding -->
    <dimen name="biometric_prompt_top_scroll_view_bottom_padding">32dp</dimen>
    <dimen name="biometric_prompt_top_scroll_view_horizontal_padding">32dp</dimen>

    <!-- Dimensions for biometric prompt custom content view. -->
    <dimen name="biometric_prompt_logo_description_top_padding">16dp</dimen>

    <!-- Biometric Auth pattern view size, better to align keyguard_security_width -->
    <dimen name="biometric_auth_pattern_view_size">348dp</dimen>

+13 −5
Original line number Diff line number Diff line
@@ -1119,11 +1119,18 @@
    <dimen name="biometric_dialog_height">240dp</dimen>

    <!-- Dimensions for biometric prompt panel padding -->
    <dimen name="biometric_prompt_small_horizontal_guideline_padding">344dp</dimen>
    <dimen name="biometric_prompt_udfps_horizontal_guideline_padding">114dp</dimen>
    <dimen name="biometric_prompt_udfps_mid_guideline_padding">409dp</dimen>
    <dimen name="biometric_prompt_medium_horizontal_guideline_padding">640dp</dimen>
    <dimen name="biometric_prompt_medium_mid_guideline_padding">330dp</dimen>
    <dimen name="biometric_prompt_panel_max_width">640dp</dimen>
    <dimen name="biometric_prompt_land_small_horizontal_guideline_padding">344dp</dimen>
    <dimen name="biometric_prompt_two_pane_udfps_horizontal_guideline_padding">114dp</dimen>
    <dimen name="biometric_prompt_two_pane_udfps_mid_guideline_padding">409dp</dimen>
    <dimen name="biometric_prompt_two_pane_medium_horizontal_guideline_padding">640dp</dimen>
    <dimen name="biometric_prompt_two_pane_medium_mid_guideline_padding">330dp</dimen>
    <dimen name="biometric_prompt_one_pane_medium_top_guideline_padding">119dp</dimen>
    <dimen name="biometric_prompt_one_pane_medium_horizontal_guideline_padding">0dp</dimen>

    <!-- Dimensions for biometric prompt scroll view padding -->
    <dimen name="biometric_prompt_top_scroll_view_bottom_padding">24dp</dimen>
    <dimen name="biometric_prompt_top_scroll_view_horizontal_padding">24dp</dimen>

    <!-- Dimensions for biometric prompt icon padding -->
    <dimen name="biometric_prompt_portrait_small_bottom_padding">60dp</dimen>
@@ -1136,6 +1143,7 @@

    <!-- Dimensions for biometric prompt custom content view. -->
    <dimen name="biometric_prompt_logo_size">32dp</dimen>
    <dimen name="biometric_prompt_logo_description_top_padding">8dp</dimen>
    <dimen name="biometric_prompt_content_corner_radius">28dp</dimen>
    <dimen name="biometric_prompt_content_padding_horizontal">24dp</dimen>
    <dimen name="biometric_prompt_content_padding_vertical">16dp</dimen>
Loading