When IllegalStateException happens during user enters `Fingerprint
Unlock` or `Face Unlock` page through `Face and Fingerprint Unlock`
page, show ConfirmLock for user to re-enter credential again.
If user fails to pass credential page, finish activity and back to
`Security` page.
If user success to pass credential page, enter `Fingerprint Unlock` or
`Face Unlock` page.
Test: Manully test timeout case on `Face and Fingerprint Unlock` page
Test: robotest for CombinedBiometricProfileSettingsTest
FaceSettingsLockscreenBypassPreferenceControllerTest
Bug: 248165760
Change-Id: I3361c38d09d14461db8ecf2d89a34ba9604dc7e8
When fingerprint enrollment is stopped because of credential timeout, it
pops a FingerprintErrorDialog, and this error dialog triggers
onWindowFocusChanged(), and the 2nd FingerprintErrorDialog is shown. To
fix this case, checking mIsCanceled flag do nothing in
onWindowFocusChanged() method.
On the first dialog, the 'Try again' button relaunch activity with new
Intent, and it causes that activity result fails to pass back to caller.
To fix this bug, add FLAG_ACTIVITY_FORWARD_RESULT on new Intent to pass
result back.
Bug: 248165760
Test: Manually test credential timeout behavior and dialog buttons
Test: Manually test enrollment process has been cancelled for scenarios,
like "Swipe down Notification Shade" and "Recents"
Test: robo test for FingerprintEnrollEnrollingTest
Change-Id: I4441ba026db9b594f1d6184280668a374126a2fb
When FingerprintSettings got correct activity result from ConifrmLock or
ChooseLock, and ready to add first fingerprint automatically, it shall
set sud_slide_next_in and sud_slide_next_in in
overridePendingTransition.
Bug: 249981049
Test: Manually credential in FingerprintSettings
Change-Id: If63441cf1a72c30d558e9f50a0aada36a08b211d
1. Accodring to settings & setupdesign lib theme architecture
Only force apply sytle SetupWizardPartnerResource for current
activity/contextThemeWrapper is sufficient, override GlifV3Theme
again will cause incorrect resource mapping of private attributes.
2. Set Theme_AlertDialog style for AlertDialog in for Material design
- FingerprintEnrollEnrolling
- FingerprintEnrollFindSensor
3. Add test for AlertDialog theme, and fix broken test cases
Fixes: 245684949
Bug: 249789759
Bug: 248994476
Test: manual in SUW `adb shell cmd uimode night yes` and check visual
Test: manual in SUW enrolling check timeout dialog apply theme
Test: manual in SUW enroll UDFPS tips lottie view showing expectedly
Test: manual in SUW enroll UDFPS landscape showing correct layout
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER= \
SetupFingerprintEnrollFindSensorTest
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER= \
FingerprintEnrollEnrollingTest
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER= \
FingerprintEnrollFindSensorTest
Change-Id: I17cbf26e38318e6681ba124d23bf86317a0f1e1d
Continue showing lottie when text size/display size is changed on SFPS, because unlike C10/P10, lottie will not overlap text on SFPS
Test: (manual) Change display size and text size to max, verify lottie is visible and does not overlap text
Fixes: 245029066
Change-Id: I041415abc21722052a9adbdc927847c42cd7619f
Moves DT->LT dynamic color mapping call to after animation asset is set
Test: (manual) In light mode, advance past fingerprint enrollment edu screen and hit back button, observe correct LT asset
Fixes: 246233066
Change-Id: I5425f57b151a6f586338497ee0e5bf247af55f6e
Adds a null-check before setting the finger animation during SFPS
enrollment
Test: Change display size to highest setting (sets mShouldShowLottie to
false), and verify that user can enroll finger successfully
Fixes: 247044864
Change-Id: I3d7f0bd3078e3a4516f656a8ee897387b0ca15c6
Makes progress bar opaque and fixes color codes accordingly, and adjusts
values to shift finger animation and progress bar for proper alignment
Test: Enroll finger in light and dark theme and observe alignment of
finger with progress bar
Fixes: 245819077
Change-Id: I26bea8e1870f08b413a4ec2a9e6e83015facd004
Merged-In: I26bea8e1870f08b413a4ec2a9e6e83015facd004
Adds importantForAccessibility attribute to ScrollView in setup wizard layout. This enables Talkback to autoscroll when focusing on items at the edge of a container.
Test: (manual) Turn on talkback, navigate to SFPS enrollment edu screen. Swipe through ScrollView elements and observe autoscroll when focus is on elements at the edge of the View.
Fixes: 244595576
Change-Id: Iccc6125ac8f0993a7d8908f6c54e7307905b7cd7
Updates SFPS enrollment education layout and adds new assets indicating
sensor location in each orientation. Also defines color codes and adds
LottieColorUtils to dynamically map LottieAnimationView colors from light/dark theme
Test: Observe correct assets during enrollment in all orientations
Fixes: 242074146
Fixes: 238596925
Change-Id: If3b7502350057cc9b04f12aa9a5b36be06958630
ChooseLockGeneneric uses intent extra key to determine correct strings
on "Choose screen lock" screen.
Bug: 219419005
Test: atest BiometricEnrollActivityTest
Test: Manully test SUW as following combinations
1. W/ unicorn flow or W/O unicorn flow
2. Fingerprint only devices or Fingerpirnt+Face devices
Change-Id: I2abf9555676f3fb3b92dd6ddcc091ea8158bfe9f
FingerprintEnrollIntroduction shall allow setting 2nd fingerprint if
this intent is coming from "Anything else" page in SUW.
Bug: 228418807
Test: Manually test fingerprint in SUW
Test: ROBOTEST FingerprintEnrollIntroduction and
SetupFingerprintEnrollIntroduction
Change-Id: I62edeb91f90b32f62b3ca2b2ea04ec427b31d483
Previous ag/19699461 used to fix UdfpsControllerOverlay bug.
However, we didn't consider a feature click power button to
notify user with a Toast on sfps project.
Bug: 245383975
Bug: 228261883
Bug: 242478941
Bug: 227905887
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollEnrollingTest
Test: manual verify sfps enrollment, press/long press power key would
not cancel enrollment.
Test: manual verify udfps enrollment, UdfpsControllerOverlay lose focus
cancel enrollment.
Change-Id: I44394bdb91660b27a704064a7f7cdc5d0ad95d30
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
Fixes: 243813773
Change-Id: I1fa0b9349545586919eceeb9d05f365c2f2ec491
Merged-In: I1fa0b9349545586919eceeb9d05f365c2f2ec491
1. When user chooses "Add another" on latest fingerprint enroll page, we
shall bypass RESULT_CANCELED from FingerprintEnrollEnrolling. This is
because user has successfully enrolled a fingerprint before enter
FingerprintEnrollFinish page.
2. In FingerprintEnrollFindSensor
A. Do not call startLookingForFingerprint() if mNextClick is true
because it is wating the result back from
FingerprintEnrollEnrolling, and let onActivityResult() mehtod to
handle correct behavior.
B. Add tests for following cases
a. Sidecar existence
b. Activity recycled and recreate in order to get activity result.
Bug: 243701933
Bug: 243762418
Test: ROBOTEST for SetupFingerprintEnrollFindSensorTest,
FingerprintEnrollFindSensorTest, SetupFingerprintEnrollFinishTest
Test: Test scenarios w/ and w/o always_finish_activities
1. Enroll a fingerprint but cancel it during enrolling in SuW
2. Enroll a fingerprint in SuW
3. Add another fingerprint in SuW
4. Run "Add another" but cancel it during enrolling in SuW
5. W/o enrolled fingerprint, add first fingerprint in settings
6. W/o enrolled fingerprint, add first fingerprint but cancel it
during enrolling in settings
7. W/o enrolled fingerprint, add first fingerprint and choose "Add
another" in settings
8. W/o enrolled fingerprint, add first fingerprint and choose "Add
another" then cancel it during enrolling in settings
9. W/ 1 enrolled fingerprint, add fingerprint in settings
10. W/ 1 enrolled fingerprint, add fingerprint but cancel it during
enrolling in settings
11. W/ 1 enrolled fingerprint, add fingerprint and choose "Add
another" in settings
12. W/ 1 enrolled fingerprint, add fingerprint and choose "Add
another" then canel it during enrolling in settings
Change-Id: I03d8d8ebc39eb34f8fc28acb5cd267e37c7a0311
1. on udfps + faceunlock devices, fingerprint settings shall not be
launched if no fingerprint enrolled.
2. on udfps device, after first fingerprint enrollment successfully,
fingerprint settings shall be shown.
3. Update FingerprintEnrollFindSensorTest to support udfps cases.
Bug: 243701933
Bug: 243003012
Test: manully adding first fingerprint on udfps + faceunlock device
Test: manully suw on udfps + faceunlock device
Test: run robotest for FingerprintEnrollFindSensorTest
and SetupFingerprintEnrollFindSensorTest
Merged-In: I62d945f2c2e980edf2a885234e54acae109e7672
Change-Id: I62d945f2c2e980edf2a885234e54acae109e7672
(cherry picked from commit 936dd31312)
Change to use FingerprintSetting as base activity when use launch
"Fingerprint Unlock" from Settings -> Security. And then we can prevent
that necesssary pop-up activites become full-screen.
Bug: 243701933
Bug: 232874879
Test: manual test following cases on fp-only devices, and enable don't
keep activity and test them again.
1. fp enrollment on SUW
2. fp add another on SUW
3. add first fp on Security Settings
4. add another fp on Security Settings
Test: atest FingerprintStatusUtilsTest BiometricsSafetySourceTest
Test: robo test for SetupFingerprintEnrollFindSensorTest
SetupFingerprintEnrollFinishTest
FingerprintEnrollFindSensorTest FingerprintEnrollEnrollingTest
Merged-In: Ib1c2ef9f93fb910eed2930f871c0c69bdb94bcbd
Change-Id: Ib1c2ef9f93fb910eed2930f871c0c69bdb94bcbd
(cherry picked from commit 84b39c3ed0)
Integrate onWindowFocusChanged() to FingerprintEnrollEnrolling
When the activity window lost focus, we just cancel this enroll
session, and create a dialog to notify user.
* Keep legacy rotation behavior, do not cancel enrollment if user
rotate device.
* This change will cancel enrollment when user interrupted by
1) Swipe down Notification Shade
2) Heads up notification expand
3) Bubble Expanded
4) Google Assist
5) PIP expand
6) Recents
7) Launch Power Menu(Global Action)
Test: manual test above scenario
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=FingerprintEnrollEnrollingTest
Bug: 228261883
Bug: 242478941
Bug: 227905887
Change-Id: Id097e6b15928646cd5ab91c2a1f6eb1bb9bf190b
The SkipFingerprintDialog is instantiation in
SetupFingerprintEnrollFindSensor#onSkipButtonClick()
Due to the call flow did not set appropriate theme
defined in setuplib for skip alertDialog instance
we set GlifV2ThemeAlertDialog AlertDialog.Builder.
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER= \
SetupFingerprintEnrollFindSensorTest
Test: manual factory reset, go through SUW, and check
skip AlertDialog Bottom Bar Buttons visual.
Bug: 233243999
Change-Id: Ic198a23eb3e76d70e287b24f2ab1ef249b30b2fc
Add metric intent if ChooseLockGeneric is triggered in SUW.
1. Save the result bundle data from ChooseLockGeneric to cache inside
BiometricEnrollActivity and pass back to SUW after all finished.
2. Since fingerprint enrollment trigger points in SUW for
fingerprint-only or fingerprint + faceAuth devices are all moved
from SetupFingerprintEnrollIntroduction to BiometricEnrollActivity,
remove deprecated code from SetupFingerprintEnrollIntroduction.
Bug: 235458700
Test: Manually test fingerprint enroll with SUW or w/o SUW
Test: Manually test fingerprint enroll with unicorn SUW
Test: atest BiometricEnrollActivityTest
Test: robo tests FingerprintEnrollIntroductionTest
Change-Id: I34b2884ab4c2c65d464d91eaef0f58c72dad438b
Run setOrConfirmCredentialsNow() before enrolling fingerprint for
fingerprint-only device.
Bug: 237433373
Test: atest BiometricEnrollActivityTest
Test: Manually test SUW flows for fingerprint-only device
1. check confirm pin case
2. check choose pin case
3. enable always_finish_activities, check confirm pin case
4. enable always_finish_activities, check choose pin case
Change-Id: I68da429145835fc79f83f3292749088dc25fdeee