Commit Graph

81 Commits

Author SHA1 Message Date
Grace Cheng
2365ad895a Fix NPE in updateAddPreference
Update mAddFingerprintPreference to avoid NPE

Fixes: 286495189
Test: Rotate screen during first fingerprint enrollment, complete enrollment, and observe no crash
Change-Id: Id7edde492168b467360c6c99b326721cd883bba8
2023-06-13 16:52:51 +00:00
Hao Dong
755a67a931 Set EXTRA_KEY_FOR_FINGERPRINT for choose lock screen.
Bug: 279823572
Test: atest FingerprintSettingsFragmentTest
Test: atest ChooseLockGenericTest
Change-Id: Ie4bc18bf245eb7a755862401c710d85381063ff9
Merged-In: Ie4bc18bf245eb7a755862401c710d85381063ff9
2023-05-10 23:26:02 +00:00
Grace Cheng
ec1bd37db0 Prevent NPE on deleting fingerprint in Settings
Gate all Settings FingerprintUnlockCategory logic on isSfps() check to prevent NPE

Fixes: 279866500
Test: Enroll 2+ fingerprints on a non-sfps device, delete fingerprint,
observe no crash

Change-Id: I040d498426e0f8efb789875eedeb7bcf44436149
2023-04-29 05:19:41 +00:00
Grace Cheng
54d1cfdae0 Fix flicker of “touch to unlock anytime” toggle
Fixes flicker of toggle by setting not visible when launching confirm
pin/pattern/password or enrollment prior to displaying
FingerprintSettings. Also cleans up FingerprintSettings and
security_settings_fingerprint.xml to better separate SFPS and non-SFPS
logic and rename methods for clarity

Test: (manual) navigate to sfps fp settings and observe toggle doesn’t flicker
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsUnlockCategoryControllerTest
Fixes: 263843645
Change-Id: Ide3a666fc31b926ac14645dc22d090f77d81f901
2023-04-27 00:29:09 +00:00
lbill
8e12f5257d Add Null check FingerprintSettings#updateAddPreference()
When fingerprint finish enrollment, user click Done
The flow would be:
-> wm_finish_activity
-> relaunch_resume_activity
-> wm_on_destroy_called
-> wm_on_create_called
-> wm_on_start_called
-> wm_on_activity_result_called
   In U, we need to add NPE check when updateAddPreference()
   earlier then addFingerprintItemPreferences()
-> wm_on_resume_called

Bug: 275519315
Test: manual enroll SFPS, in FingerprintEnrollEnrolling,
      rotate device, then complete the enrollment
      verify the flow never crash and user can see enrolled
      fingerprint in FingerprintSettings

Change-Id: Ia262741aeceeb36eefd159ad2ca1c9fa0e061d54
2023-04-21 02:24:43 +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
Diya Bera
4c3ac9b994 Merge "Learn more updated in Fingerprint Settings for side fps" into udc-dev 2023-03-02 19:09:23 +00:00
Diya Bera
5faf4eeb8e Learn more updated in Fingerprint Settings for side fps
Test: Manual - Go to Fingerprint Settings and check the string
Bug: 258338293
Change-Id: Ia22fcd1289bec85642993b22fe3cb3ebaf647cbd
2023-03-01 01:13:03 +00:00
Milton Wu
94b421b253 Refine FingerprintEnrollmentActivity
1. Fix backstacks after enrolling finish
2. Support skipFindSensor and skipIntro

Bug: 260957939
Test: Manually test it on different sensor devices
Change-Id: I4061e29999a47bf4859d6562ad82330fb0f6f620
2023-02-25 08:08:31 +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
Grace Cheng
4849540cef Merge "Prevents retrying fingerprint after lockout reset if user exits FingerprintSettings" into tm-qpr-dev am: 5c10188254 am: 392d971067
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21038428

Change-Id: Ia6c0c8846e214aa40165f73a1634a1f0b1ed2dc5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 04:32:02 +00:00
Grace Cheng
83fce8a0aa Prevents retrying fingerprint after lockout reset if user exits FingerprintSettings
Fingerprint auth is active on the enrolled fingerprints page to indicate
to users which fingers are enrolled. Tapping 5x with unenrolled finger
on this page sends FINGERPRINT_ERROR_LOCKOUT, which posts a
mFingerprintLockoutReset runnable to retry fingerprint auth after
LOCKOUT_DURATION. If a user turns off their device and unlocks via
pin/pattern/password, this resets lockout, triggering the runnable and
causing fingerprint auth to be retried upon device entry. This change
prevents this by removing the runnable callback in
FingerprintSettingsFragment#onPause.

