Config the GlifV4Theme.DayNight theme for following activities
- SetupChooseLockPassword/ChooseLockPassword
- SetupChooseLockPattern/ChooseLockPattern
- ConfirmLockPassword
- ConfirmLockPattern
Refine the Theme API usage, only use SUW provided API
- ThemeHelper.shouldApplyGlifExpressiveStyle()
- ThemeHelper.trySetSuwTheme()
Tweak ConfirmLockPassword layout
- Use TextInputLayout
- Integrate TextInputLayout
Tweak ChooseLockPassword layout space issue
- Fix the layout issue of ChooseLockPassowrd, the space is not enough
- Use LinearLayoutWithDefaultTouchRecepient for Choose Lock password
Note: Revert ag/30164668, ag/30075453
Flag: EXEMPT for expressive style customization
Bug: 400365073
Bug: 420356036
Test: atest ChooseLockPasswordTest
Test: atest ChooseLockPatternTest
Test: atest ConfirmLockPasswordTest
Test: manual trigger confirm lock activity and check the UI
Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL --ei
android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED 32768
Test: atest ConfirmLockPasswordTest
Change-Id: Ib3301d2bc6372b6614a67fcc507b25a8b6f3c22c
118 lines
4.9 KiB
XML
118 lines
4.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2025 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"
|
|
android:id="@+id/setup_wizard_layout"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:icon="@drawable/ic_lock"
|
|
android:importantForAutofill="noExcludeDescendants"
|
|
app:sudUseBottomProgressBar="true">
|
|
|
|
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
|
|
style="@style/SudContentFrame"
|
|
android:id="@+id/topLayout"
|
|
android:orientation="vertical"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent">
|
|
|
|
<Space
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1" />
|
|
|
|
<LinearLayout
|
|
android:theme="@style/Theme.LockPassword"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center_horizontal"
|
|
android:clipChildren="false"
|
|
android:clipToPadding="false"
|
|
android:orientation="vertical"
|
|
android:layoutMode="opticalBounds">
|
|
|
|
<!-- Password entry field -->
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/password_entry_layout"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="16dip"
|
|
style="@style/TextAppearance.PasswordEntry">
|
|
<com.android.settings.widget.ImeAwareTextInputEditText
|
|
android:id="@+id/password_entry"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="textPassword"
|
|
android:imeOptions="actionNext|flagNoExtractUi|flagForceAscii"
|
|
style="@style/LockPasswordTextInputEditTextStyle"/>
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<TextView
|
|
android:id="@+id/errorText"
|
|
style="@style/TextAppearance.ErrorText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:layout_marginStart="12dp"
|
|
android:layout_marginEnd="12dp"
|
|
android:accessibilityLiveRegion="polite"/>
|
|
|
|
</LinearLayout>
|
|
|
|
<Space
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1" />
|
|
|
|
<CheckBox
|
|
android:id="@+id/checkbox"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:minHeight="48dp"
|
|
android:layout_marginStart="?attr/sudMarginStart"
|
|
android:layout_marginEnd="?attr/sudMarginEnd"
|
|
android:layout_marginTop="12dp"
|
|
android:layout_gravity="center_horizontal"
|
|
android:visibility="gone"
|
|
android:checked="true" />
|
|
|
|
<Button
|
|
android:id="@+id/cancelButton"
|
|
style="@style/SudGlifButton.Secondary"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="?attr/sudMarginStart"
|
|
android:layout_marginEnd="?attr/sudMarginEnd"
|
|
android:layout_marginBottom="80dp"
|
|
android:layout_gravity="center_horizontal"
|
|
android:text="@string/cancel" />
|
|
|
|
<Button
|
|
android:id="@+id/emergencyCallButton"
|
|
style="@style/WorkChallengeEmergencyButtonStyle"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="?attr/sudMarginStart"
|
|
android:layout_marginEnd="?attr/sudMarginEnd"
|
|
android:layout_marginBottom="12dp"
|
|
android:visibility="gone"
|
|
android:layout_gravity="center_horizontal"
|
|
android:text="@string/work_challenge_emergency_button_text"/>
|
|
|
|
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
|
|
</com.google.android.setupdesign.GlifLayout>
|