Commit Graph

26 Commits

Author SHA1 Message Date
Chun Zhang
f7a128496c Add WearSafetySource (Without Listener)
Bug: 389841524
Test: TreeHugger
Test: manual
Test: atest SafetySourceBroadcastReceiverTest
Test: atest LockScreenSafetySourceTest
Test: atest ActiveUnlockStatusUtilsTest
Test: atest WearSafetySourceTest
Flag: com.android.settings.flags.biometrics_onboarding_education
Change-Id: I7f4b41bf33d1e0fb7988f756a466e4d80bcec25e
2025-03-05 17:31:26 +00:00
Diya Bera
fc711494b9 (3/N) Biometric error dialog
Add an error dialog to help user recover from biometric error for
for identity check for enrollment, changing LSKF and accessing
biometrics settings

Flag: android.hardware.biometrics.flag.mandatory_biometrics
Bug: 358641110
Bug: 358179610
Test: Manual
Change-Id: Iaf1986d3c1892b6158808bc3ded96145f410dc62
2024-09-17 20:25:01 +00:00
Diya Bera
92ea474b86 Add mandatory biometric prompt to platform surfaces (5/N)
1. For biometric settings, request biometric prompt only after
   successful credential verification and no auth request after
   enrollment

2. Differentiate between mandatory biometrics ineffective error and
   other biometric errors

Flag: android.hardware.biometrics.flags.mandatory_biometrics
Bug: 358176202
Bug: 358179610
Test: atest UtilsTest DevelopmentSettingsDashboardFragmentTest MainClearTest BuildNumberPreferenceControllerTest CombinedBiometricProfileSettingsTest
Change-Id: I778dd5403dd5ab64d8cc39bd88b22c4d39182e94
2024-08-13 04:21:37 +00:00
Diya Bera
31ec11f0b6 Hide background when identity check auth is requested
Flag: android.hardware.biometrics.flags.mandatory_biometrics
Fixes: 354014097
Test: atest UtilsTest
Change-Id: I3af06fd9dca2bdc306496f1db832e1d1e2bfe8d2
2024-07-25 17:00:05 +00:00
Diya Bera
9bae71c15c Add mandatory biometric prompt to platform surfaces (3/N)
Pass user ids for identity check. This is to make sure that the right
user is requested auth for different profiles.

Flag: android.hardware.biometrics.Flags.MANDATORY_BIOMETRICS
Bug: 339910718
Test: atest UtilsTest
Change-Id: I953b56e9bfd1edd49d080124905d42a23247b7a7
2024-07-23 04:07:08 +00:00
Diya Bera
2348fefd48 Tests - Add mandatory biometric prompt to platform surfaces (1/N)
Tests for ag/27400418

Flag: android.hardware.biometrics.Flags.MANDATORY_BIOMETRICS
Bug: 339910718
Test: atest FingerprintSettingsFragmentTest ChooseLockGenericTest CombinedBiometricProfileSettingsTest

Change-Id: Ief7fca5d0b695d23d490b6302dea11bab6030fce
2024-07-15 22:26:50 +00:00
Diya Bera
049de84f2d Add mandatory biometric prompt to platform surfaces (1/N)
1. Face settings
2. Fingerprint settings
3. Change device credential

Flag: android.hardware.biometrics.Flags.MANDATORY_BIOMETRICS
Bug: 339910718
Test: atest UtilsTest

Change-Id: I69778d1733ea9fb312e7c26ae0fa23b6008dde5d
2024-07-01 21:35:19 +00:00
Hao Dong
c9aaa73b51 Show split screen dialog on the introduction and enrolling page.
Revert ag/22361082 and ag/22460413, show the split screen dialog on
the introduction and enrolling page, instead of relying on the callers
to show the dialog.

Test: atest BiometricsSplitScreenDialogTest
Test: atest FaceEnrollIntroductionTest
Test: atest SetupFingerprintEnrollIntroductionTest
Bug: 299573056

