Commit Graph

50 Commits

Author SHA1 Message Date
Joshua McCloskey
e5f62676c8 Adding biometric FRR Notification atom.
Test: statsd_testdrive 793
Test: statsd_testdrive 184
Test: m -j50 RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.biometrics
Test: atest FingerprintUpdaterTest FaceUpdaterTest
Bug: 302171089

Change-Id: I4c921b75321db79cc975b98b54b176a43379cd7c
2024-02-15 19:09:35 +00:00
MiltonWu
bb8be99c5c Fix calibrator missing during suw page switch
Pass previous calibrator uuid to next fingerprint enroll activity

Bug: 318453900
Test: Manully test suw fingerprint flow
Change-Id: Iad1e9e1811f58fa880b8d05a722b7fdf57a814fa
2024-01-03 14:49:23 +08:00
MiltonWu
2feaa3fa25 Refine calibrator usage
Bug: 316103317
Test: Manually run the scenario
Change-Id: If57396696b6a7d10e289ab0f2e7b14148034d34b
2023-12-13 10:16:47 +00:00
MiltonWu
07361691cd Refine UdfpsEnrollCalibration
Remove most implementation from Settings

Test: FingerprintEnrollIntroductionTest FingerprintEnrollFindSensorTest
Bug: 301226085
Change-Id: Ib3438c740919f38f3d2f86d508fcd20bef522023
2023-11-30 03:29:57 +00:00
MiltonWu
3550029297 fingerprint pre-enroll calibration
Add calibration interface and dialog

Test: Manually doing enrollment without any exception
Bug: 301226085
Change-Id: Ibe0d205e87f75bb1d5bd1c646deb8501d96a4a5a
2023-10-18 04:25:14 +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
Milton Wu
1cef4545c8 Update fingerprint introduction string
Update introduction string to show device name

Bug: 251727719
Test: Manually check FingerprintEnrollIntroduction and
      FingerprintSettings page
Change-Id: Ie44a5e3e41e0ff2acaaa2388b04068b218da1c67
2023-01-31 05:28:42 +00:00
Milton Wu
160661dc6d Launch settings for clicking fingerprint unlock
Launch FingerprintSettings directly when user clicks "Fingerprint
Unlock". Let Fingerprint settings peform confirmLock() or chooseLock().
And to have smoothly animation, instead of generating challenge in
FingerprintSettings::onActivityResult(), challenge is generated in next
visible activity, and pass it back through next activity result.

Bug: 197717071
Test: atest GatekeeperPasswordProviderTest CredentialModelTest
Test: atest AutoCredentialViewModelTest FingerprintStatusUtilsTest
Test: RunSettingsRoboTests2 FingerprintEnrollIntroductionTest
Test: Manually test fingerprint enroll in settings or suw
Change-Id: Ie27c3c493ea475f6b53cb6bb3f2d45d555f47cb3
2022-12-30 10:01:06 +08:00
Pasty Chang
1d4e011f41 Migrate ambiguous getId method into getLink
The method name getId in setup library LinkSpane would be changed to the name getLink, so migrate the app that is used to getId to getLink.

Bug: 256095678
Change-Id: I2f9d58d82d99775575249e9e245949a0bc1d553e
Test: manual
2022-11-16 07:18:01 +00:00
Grace Cheng
f9886847e8 Merge "Fixes Talkback autoscroll for SFPS enrollment ScrollView" into tm-qpr-dev 2022-09-16 01:42:06 +00:00
Grace Cheng
b798c03f50 Fixes Talkback autoscroll for SFPS enrollment ScrollView
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
2022-09-15 23:24:03 +00:00
Milton Wu
9b998b7dac Refine checkMaxEnrolled() for fingerprint
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
2022-09-07 07:49:42 +00:00
Austin Delgado
756bc29e70 Made learn more links clickable in biometric intros
Test: Clicked on links
Change-Id: I376db30c848fafa0680277943c83ec97690ef62d
Bug: 233543002
2022-08-10 23:50:16 +00:00
Milton Wu
bd966754ce Check portal on fingerprint intro page
Check SUW portal flag on Fingerprint introduction page. Do not use
suw_max_fingerprints_enrollable as fingerprint count if portal flag is
enable.

Bug: 235655422
Test: m RunSettingsRoboTests \
      ROBOTEST_FILTER=FingerprintEnrollIntroductionTest
Test: Manually test "Add another finger" on Deferred and Portal
      suggested actions page
Change-Id: I2789d95fb214b5da6d8d03ef77583d064652e69e
2022-07-14 05:28:46 +00:00
Grace Cheng
3c53dac81b Display screen protector string and icon in fingerprint enrollment only on relevant devices
Sets screen protector string and icon visibility to visible on UDFPS, and non-visible on non-UDFPS devices

