Fix flicker of “touch to unlock anytime” toggle

Fixes flicker of toggle by setting not visible when launching confirm
pin/pattern/password or enrollment prior to displaying
FingerprintSettings. Also cleans up FingerprintSettings and
security_settings_fingerprint.xml to better separate SFPS and non-SFPS
logic and rename methods for clarity

Test: (manual) navigate to sfps fp settings and observe toggle doesn’t flicker
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsUnlockCategoryControllerTest
Fixes: 263843645
Change-Id: Ide3a666fc31b926ac14645dc22d090f77d81f901
This commit is contained in:
Grace Cheng
2023-02-23 23:05:36 +00:00
parent 1f4ec6257f
commit 54d1cfdae0
7 changed files with 357 additions and 59 deletions

View File

@@ -19,10 +19,21 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/security_settings_fingerprint_preference_title">
<PreferenceCategory
android:key="security_settings_fingerprints_enrolled"
settings:controller="com.android.settings.biometrics.fingerprint.FingerprintsEnrolledCategoryPreferenceController">
</PreferenceCategory>
<androidx.preference.Preference
android:key="key_fingerprint_add"
android:title="@string/fingerprint_add_title"
android:icon="@drawable/ic_add_24dp"/>
<PreferenceCategory
android:key="security_settings_fingerprint_unlock_category"
android:title="@string/security_settings_fingerprint_settings_preferences_category"
settings:controller="com.android.settings.biometrics.fingerprint.FingerprintUnlockCategoryPreferenceController">
settings:controller="com.android.settings.biometrics.fingerprint.FingerprintUnlockCategoryController"
settings:isPreferenceVisible="false">
<com.android.settingslib.RestrictedSwitchPreference
android:key="security_settings_require_screen_on_to_auth"
@@ -32,4 +43,8 @@
settings:controller="com.android.settings.biometrics.fingerprint.FingerprintSettingsRequireScreenOnToAuthPreferenceController" />
</PreferenceCategory>
<PreferenceCategory
android:key="security_settings_fingerprint_footer">
</PreferenceCategory>
</PreferenceScreen>