Test: Navigate to enrolled fingerprints page (Settings > Security > Face & Fingerprint Unlock > Fingerprint Unlock). Tap 5x with unenrolled finger, then turn off screen and unlock via pin/pattern/password. Ensure indicator does not appear upon device entry.
Fixes: 261366312
Change-Id: I4190669286461e9ce884685a9929313da953476d
2023-01-19 01:00:16 +00:00
Joshua Mccloskey
bc1291e163 Merge "Fixed scroll issue w/ FP settings" into tm-qpr-dev am: 7b8bddaac0 am: dc0f04d7ee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20931688

Change-Id: I9ead82f334b4ca2b69989707d5890f9e8cdf3ab3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-12 00:53:55 +00:00
Joshua McCloskey
3e0f8365f5 Fixed scroll issue w/ FP settings
Test: Verified fingerprint preferences are not shown over the fingerprint title when device is rotated in settings screen
Fixes: 259338792
Change-Id: Ie99e584247bb52b097e949d0c8c0ed096543aa21
2023-01-11 02:04:41 +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
Grace Cheng
af2896195e Merge "Removes duplicate SFPS string and updates references" into tm-qpr-dev 2022-12-03 05:37:34 +00:00
Grace Cheng
0d74f4b755 Removes duplicate SFPS string and updates references
Removes duplicate security_settings_fingerprint_v2_home_screen_text string and replaces references with security_settings_fingerprint_enroll_finish_v2_message

Test: Open fingerprint settings on SFPS device where fingerprints are enrolled, observe correct string
Fixes: 259316600
Change-Id: I259669a09f5535f3a776793659e5bc6bdb90a44c
Merged-In: I259669a09f5535f3a776793659e5bc6bdb90a44c
DO NOT MERGE
2022-12-02 23:50:37 +00:00
Grace Cheng
9d6a869ebe Removes duplicate SFPS string and updates references
Removes duplicate security_settings_fingerprint_v2_home_screen_text string and replaces references with security_settings_fingerprint_enroll_finish_v2_message

Test: Open fingerprint settings on SFPS device where fingerprints are enrolled, observe correct string
Fixes: 259316600
Change-Id: I259669a09f5535f3a776793659e5bc6bdb90a44c
2022-11-18 19:43:40 +00:00
Diya Bera
f0da87dae8 Merge "Remove header "When using fingerprint unlock" for Udfps" into tm-qpr-dev am: b4a0a0563d am: 4688fd9074
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20499435

Change-Id: I6251ada6b0da4222bb676ac4e4b04db3e7b73717
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-17 01:41:02 +00:00
Diya Bera
68903de369 Remove header "When using fingerprint unlock" for Udfps
Fixes: 257272989
Test: Manual - Open Fingerprint Settings and observe the UI
Change-Id: I98235e56a3537eff00490584c88f459ac755433f
2022-11-16 21:08:04 +00:00
TreeHugger Robot
a4b2bc9b2b Merge "Fix NPE of mDismissListener in Rename Dialog" 2022-11-16 03:26:40 +00:00
TreeHugger Robot
daf43a4605 Merge "Apply feature flag for biometrics" 2022-11-16 02:40:28 +00:00
lbill
c9f58d684e Fix NPE of mDismissListener in Rename Dialog
Bug: 241122882
Test: Enroll 1 fingerprint, and rename in landscape mode, check no
more NPE when focus on inputfield and IME shown

Change-Id: I24fe9aab11cabd67015989cfaaf6a8228ea72b59
2022-11-15 19:06:00 +00:00
Milton Wu
ee5ebfa18f Apply feature flag for biometrics
adb shell setprop sys.fflag.override.settings_biometrics2_enrollment true