Change-Id: Ieb106a4a623ad5ca0e6eb1633413df75767bef52
2024-02-01 08:36:04 +00:00
Treehugger Robot
2200654a7b Merge "Fix crash after confirmLock" into udc-qpr-dev am: 611e43fe05 am: b5195183cc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24351353

Change-Id: Ie9c54fddcb4344051fc492a23bf7102214f10b5f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-09 03:29:46 +00:00
Milton Wu
432560177c Fix crash after confirmLock
Stop everything in generateChallenge() on "Face and Fingerprint Unlock"
page if activity is null or finishing

Also fix ignored test cases in CombinedBiometricProfileSettingsTest

Bug: 292125215
Test: RunSettingsRoboTests ROBOTEST_FILTER=CombinedBiometricProfileSettingsTest
Change-Id: I7a272e813bfddd5d066417a74cbd63d22f511000
2023-08-08 07:04:04 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
lbill
09276c9639 Count isActivityEmbedded() state to show split screen warning dialog
According to Activity#isInMultiWindowMode() API design,
When the Task is in fullscreen windowing mode, and the app is in
ActivityEmbedding split (two activities split left and right),
Activity.isInMultiWindowMode() == true.

With the reason, we should consider additional condidion for
foldable device in unfolded mode, while settings activities
config to embedded activity, we can't only count on
isInMultiWindowMode() for split-screen mode

Bug: 278176550
Bug: 276938441
Test: atest CombinedBiometricProfileSettingsTest
Test: atest FingerprintSettingsFragmentTest
Test: manaul go to split screen mode and try to enroll face
Test: manual unfold device and enroll finger or face
Change-Id: I02bd223f27889e74e67b73051531a5b4554f3de1
2023-04-14 09:57:04 +00:00
Milton Wu
52a46d0a85 Pass Timeout back to upper biometric preference
When FaceSettings or FingerprintSettings are closed because of onStop(),
this information can't been passed back to previous Preference screen,
CombinedBiometricSettings, because handlePreferenceTreeClick() from
AbstractPreferenceController class only can launchActivity() throguh
preference's Context.

In order to recevice the activity result code from FaceSettings or
FingerprintSettings, add handleBiometricPreferenceTreeClick() method in
BiometricStatusPreferenceController. Then CombinedBiometricSettings uses
this method to show FaceSettings or FingerprintSettings through
launchActivityForResult().

Bug: 263057093
Test: atest BiometricNavigationUtilsTest
Test: Manually open camera through double-click power key on different
      pages inside "Face & Fingerprint Unlock"
Change-Id: I99167739766ad5ea5f204b0f0543ba6ad18fac31
2023-04-13 09:02:18 +00:00
Hao Dong
64277a23bb Show a dialog preventing face enrollment in split mode.
Test: atest CombinedBiometricProfileSettingsTest
Test: atest FingerprintSettingsFragmentTest
Test: manaul test- go to split screen mode and try to enroll
face
Bug: 276938441

Change-Id: I45e859b453700aa79f7774fb5deda81b1f30e5a5
2023-04-07 21:53:52 +00:00
Hao Dong
ee8252b56b Show a dialog preventing fingerprint enrollment in split mode.
Test: atest CombinedBiometricProfileSettingsTest
Test: atest FingerprintSettingsFragmentTest
Test: manaul test- go to split screen mode and try to enroll
fingerprint
Bug: 246247132

Change-Id: I12357d197f2ceda8c1f1f582cdecb20fd18e30f7
2023-04-03 18:02:22 +00:00
Derek Jedral
053a9f8947 Route to active unlock component
Update onRetryPrefenceTreeClick to check for the active unlock
preference. If biometrics are not enrolled and we're using the
biometric failure model, launch the biometric setup flow. Otherwise,
launch the  component directly.

Test: manual flag flip, confirm activity launches
Bug: 266441818
Change-Id: I8f3ce8f8366b65aad622d33ff7f99f5c82aae3e8
2023-01-30 16:48:52 -08:00
Derek Jedral
9134f24f31 Update text when Active Unlock is enabled.
Update the security summary, intro, and unlock your phone summary when
Active Unlock is enabled and enrolled on the device.

