Loading packages/SystemUI/res/layout-land/biometric_prompt_constraint_layout.xml +42 −104 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ android:layout_height="match_parent"> android:paddingHorizontal="16dp" android:paddingVertical="16dp" android:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/bottomGuideline" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/rightGuideline" app:layout_constraintStart_toStartOf="@+id/leftGuideline" app:layout_constraintTop_toTopOf="@+id/topGuideline" /> Loading Loading @@ -59,7 +59,7 @@ android:layout_height="match_parent"> android:layout_width="0dp" android:layout_height="0dp" android:fillViewport="true" android:padding="16dp" android:padding="24dp" app:layout_constrainedHeight="true" app:layout_constrainedWidth="true" app:layout_constraintBottom_toTopOf="@+id/buttonBarrier" Loading @@ -82,20 +82,20 @@ android:layout_height="match_parent"> app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" <TextView android:id="@+id/logo_description" android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="0dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:textAlignment="viewStart" android:paddingLeft="8dp" app:layout_constraintBottom_toBottomOf="@+id/logo" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" app:layout_constraintVertical_bias="0.0" /> app:layout_constraintStart_toEndOf="@+id/logo" app:layout_constraintTop_toTopOf="@+id/logo" /> <Space android:id="@+id/space_above_content" Loading @@ -108,6 +108,7 @@ android:layout_height="match_parent"> style="@style/TextAppearance.AuthCredential.Title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="@integer/biometric_dialog_text_gravity" android:paddingHorizontal="0dp" android:textAlignment="viewStart" Loading @@ -124,6 +125,7 @@ android:layout_height="match_parent"> style="@style/TextAppearance.AuthCredential.Subtitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="@integer/biometric_dialog_text_gravity" android:paddingHorizontal="0dp" android:textAlignment="viewStart" Loading @@ -133,14 +135,14 @@ android:layout_height="match_parent"> app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/title" /> <TextView android:id="@+id/description" style="@style/TextAppearance.AuthCredential.Description" <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="@integer/biometric_dialog_text_gravity" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="0dp" android:textAlignment="viewStart" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" Loading @@ -149,19 +151,20 @@ android:layout_height="match_parent"> app:layout_constraintVertical_bias="0.0" /> <TextView android:id="@+id/logo_description" android:layout_width="0dp" android:id="@+id/description" style="@style/TextAppearance.AuthCredential.Description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:paddingHorizontal="0dp" android:textAlignment="viewStart" android:paddingLeft="8dp" app:layout_constraintBottom_toBottomOf="@+id/logo" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/logo" app:layout_constraintTop_toTopOf="@+id/logo" /> app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" app:layout_constraintVertical_bias="0.0" /> <androidx.constraintlayout.widget.Barrier android:id="@+id/contentBarrier" Loading @@ -178,7 +181,7 @@ android:layout_height="match_parent"> android:id="@+id/indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginTop="24dp" android:accessibilityLiveRegion="polite" android:fadingEdge="horizontal" android:gravity="center_horizontal" Loading @@ -192,80 +195,15 @@ android:layout_height="match_parent"> app:layout_constraintTop_toBottomOf="@+id/biometric_icon" app:layout_constraintVertical_bias="0.0" /> <!-- Negative Button, reserved for app --> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- Cancel Button, replaces negative button when biometric is accepted --> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- "Use Credential" Button, replaces if device credential is allowed --> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- Positive Button --> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintEnd_toEndOf="@+id/scrollView" tools:visibility="invisible" /> <!-- Try Again Button --> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintEnd_toEndOf="@+id/scrollView" /> <include android:id="@+id/button_bar" layout="@layout/biometric_prompt_button_bar" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@id/bottomGuideline" app:layout_constraintEnd_toEndOf="@id/scrollView" app:layout_constraintStart_toStartOf="@id/scrollView" app:layout_constraintTop_toBottomOf="@id/scrollView" /> <!-- Guidelines for setting panel border --> <androidx.constraintlayout.widget.Barrier Loading @@ -282,7 +220,7 @@ android:layout_height="match_parent"> android:layout_height="wrap_content" app:barrierAllowsGoneWidgets="false" app:barrierDirection="top" app:constraint_referenced_ids="button_negative, button_cancel, button_use_credential, button_confirm, button_try_again" /> app:constraint_referenced_ids="button_bar" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/leftGuideline" Loading packages/SystemUI/res/layout-sw600dp/biometric_prompt_constraint_layout.xml +35 −95 Original line number Diff line number Diff line Loading @@ -23,92 +23,29 @@ android:clickable="true" android:clipToOutline="true" android:importantForAccessibility="no" android:paddingHorizontal="16dp" android:paddingVertical="16dp" android:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/bottomGuideline" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/rightGuideline" app:layout_constraintStart_toStartOf="@+id/leftGuideline" app:layout_constraintTop_toTopOf="@+id/topBarrier" /> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintEnd_toEndOf="@+id/panel" tools:visibility="invisible" /> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintEnd_toEndOf="@+id/panel" /> <!-- Negative Button, reserved for app --> <include layout="@layout/biometric_prompt_button_bar" android:id="@+id/button_bar" android:layout_width="0dp" android:layout_height="match_parent" app:layout_constraintBottom_toTopOf="@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:fillViewport="true" android:padding="16dp" android:paddingBottom="36dp" android:paddingHorizontal="24dp" android:paddingTop="24dp" app:layout_constrainedHeight="true" app:layout_constrainedWidth="true" app:layout_constraintBottom_toTopOf="@+id/biometric_icon" Loading @@ -134,18 +71,19 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" <TextView android:id="@+id/logo_description" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="@dimen/biometric_prompt_content_container_padding_horizontal" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:paddingTop="16dp" app:layout_constraintBottom_toTopOf="@+id/title" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" /> app:layout_constraintTop_toBottomOf="@+id/logo" /> <Space android:id="@+id/space_above_content" Loading @@ -159,6 +97,7 @@ 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" Loading @@ -170,23 +109,24 @@ 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" /> <TextView android:id="@+id/logo_description" android:layout_width="match_parent" <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" app:layout_constraintBottom_toTopOf="@+id/title" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="@dimen/biometric_prompt_content_container_padding_horizontal" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/logo" /> app:layout_constraintTop_toBottomOf="@+id/subtitle" /> <TextView android:id="@+id/description" Loading Loading @@ -215,7 +155,7 @@ android:id="@+id/indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginTop="24dp" android:accessibilityLiveRegion="polite" android:fadingEdge="horizontal" android:gravity="center_horizontal" Loading Loading @@ -247,7 +187,7 @@ android:layout_height="wrap_content" app:barrierAllowsGoneWidgets="false" app:barrierDirection="top" app:constraint_referenced_ids="button_negative, button_cancel, button_use_credential, button_confirm, button_try_again" /> app:constraint_referenced_ids="button_bar" /> <!-- Guidelines for setting panel border --> <androidx.constraintlayout.widget.Guideline Loading packages/SystemUI/res/layout/biometric_prompt_button_bar.xml 0 → 100644 +91 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?><!-- ~ Copyright (C) 2024 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. --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <!-- Negative Button, reserved for app --> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- Cancel Button, replaces negative button when biometric is accepted --> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- "Use Credential" Button, replaces if device credential is allowed --> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- Positive Button --> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="24dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> <!-- Try Again Button --> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="24dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> packages/SystemUI/res/layout/biometric_prompt_constraint_layout.xml +61 −130 File changed.Preview size limit exceeded, changes collapsed. Show changes packages/SystemUI/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -1087,7 +1087,7 @@ <dimen name="biometric_dialog_fingerprint_icon_height">80dp</dimen> <dimen name="biometric_dialog_button_negative_max_width">160dp</dimen> <dimen name="biometric_dialog_button_positive_max_width">136dp</dimen> <dimen name="biometric_dialog_corner_size">4dp</dimen> <dimen name="biometric_dialog_corner_size">28dp</dimen> <!-- Y translation when showing/dismissing the dialog--> <dimen name="biometric_dialog_animation_translation_offset">350dp</dimen> <dimen name="biometric_dialog_border_padding">4dp</dimen> Loading Loading
packages/SystemUI/res/layout-land/biometric_prompt_constraint_layout.xml +42 −104 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ android:layout_height="match_parent"> android:paddingHorizontal="16dp" android:paddingVertical="16dp" android:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/bottomGuideline" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/rightGuideline" app:layout_constraintStart_toStartOf="@+id/leftGuideline" app:layout_constraintTop_toTopOf="@+id/topGuideline" /> Loading Loading @@ -59,7 +59,7 @@ android:layout_height="match_parent"> android:layout_width="0dp" android:layout_height="0dp" android:fillViewport="true" android:padding="16dp" android:padding="24dp" app:layout_constrainedHeight="true" app:layout_constrainedWidth="true" app:layout_constraintBottom_toTopOf="@+id/buttonBarrier" Loading @@ -82,20 +82,20 @@ android:layout_height="match_parent"> app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" <TextView android:id="@+id/logo_description" android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="0dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:textAlignment="viewStart" android:paddingLeft="8dp" app:layout_constraintBottom_toBottomOf="@+id/logo" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" app:layout_constraintVertical_bias="0.0" /> app:layout_constraintStart_toEndOf="@+id/logo" app:layout_constraintTop_toTopOf="@+id/logo" /> <Space android:id="@+id/space_above_content" Loading @@ -108,6 +108,7 @@ android:layout_height="match_parent"> style="@style/TextAppearance.AuthCredential.Title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="@integer/biometric_dialog_text_gravity" android:paddingHorizontal="0dp" android:textAlignment="viewStart" Loading @@ -124,6 +125,7 @@ android:layout_height="match_parent"> style="@style/TextAppearance.AuthCredential.Subtitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="@integer/biometric_dialog_text_gravity" android:paddingHorizontal="0dp" android:textAlignment="viewStart" Loading @@ -133,14 +135,14 @@ android:layout_height="match_parent"> app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/title" /> <TextView android:id="@+id/description" style="@style/TextAppearance.AuthCredential.Description" <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="@integer/biometric_dialog_text_gravity" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="0dp" android:textAlignment="viewStart" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" Loading @@ -149,19 +151,20 @@ android:layout_height="match_parent"> app:layout_constraintVertical_bias="0.0" /> <TextView android:id="@+id/logo_description" android:layout_width="0dp" android:id="@+id/description" style="@style/TextAppearance.AuthCredential.Description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:paddingHorizontal="0dp" android:textAlignment="viewStart" android:paddingLeft="8dp" app:layout_constraintBottom_toBottomOf="@+id/logo" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/logo" app:layout_constraintTop_toTopOf="@+id/logo" /> app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" app:layout_constraintVertical_bias="0.0" /> <androidx.constraintlayout.widget.Barrier android:id="@+id/contentBarrier" Loading @@ -178,7 +181,7 @@ android:layout_height="match_parent"> android:id="@+id/indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginTop="24dp" android:accessibilityLiveRegion="polite" android:fadingEdge="horizontal" android:gravity="center_horizontal" Loading @@ -192,80 +195,15 @@ android:layout_height="match_parent"> app:layout_constraintTop_toBottomOf="@+id/biometric_icon" app:layout_constraintVertical_bias="0.0" /> <!-- Negative Button, reserved for app --> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- Cancel Button, replaces negative button when biometric is accepted --> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- "Use Credential" Button, replaces if device credential is allowed --> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintStart_toStartOf="@+id/scrollView" /> <!-- Positive Button --> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintEnd_toEndOf="@+id/scrollView" tools:visibility="invisible" /> <!-- Try Again Button --> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/bottomGuideline" app:layout_constraintEnd_toEndOf="@+id/scrollView" /> <include android:id="@+id/button_bar" layout="@layout/biometric_prompt_button_bar" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@id/bottomGuideline" app:layout_constraintEnd_toEndOf="@id/scrollView" app:layout_constraintStart_toStartOf="@id/scrollView" app:layout_constraintTop_toBottomOf="@id/scrollView" /> <!-- Guidelines for setting panel border --> <androidx.constraintlayout.widget.Barrier Loading @@ -282,7 +220,7 @@ android:layout_height="match_parent"> android:layout_height="wrap_content" app:barrierAllowsGoneWidgets="false" app:barrierDirection="top" app:constraint_referenced_ids="button_negative, button_cancel, button_use_credential, button_confirm, button_try_again" /> app:constraint_referenced_ids="button_bar" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/leftGuideline" Loading
packages/SystemUI/res/layout-sw600dp/biometric_prompt_constraint_layout.xml +35 −95 Original line number Diff line number Diff line Loading @@ -23,92 +23,29 @@ android:clickable="true" android:clipToOutline="true" android:importantForAccessibility="no" android:paddingHorizontal="16dp" android:paddingVertical="16dp" android:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/bottomGuideline" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/rightGuideline" app:layout_constraintStart_toStartOf="@+id/leftGuideline" app:layout_constraintTop_toTopOf="@+id/topBarrier" /> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintStart_toStartOf="@+id/panel" /> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintEnd_toEndOf="@+id/panel" tools:visibility="invisible" /> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@+id/panel" app:layout_constraintEnd_toEndOf="@+id/panel" /> <!-- Negative Button, reserved for app --> <include layout="@layout/biometric_prompt_button_bar" android:id="@+id/button_bar" android:layout_width="0dp" android:layout_height="match_parent" app:layout_constraintBottom_toTopOf="@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:fillViewport="true" android:padding="16dp" android:paddingBottom="36dp" android:paddingHorizontal="24dp" android:paddingTop="24dp" app:layout_constrainedHeight="true" app:layout_constrainedWidth="true" app:layout_constraintBottom_toTopOf="@+id/biometric_icon" Loading @@ -134,18 +71,19 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" <TextView android:id="@+id/logo_description" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="@dimen/biometric_prompt_content_container_padding_horizontal" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" android:paddingTop="16dp" app:layout_constraintBottom_toTopOf="@+id/title" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/subtitle" /> app:layout_constraintTop_toBottomOf="@+id/logo" /> <Space android:id="@+id/space_above_content" Loading @@ -159,6 +97,7 @@ 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" Loading @@ -170,23 +109,24 @@ 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" /> <TextView android:id="@+id/logo_description" android:layout_width="match_parent" <LinearLayout android:id="@+id/customized_view_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:gravity="@integer/biometric_dialog_text_gravity" android:marqueeRepeatLimit="1" android:singleLine="true" app:layout_constraintBottom_toTopOf="@+id/title" android:gravity="center_vertical" android:orientation="vertical" android:paddingHorizontal="@dimen/biometric_prompt_content_container_padding_horizontal" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/logo" /> app:layout_constraintTop_toBottomOf="@+id/subtitle" /> <TextView android:id="@+id/description" Loading Loading @@ -215,7 +155,7 @@ android:id="@+id/indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginTop="24dp" android:accessibilityLiveRegion="polite" android:fadingEdge="horizontal" android:gravity="center_horizontal" Loading Loading @@ -247,7 +187,7 @@ android:layout_height="wrap_content" app:barrierAllowsGoneWidgets="false" app:barrierDirection="top" app:constraint_referenced_ids="button_negative, button_cancel, button_use_credential, button_confirm, button_try_again" /> app:constraint_referenced_ids="button_bar" /> <!-- Guidelines for setting panel border --> <androidx.constraintlayout.widget.Guideline Loading
packages/SystemUI/res/layout/biometric_prompt_button_bar.xml 0 → 100644 +91 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?><!-- ~ Copyright (C) 2024 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. --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <!-- Negative Button, reserved for app --> <Button android:id="@+id/button_negative" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:ellipsize="end" android:maxLines="2" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- Cancel Button, replaces negative button when biometric is accepted --> <Button android:id="@+id/button_cancel" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:text="@string/cancel" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- "Use Credential" Button, replaces if device credential is allowed --> <Button android:id="@+id/button_use_credential" style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="24dp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <!-- Positive Button --> <Button android:id="@+id/button_confirm" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="24dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_confirm" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> <!-- Try Again Button --> <Button android:id="@+id/button_try_again" style="@*android:style/Widget.DeviceDefault.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="24dp" android:ellipsize="end" android:maxLines="2" android:text="@string/biometric_dialog_try_again" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
packages/SystemUI/res/layout/biometric_prompt_constraint_layout.xml +61 −130 File changed.Preview size limit exceeded, changes collapsed. Show changes
packages/SystemUI/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -1087,7 +1087,7 @@ <dimen name="biometric_dialog_fingerprint_icon_height">80dp</dimen> <dimen name="biometric_dialog_button_negative_max_width">160dp</dimen> <dimen name="biometric_dialog_button_positive_max_width">136dp</dimen> <dimen name="biometric_dialog_corner_size">4dp</dimen> <dimen name="biometric_dialog_corner_size">28dp</dimen> <!-- Y translation when showing/dismissing the dialog--> <dimen name="biometric_dialog_animation_translation_offset">350dp</dimen> <dimen name="biometric_dialog_border_padding">4dp</dimen> Loading