Fixes: 230156966
Test: Navigate to fingerprint enrollment page to see string & icon are
gone on side-FPS device

Change-Id: I527fb0d944a7c8180297ad44efa3e9bba3012703
2022-07-08 23:39:32 +00:00
Joshua McCloskey
1dd4f54d58 SUW enrolls FP before Face
Test: During SUW verified Fingerprint enrollment
comes before face.
Test: During SUW enrolled multiple fingerprints than 1 face.
Test: Skipped and cancelled on every possible screen to ensure behavior
was correct.
Bug: 228607474

Change-Id: I4c50763a804fe4eb9d62451eb2f957545857723e
2022-04-18 19:42:35 +00:00
Joshua Mccloskey
ec589193c3 Updated UDFPS strings.
Test: Manual.
Fixes: 226490774
Change-Id: I6aeed72ab87e9b8b937f1acda12499c9af87462c
2022-03-29 04:50:58 +00:00
kholoud mohamed
de78149c16 RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
Bug: 217388602
Bug: 218875965
Test: atest EnterpriseResourcesTests
Test: manual
Change-Id: I4775d7741c7819fd811c3fc4eda1636b1e04b398
2022-03-17 17:37:45 +00:00
Joshua Mccloskey
66095680b2 Allow deferred SUW to add multiple fingerprints
Test: Verified that I could add extra fingerprints in deferred
SUW.
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollIntroductionTest
Fixes: 204846146
Fixes: 223722376

Change-Id: Ib3fc31131e97f13512783ca2bab9d205da3a4044
2022-03-10 23:02:13 +00:00
Jonathan Scott
e0d439472f Allow Device Management Role Holder to update Settings strings.
Test: manual
Bug: 188414370
Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
2022-01-25 19:03:24 +00:00
Joshua Mccloskey
f0a55f7c4e Fixed bug causing user to be stuck on face intro
Test: See below
Fixes: 203375738
Change-Id: I3e59191a8c936c7c7a3d8561e908593dbf9710b5

1. Enrolled a face during SUW
2. Pressed back on fingerprint enroll intro
3. Verified that the next button's text is chnaged to done
4. The done action launches the fingerprint enroll intro flow.

Change-Id: Id5d652257445e40426ade3d396a31ebf936cc348
2021-10-25 15:08:51 -07:00
Kevin Chyn
570540b15c Do not show work profile strings for parent-managed enrollment
Work profiles and parental management both utilize the
DevicePolicyManager KEYGUARD_DISABLE_* flags. This CL ensures that
work profile strings are only shown for work profiles, and not
parent-managed devices.

Bug: 196060286
Bug: 196443744
Test: Set up child account, then enroll from Settings > Security
Change-Id: Ib5ed1d63dd5d58ac64caf30010e340ac7784c38f
2021-08-12 15:56:38 -07:00
Curtis Belmonte
0a8916a808 Move multi-biometric logic to base fp intro activity
Ensures that the relevant multi-biometric logic--specifically, logic to
ensure that fingerprint enroll is shown exactly once after face
enroll--is present in both the SUW and non-SUW versions of the
fingerprint enroll introduction activity. This fixes an issue where
fingerprint enroll would occur multiple times when triggering the
multi-biometric enroll flow outside of SUW (e.g. via an enroll intent
action).

Test: CTS-Verifier: Biometric Tests > 2a: Strong Biometrics + Crypto

Bug: 193601823
Change-Id: I17c09e9a72ced2f23b0b279ea51a6aa209668485
2021-07-20 13:32:13 -07:00
Curtis Belmonte
218187bcce Fix buttons and icons for fingerprint enroll intro
Updates the labels of buttons and the colors of icons shown on the
fingerprint enroll intro screen to be consistent with the face enroll
intro screen and match the latest mocks.

Note that this commit removes some unused strings but does not add any
new ones requiring l10n.

Test: Manually tested face enroll from Setup Wizard and Settings

Fixes: 192381823
Change-Id: Id991d4f29d6de82acd538f1853bc8a5e50cd2637
2021-06-29 14:05:27 -07:00
Joe Bolinger
4af5a3644d Update strings for parental consent flow in setup wizard.
Bug: 188847063
Test: manual
Change-Id: I044be874818f6563a47c3f7c8c5011b3cab31ae9
2021-06-17 14:53:56 -07:00
Curtis Belmonte
e301d59536 Fix face/fingerprint consent primary footer button logic
Currently, the primary footer button on the face and fingerprint enroll
consent pages reads "I agree" even before the user has scrolled to the
bottom of the screen. This commit fixes the issue so that "More" is
displayed until the user scrolls to the bottom. The remaining logic is
left intact.

