From d69192ded65a6c9045533c1f3f97d23f01253282 Mon Sep 17 00:00:00 2001 From: Grace Cheng Date: Mon, 1 Aug 2022 19:54:42 +0000 Subject: [PATCH] Implement SFPS guided enrollment for T6 Reduces perception of long enrollment process by introducing new enrollment layout and stages for SFPS. Also adds user feedback via new animated assets with dynamic colors, and all associated strings and a11y labels. Test: Observe new guided enrollment process on T6 Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollEnrollingTest Fixes: 232024488 Fixes: 233091341 Fixes: 241165082 Fixes: 242218240 Change-Id: Ifa8788e78dce4c682ec4a9e2fe2c077418f8bddb --- .../hardware/fingerprint/FingerprintManager.java | 13 ++++++++++--- core/res/res/values/config.xml | 8 ++++++++ core/res/res/values/symbols.xml | 2 +- packages/SystemUI/res/layout/sidefps_view.xml | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index c614cdbc31993..72d8122693740 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -1433,10 +1433,17 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing } @NonNull - private static float[] createEnrollStageThresholds(@NonNull Context context) { + @RequiresPermission(USE_BIOMETRIC_INTERNAL) + private float[] createEnrollStageThresholds(@NonNull Context context) { // TODO(b/200604947): Fetch this value from FingerprintService, rather than internal config - final String[] enrollStageThresholdStrings = context.getResources().getStringArray( - com.android.internal.R.array.config_udfps_enroll_stage_thresholds); + final String[] enrollStageThresholdStrings; + if (isPowerbuttonFps()) { + enrollStageThresholdStrings = context.getResources().getStringArray( + com.android.internal.R.array.config_sfps_enroll_stage_thresholds); + } else { + enrollStageThresholdStrings = context.getResources().getStringArray( + com.android.internal.R.array.config_udfps_enroll_stage_thresholds); + } final float[] enrollStageThresholds = new float[enrollStageThresholdStrings.length]; for (int i = 0; i < enrollStageThresholds.length; i++) { diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index e7cae76c60fc9..418da66c267e8 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4859,6 +4859,14 @@ 0.875 + + + 0 + 0.36 + 0.52 + 0.76 + + diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index aa0bae656da62..0a13c8b28de4e 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2701,7 +2701,7 @@ - + diff --git a/packages/SystemUI/res/layout/sidefps_view.xml b/packages/SystemUI/res/layout/sidefps_view.xml index 921f788309810..73050c253d72f 100644 --- a/packages/SystemUI/res/layout/sidefps_view.xml +++ b/packages/SystemUI/res/layout/sidefps_view.xml @@ -23,4 +23,4 @@ app:lottie_autoPlay="true" app:lottie_loop="true" app:lottie_rawRes="@raw/sfps_pulse" - android:contentDescription="@string/accessibility_fingerprint_label"/> + android:importantForAccessibility="no"/> \ No newline at end of file