Add the check condition in the getNonIndexableKeys to
check if the FaceManager exist or not.
Fixes: 147076221
Test: manual
Change-Id: I898c936403ce90869a9da28aa14297eb6bf5d730
Currently, there are some biometric security setting and enrollment
screens which remain open after the user has backgrounded them. This
means that they can later be resumed without requiring the user to
confirm their device credential as normal.
This commit fixes the issue in AOSP by adding logic to the affected
biometric enrollment/setting activities in to finish() with
RESULT_TIMEOUT in onStop(). We don't want to finish() these activities
prematurely if the user is currently in a wizard setup flow, however. In
that case, this commit ensures that the newly added logic will not run.
Test: Pixel 3 - Background at each step of fingerprint enroll => finish
Test: Pixel 3 - Rotate at each step of fingerprint enroll => no finish
Test: Pixel 3 - Proceed though fingerprint setup wizard => no change
Bug: 142544519
Change-Id: I8ec0fa1e30bafe097d9dc82991ff786ebf24844b
- Index the delete face unlock preference and set up face unlock preference.
Fixes: 147031175
Test: manual
Change-Id: Ia984a116947d0c2e6a909f53914d081e25496f87
- FaceSettingsLockscreenBypassPreferenceController's preference key
is different from that in xml. Use DashboardFragment generic way to
create PreferenceController which bind the preference key defined in
xml.
- Also refine the way of fixing b/140878309
Fixes: 145893081
Test: manual check FaceSettings and Notification Settings
Change-Id: Ia80e755e3f86b44e771b0cf80c9bf53a8ef8f430
Bug: 140878309
Test: the option is not grayed out for secondary user.
Change-Id: I2413aa3c634e89a90d104e9ad60df15e49c75ed2
(cherry picked from commit e17caeea3f)
- We destoryed the MediaPlayer when VideoPreference is onPause().
When VideoPreference is onResumed, MediaPlayer always start from
pause state, we don't need a data save/restore current video state.
Bug: 143270527
Test: robolectric, manual
Change-Id: I544e933e4237f6d92aeff8a7eb04b52e89d74a4a
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId
Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function
Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
Users may have trouble finding this setting in face auth.
Heard this from dogfood/executive feedback and customer support discussion.
So add Skip Lock Screen preference in
Display > Lock screen display > What to show >
and
App & Notifications > Notifications > Lock Screen >
Bug: 138458558
Test: robotest & manual
Change-Id: I10e420821423821743d65b00c8b7e6d4d1224e00
If user enters face settings but does not enter the password, then
turns off the screen, it's possible the challenge is invalidated. Instead,
we should finish() the device credential screen as well as FaceSettings.
This prevents
1) The user from being prompted for credential with lack of context
2) Credential returning a HAT that wraps an invalidated challenge
The user will be returned to the security settings screen, where they
have more context and can decide if they want to enter face settings again.
Fixes: 138273242
Test: 1) Open face settings, do not enter password
2) Press power button
3) Unlock keyguard
4) User is not presented with credential screen
Test: Go through SUW, turning on/off the screen at various security
screens. Able to enroll successfully
Change-Id: I3c3d4600138012821bb0eea7d2927df00011cdb0
1) Should only be shown for owner profile
2) Should be disabled if A) not enrolled, B) DevicePolicyManager, C) HAL issue
Fixes: 134700640
Test: Manual test of conditions above
Change-Id: Id72db59c662df6c529c98aafd610de8c86c77ebd
1) FaceSettings now gets closed when it loses foreground. This prevents
A) Keyguard/LockSettingsService's resetLockout's revokeChallenge from
leaving FaceSettings with a stale HAT which prevents users from
enrolling or toggling elements that require the HAT.
B) generateChallenge has a timeout, which may already have been met
C) User may have forgotten FaceSettings was open and lost context. Thus
it makes no sense to show ConfirmLock* since the user may have no idea
why it's showing anymore.
2) FaceSettings now generatesChallenge in onResume. onCreate is too early
since again, FaceSettings can be launched via intent while on Keyguard.
Similarly, we must ensure that Settings's challenge is generated
late enough (e.g. when it actually gains foregroundness)
Fixes: 133440610
Fixes: 133498264
Test: Open face settings, confirm password, lock screen. After unlocking,
user needs to re-open face settings.
Test: Modify HAL/framework to show re-enroll notification
Tap re-enroll notificaton on keyguard
Delete and re-enroll in settings, successful
Test: FaceSettings enroll works accross orientation change
Test: Tapping enroll button doesn't cause challenge to be revoked
due to onStop()
Change-Id: I60f606314c458a61e9c1b4f4b66bc27bc44287da
This reverts commit d59150eca6.
Bug: 133498264
Bug: 133440610
Reason for revert: Fixing in a different way
Change-Id: Ie444278a9e8b8aac259c31d311757ab8a39567f4
Fixes: 133498264
Fixes: 133440610
Test: open FaceSettings from Settings with and without an enrolled face
Test: open FaceSettings from the notification that asks to re-enroll
Change-Id: I80ca7644f96a538614962232fb3951d1a91d87c7
In FaceSettings.SearchIndexProvider's createPreferenceControllers
method, we need to check isAvailable() before trying to create the
controllers.
Bug: 127852616
Test: runtest --path ./tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
Change-Id: Ib05ba05b8752583eeda61ded78f08f7998d48ba7
Settings page should not show if device credential is not confirmed
Bug: 111548037
Fixes: 116531896
Test: adb shell settings get secure face_unlock_app_enabled
Test: make -j56 RunSettingsRoboTests
Change-Id: I651ee88e9ee4017ee3dc52fa8a5d05cb8f092e1d
This change connects the face status preference controller with the
settings fragment/activity. This change also implements the basic settings
page showing a video, a toggle for keyguard, improve/remove targets,
and footer.
Bug: 111321762
Test: manual
Change-Id: Ifc65f5acbf6551679074df63ef22ffba75229f37