Test: Manual:
1. Start face or fingerprint enrollment
2. Confirm primary button shows "More" and secondary button is hidden
3. Press the "More" button or scroll to the bottom of the screen
4. Ensure primary button shows "I agree" and secondary shows "No thanks"

Fixes: 189268868
Change-Id: I02fa47d1de83bd5b5d82c733495ae579cbd2d6c6
2021-06-10 16:38:11 -07:00
Joshua Mccloskey
e80c5cddd2 BiometricEnrollIntroduction button update
No longer show the "No thanks" button until the user has
scrolled to the bottom of the introduction text.

This applies for both face and fingerprint enroll introduction screens.

Fixes: 189268868
Test: Manual
Change-Id: I0ccf6ae1d329df06f769f05288706ef22183bc21
2021-06-08 22:25:16 -07:00
Curtis Belmonte
937ff332f3 Update face/fingerprint consent screen UIs
Makes the following UI changes to the consent screens for face and
fingerprint enrollment:
- Sets description text in XML rather than in Java
- Highlight both primary and secondary buttons
- Use extracted highlight color for all icons

Test: Manually tested SUW flow

Bug: 188922185
Bug: 187458628
Bug: 183710943
Change-Id: I39d9b990dcbb82f443515a2175766dc51ca1180c
2021-05-24 13:17:09 -07: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
Mill Chen
872db9c41a Add require scrolling button for FingerprintEnrolling intro
The consent in the fingerprint introduction has been updated. Users are
required to read through the content. Adding a scrolling button is to
prevent directly going to next page from this page. It also makes sure
the content has to be scrolled down to the bottom of page.

Fix: 184591438
Test: visual verified
1) Prepare a device with fingerprint sensor
2) Settings > Security > Fingerprint unlock
3) Entering the enrollment flow and see if the introduction has a button
named "More" on the right-bottom side.

Change-Id: I1916293807ca9fb04f5d576cf4f6aaccbbe1ff00
2021-05-06 17:29:38 +08:00
Mill Chen
c2be31a7d3 Update new consent screen for fingerprint
- Move top description into subtitle for landscape mode
- Update the button text

Bug: 177591560
Test: robotest and visual verified
1) Settings -> Security -> Fingerprint
2) Rotate the device and check if the description is on the right side

Change-Id: Ie20597fce48f73aa83c5d637682db1860c384a7a
2021-03-05 15:53:01 +08:00
Kevin Chyn
516c3cea50 Immediately finish FingerprintEnroll when no FingerprintManager
Fixes: 161603652
Test: adb shell am start -a android.settings.FINGERPRINT_ENROLL
Change-Id: I52e2770a8870a1699dec5b20cb8c54db8991a14d
2020-12-16 16:07:58 -08:00
Kevin Chyn
af7837f602 Update generateChallenge/revokeChallenge w/ frameworks/base
Bug: 171002801
Bug: 170517180
Test: Enroll on existing devices
Change-Id: I78530fde275c5ac924e50d77de43b90969d6eb5b
2020-10-15 18:41:47 -07:00
Kevin Chyn
587bd62dff Update settings together with frameworks/base
Bug: 169459906
Test: Builds

Exempt-From-Owner-Approval: Name change

Change-Id: I453d743fe29c33776a784942863dcba19c67c26a
2020-09-29 18:19:16 -07:00
Kevin Chyn
8d63b98272 Update settings together with frameworks/base
Bug: 169195610
Test: Builds
Change-Id: I2c732dba78eb8c90ef71351562415e06949b31bb
2020-09-23 00:17:56 -07:00
Kevin Chyn
87bb772e16 2/n: Add default implementation for multi-biometric enroll
1) Adds a layout for multi-biometric selection in BiometricEnrollActivity
2) Adds widgets for checkboxes
3) Shows ConfirmLock*/ChooseLock* for multi-biometric devices in
   BiometricEnrollActivity
4) finish()'s when loses foreground
5) Adds default string for ChooseLock* and multi-biometrics, e.g.
   "Set up Password + Biometrics", as well as associated plumbing
   to bring the user back to BiometricEnrollActivity once the
   credential is enrolled
6) When max templates enrolled, checkbox becomes disabled and
   description string is updated

Bug: 162341940
Bug: 152242790
Fixes: 161742393

No effect on existing devices with the following:
Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL
Test: SUW
Test: make -j RunSettingsRoboTests

Exempt-From-Owner-Approval: Biometric-related change
to EncryptionInterstitial

Change-Id: I855460d50228ace24d4ec5fbe330f02ab406cc02
2020-09-16 23:30:11 -07:00
Kevin Chyn
9ce9d3d539 Update biometric onChallengeGenerated with frameworks/base
Bug: 145978626
Test: Builds