Bug: 236072782
Test: Manully enable feature flag and test
Change-Id: Id794ba117d3ae9e0bc76086ee8c1cd95fa607cc1
2022-11-14 15:36:09 +08:00
Diya Bera
1181760b86 Remove "require screen on to auth" preference for Udfps
Fixes: 257272989
Test: N/A
Change-Id: Ic10bd02c7a26e58abcb471c3f495d65247f29edc
2022-11-03 22:29:10 +00:00
Grace Cheng
13d3bdc4c0 Implement SFPS “require screen on to auth”
Creates new setting on SFPS to require screen on before unlocking a
device. Also sets up toggles for this setting at the end of fingerprint
enrollment and on the fingerprint settings page, and adds tests to
verify expected behavior.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Fixes: 249169615
Fixes: 245343077
Fixes: 248530806
Change-Id: Id588796426d071860b3cc2af9ec5798c0027c202
Merged-In: Ia44604b059c4847c40608419b2e16219976ced3e
2022-11-02 14:34:59 +00:00
Grace Cheng
0f0f35b2dd Implement SFPS “require screen on to auth”
Creates new setting on SFPS to require screen on before unlocking a
device. Also sets up toggles for this setting at the end of fingerprint
enrollment and on the fingerprint settings page, and adds tests to
verify expected behavior.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Fixes: 249169615
Fixes: 245343077
Fixes: 248530806
Change-Id: Id588796426d071860b3cc2af9ec5798c0027c202
2022-10-27 21:43:55 +00:00
Milton Wu
9f070ee9c1 overridePendingTransition in FingerprintSettings
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
2022-09-30 13:43:35 +00:00
TreeHugger Robot
048bc692a4 Merge "Updated fingerprint dialog deletion strings." into tm-qpr-dev 2022-09-02 20:09:01 +00:00
Joshua McCloskey
c76f988475 Updated fingerprint dialog deletion strings.
Test: Manual
Fixes: 234183857
Change-Id: Ieb500d52f705eb269937cd0fcd6b14081f9662ee
2022-09-01 17:27:51 +00:00
Milton Wu
d3a1f700ee Fix udfps fingerprint setting flow
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)
2022-08-29 07:22:40 +00:00
Milton Wu
561a68db20 Use setting as base activity for fingerprint
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)
2022-08-29 07:21:42 +00:00
Joshua McCloskey
74f7988ced Update fingerprint removal dialog strings
Test: Verified manually.
Fixes: 234183857
Change-Id: I52d2ae620da40d33c13fb860200137f10e51b07d
2022-06-03 19:51:20 +00:00
Milton Wu
13c91159a2 Fix More details not work on fingerprint
FooterPreference doesn't support linkify in order to have better
accessibility. So we need to separate original 1 Footer into 2 Footers
in Fingerprint settings.

Bug: 230625178
Test: test fingerprint setting footer links with admin mode or non-admin
      mode
Change-Id: I07263a1faaf7dddf79ba96dd9fcb4fce4cf8981b
2022-05-09 11:39:56 +00:00
Milton Wu
130a64779e Fix Learn more link not work
Old span text shall not be used in preference footer. Change
implementation to use footer learnMore APIs

Bug: 228101275
Test: Make sure "Learn more" can be clicked on Fingerprint setting page
Change-Id: Ied2326b1a75fc02e7a3fe2321735f2f9f5ac066f
2022-05-05 15:15:48 +08: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
5eda7f09d0 FPSettings depends on SensorProps for maxEnrolls
Test: Verified that AIDL FP devices honor the maximum number
of fp's allowed according to the HAL.
Fixes: 223617233

Change-Id: Ia0c46647d77ce52d4fe95154eae8d8b656456f53
2022-03-10 04:05:33 +00:00
Jan Tomljanovic
51b6eb3260 Trigger SafetyCenter update on each Fingerprint settting change.
Test: atest SettingsUnitTests
Bug: 215518850
Change-Id: I44f9e6dbdffa128d57a23fbe97ee875a549c3cd2
2022-02-24 14:19:12 +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
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
7920117a1a Do not auth in settings if UDFPS
Fixes: 185670313
Test: manual
Change-Id: I0ccc85aa05807f54a38ff69a81f87e6a63be9504
2021-04-22 14:44:25 -07:00
Kevin Chyn
ee8fc8d587 Do not scan for fingerprint when rename dialog is showing
Fixes: 185670313
Test: manual
Change-Id: If153806d25c5397f1699d049a10c5bccaf87e413
2021-04-19 14:20:56 -07:00
Kevin Chyn
83b061d3da Actually use new string in fingerprint settings
Fixes: 185805485
Test: Manually inspect
Change-Id: I9a92d4198e3482d7f08d033f8d1242a28a39ef4a
2021-04-19 13:05:35 -07:00
Edgar Wang
0c914077aa Merge "Change packagename of TwoTargetPreference" into sc-dev 2021-03-17 05:08:21 +00:00
Kevin Chyn
13b05b6fb8 Merge changes from topics "fp-revokeChallenge", "new-revokeChallenge" into sc-dev
* changes:
  Update fingerprint revokeChallenge with frameworks/base
  Update revokeChallenge together with frameworks/base
2021-03-11 01:14:15 +00:00
Kevin Chyn
39b2fe8bd5 Update fingerprint revokeChallenge with frameworks/base
Bug: 181977689
Test: manual
Change-Id: I92e6dae58d67f1355c6d0ba3bbf95ff2ad5247ed
2021-03-09 18:12:54 -08:00