Test: make RunSettingsRoboTests
Test: manually flip flags, confirm combined page has updated strings
Bug: 264812018
Change-Id: I2843e9f3aa0f38a9f2ebb18d60fed6293f9ce36e
2023-01-30 16:48:52 -08:00
Milton Wu
5a47cf56ef Retry fingerprint or face unlock
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
2022-10-19 23:55:39 +08:00
Joe Bolinger
e167f9ed0a Cache context for generateChallenge response.
Fix: 232678514
Test: manual
Change-Id: I7deac5f296260bf667b15300e600195c42c0cbc1
2022-08-18 00:49:38 +00:00
Curtis Belmonte
a9c582262e Make biometric setting toggles show dynamic auth types
Updates the preference toggles shown on the combined biometric settings
screen to indicate which types of biometric sensor (e.g. face and/or
fingerprint) each setting applies to. This is done by checking the
maximum registered strength for each type of sensor.

Test: Manual

Bug: 193714498
Bug: 201306569
Change-Id: I1f27bbe1fdd172ebc899c3c5f1daef9095b338bd
2021-09-27 15:55:43 -07:00
Yi-Ling Chuang
9312dc83fa Apply sliding transition to biometric settings
Bug: 187542491
Test: rebuild
Change-Id: Ife645785a37c4ac838204d0613dffd5a5911a47e
2021-06-04 15:49:43 +08:00
Joe Bolinger
eb5fd6ec30 Prevent duplicate lock confirmation in face & fingerprint settings.
Wait for all extras to be available before launching the next activity.

Fix: 187005993
Test: manual (open face/fp settings & verify only asked for PIN once)
Change-Id: I9e3f46d5750b11ab0773d08d44908d3e9703ca42
2021-05-21 20:55:11 +00:00
Joe Bolinger
971f0f3c5a Add userId parameter to all uses of challenge in settings.
Bug: 184915229

Test: manually on device (as normal, extra user, & work profile)
Change-Id: Id509b5866d53525b38a5bb95bbbcc723d6651745
2021-05-10 18:26:57 -07:00
Rubin Xu
8e4acdbf51 Refactor ChooseLockGenericController
* Move all logics around aggregating password policies
  to the controller
* Replace HIDE_DISABLED_PREFS and MINIMUM_QUALITY_KEY
  with HIDE_INSECURE_OPTIONS as all call sites are just
  using them to hide insecure screenlock options.
* Remove password policy aggregation logic from
  ChooseLockPassword and make it use policies passed in.
* Remove padlock from disabled screen lock options,
  per UX mock.
* Increase char limit for some strings

Bug: 177638284
Bug: 177641868
Bug: 182561862
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.password
Test: 1. set profile password quality/complexity and enroll device lock
      2. set profile password quality/complexity and enroll work challenge
      3. set parent password quality/complexity and enroll device lock
      4. set parent password quality/complexity and enroll work challenge
      5. set profile and parent password complexity, then enroll work challenge
      6. set profile and parent password complexity, then unify work challenge
      7. Enroll device lock during SUW
Change-Id: Iba1d37e6f33eba7b7e8e1f805f8e37aaec108404
2021-05-06 23:09:27 +01:00
Kevin Chyn
1f0cd17e3e Fix several challenge paths
1) Combined settings page should finish() when losing foreground
   (but not if fingerprint or face settings are launched from it)
2) Challenge should be generated when entering FaceSettings or
   FingerprintSettings each time. This allows us to leave the existing
   revokeChallenge paths in FaceSettings and FingerprintSettings.

Fixes: 186257202
Test: Manual

Change-Id: I1b6452f787279001a71628f220c01fcb86b88f3d
2021-04-28 13:01:28 -07:00
Mill Chen
8843157b01 Update confirming credential flow for biometric settings
The combined biometrics settings has been integrating face and
fingerprint authentication together, so the confirming credential flow
has to be invoked before entering biometrics settings page.

Bug: 183449119
Test: manual
Change-Id: I3c0d059241cb10a254868c2e388c4d3b20305b10
2021-04-23 15:33:32 +08:00