Change-Id: If02497fa6462f1ff263aeb96cf0beed014fee328
2020-08-16 11:48:13 -07:00
Kevin Chyn
66bfe45f99 BiometricEnrollIntro should use non-blocking generateChallenge
GenerateChallenge used to block when showing the credential screen.
Now that GenerateChallenge is moved to after the credential screen
is shown, we need to delay the next button instead. This is generally
non percievable to the user, but this is more robust against busy
system server.

Fixes: 161325267
Test: Enroll fingerprint/face device
Change-Id: I0fbbef8bf469e32bed251acf22556ad2ea8e2933
2020-08-07 12:49:37 -07:00
Kevin Chyn
cbe32ed1cf Update Settings together with generateChallenge/revokeChallenge
The internal implementation of generate/revoke in system_server is now
asynchronous. To keep existing clients working, the manager classes
introduce a blocking version of the generateChallenge calls. This change
updates Settings to use the backward-compatible blocking calls.

Bug: 157790417

Test: Enroll fingerprint/face
Test: After enrollment, toggle setFeature or do subsequent enrollment
      in face/fingerprint settings
Change-Id: Ib4dfdc5f12530b938ab9b1745f5a19cd9e2eceee
2020-06-25 17:12:46 -07:00
pastychang
9bdb59a764 Rename ButtonFooterMixin to FooterBarMixin
1. Change to FooterBarMixin
2. Move FooterButton to the same package with FooterBarMixin

Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: Ic6937e3cbc515dd7bf877c9193932cd5800ac801
2019-01-24 16:18:28 +08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
pastychang
79614823cb Rename prefix from suw to sud
Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: I44a399b586671c100cb9d85c97effbfb1a379413
2019-01-04 10:46:20 +08:00
pastychang
908501e40f Apply FooterButton builder
FotterButton constructor in setupcompat will be deprecated, change to
use builder.

Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: Ic84b0c91205bf3c770bc658e8eaf2626e4d7bddd
2018-12-26 14:56:44 +08:00
pastychang
1b1666855e Migrating to new footer button for fingerprint and face enrolling pages.
Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: I89a5e3674b8ba9ec66945c03c9b783664eee214f
2018-12-19 23:24:48 +08:00
Kevin Chyn
69e8a089d7 Show Choose/ConfirmLock before showing BiometricEnrollIntroduction
Skip button is now shown when ChooseLock is launched by
BiometricEnroll, otherwise users are forced to use passwords
(maybe good thing?)

Bug: 111548033

Test: Pin/pattern/pass must be set/confirmed before enrollment
Test: Able to enroll FP in SUW and Settings

Change-Id: Ic4bbeb539e4bf01c1c402dec308943292b43406d
2018-12-18 13:59:45 -08:00
Pasty Chang
c1f8600d9f Change to use setupcompat and setupdesign for suw pages
1. remove the dependence of setupwizardlib.
2. add to use setupcompat and setupdesign.
3. modify new footer button in following up cl.

Bug: 120805516
Bug: 120872944
Test: RunSettingsRoboTests
Change-Id: I463dd35b799d4250b2aabce0cb0b8102cf9dd7d6
2018-12-12 03:16:29 +00:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Kevin Chyn
ea65b51a36 4/n: Add basic enrollment for Face
Bug: 110589286

Test: fingerprint enrolling still works
Test: enrollment flow with and without a pin set up still works properly
Test: enrollment continues when configuration changes, stops otherwise

Change-Id: I39f76c7f1a16e9533cef573f87cf4b81cb20cb18
2018-07-10 18:39:19 -07:00
Kevin Chyn
4882e875ae 1/n Start adding Face settings (base, intro)
This change refactors common biometric settings code as well to minimize
duplicated code in areas such as:
    Preference Controller
    EnrollBase
    EnrollIntro

This change also updates ChooseLock to have Face + Pin/Pattern/Pass

Bug: 110589286

Test: Fingerprint settings/enrollment still works
Test: make -j56 RunSettingsRoboTests
Change-Id: Ie35406a01b85617423beece42683ac086e9bc4a7
2018-06-29 18:19:34 -07:00
Kevin Chyn
871e55fc54 Move Fingerprint settings to biometrics/fingerprint
Bug: 110589286

Test: make -j56 RunSettingsRoboTests
Test: adb shell am start -a android.settings.FINGERPRINT_ENROLL still works
Test: adb shell am start -a android.settings.FINGERPRINT_SETUP still works
Change-Id: If33b557137cae7b57e4a0e906ee95032bc589436
2018-06-25 16:51:16 -07:00