Commit Graph

888 Commits

Author SHA1 Message Date
Bill Lin
f6d23468b1 Merge "Refine SkipDialog title and desc by device configs" into udc-dev am: 4d5063ffdc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22779802

Change-Id: I4606997e91b4e23c76480362c6736efb464d7652
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-10 00:28:30 +00:00
Bill Lin
4d5063ffdc Merge "Refine SkipDialog title and desc by device configs" into udc-dev 2023-05-09 23:09:38 +00:00
Derek Jedral
fff41e6aa3 Merge "Remove feature flag for active unlock" into udc-dev am: 9c67ee1eb1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23089996

Change-Id: I7aaeed6ad5967a88b04583b19f8b35e2551a3b3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 18:04:09 +00:00
Derek Jedral
9c67ee1eb1 Merge "Remove feature flag for active unlock" into udc-dev 2023-05-09 17:17:11 +00:00
lbill
67d6dff7cc Refine SkipDialog title and desc by device configs
1. Wrap isFaceSupportedInSUW() in Settings Utils
2. Wrap getCombinedScreenLockOptions in Settings Utils
3. Add EXTRA_KEY_FOR_SUW to judge if in SUW flow
4. Refactor SetupSkipDialog by hasFace, hasFingerprint,
   isSuw, isFaceSupported conditions
5. Clean up the mapping logic of SetupSkipDialog
6. Replace bools with @LockPatternUtils.CredentialType
7. Refine the logic for isFaceSupported
   ---------------------------------------
   Config |SuwSupportFace|!SuwSupportFace|
    isSuw |    true      |      false    |
   !isSuw |   hasFace    |     hasFace   |

Bug: 263070591
Bug: 279389803
Bug: 279195215
Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL
Test: SUW(workprofile), post-SUW
Test: m RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.password
Test: m RunSettingsRoboTests ROBOTEST_FILTER=SetupSkipDialogTest
Change-Id: Ie7af4299695dc3983b4190929b4dd659c301c082
2023-05-09 09:55:52 +00:00
Jason Chang
5f7ffb31d2 Merge "Fix 'Do it later' button overlaps with text depending on landscape direction" into udc-d1-dev 2023-05-09 07:03:38 +00:00
Derek Jedral
501f3635dc Remove feature flag for active unlock
Active Unlock was guarded behind a feature flag for two main purposes.
1) To select the unlock intent or biometric failure layout. We've
   settled on unlock intent, so we no longer need the biometric failure
   codepath.
2) To guard the feature rollout. However, the additional platform guard
   is not necessary, since this feature availability is still guarded
   based on whether the secure settings are flipped to valid targets.
In order to keep the scope of this CL small, useBiometricFailureLayout
always returns false. Another CL will clean up all areas where it and
useUnlockIntentLayout are referenced.

Test: make RunSettingsRoboTests
Bug: b/280306741
Change-Id: I331afe9654b72249d461007c087e7f81783d7625
2023-05-08 12:46:36 -07:00
Austin Delgado
2971c13923 Merge "Fix going back after biometric enrollment in SUW" into udc-dev 2023-05-08 19:39:41 +00:00
Derek Jedral
42deb763e0 Merge "Change preference title if Active Unlock enabled" into udc-dev 2023-05-08 17:56:32 +00:00
Austin Delgado
6e745242da Fix going back after biometric enrollment in SUW
Bug: 280530120
Test: atest BiometricEnrollActivityTest
Test: tested manually by swiping back after enrollments
Change-Id: I305dd0904f86e2fc77f02047de8f3fc2c54621cb
2023-05-08 17:24:19 +00:00
Jason Chang
c4c2d65282 Fix 'Do it later' button overlaps with text depending on
landscape direction

Set Gliflayout content padding top to 0 to make it more space.

Bug: 279792554

Test: manually test with reproduciable steps:
1. Start setup until Fingerprint Unlock
2. Scroll down
3. Accept the introduction
4. Do as instructed
5. Flip the phone 180 degrees

Change-Id: I1875691cccfc75062c6d8c9517240569ae0a4261
2023-05-08 08:23:00 +00:00
Hao Dong
6e8434b793 Call onFaceStrengthChanged() only when authenticators registered.
Test: atest FaceEnrollIntroductionTest
Test: manually tested face enroll introduction page
Bug: 280384533
Change-Id: Iac9506d8430459aa399ac8efd3f41cbc6e67260d
Merged-In: Iac9506d8430459aa399ac8efd3f41cbc6e67260d
2023-05-04 06:59:53 +00:00
Derek Jedral
5a75cd54d4 Change preference title if Active Unlock enabled
Change the title of the preference to reflect that Active Unlock can
also be used to unlock the device.

Test: make RunSettingsRoboTests
Bug: b/271782800
Change-Id: Ie227e6dddfc024235fc3568899ef151f14f17696
2023-05-03 12:37:01 -07:00
Wenhui Yang
25de3b2b9c Merge "Fix overlap in udfps_enroll_enrolling" into udc-dev 2023-05-03 06:11:23 +00:00
Diya Bera
7dd5f5e156 Merge "Remove "Try again" from fingerprint error dialog" into udc-dev 2023-05-02 22:34:09 +00:00
Diya Bera
9814931fd8 Remove "Try again" from fingerprint error dialog
Test: Manual (Start enrollment and don't complete it for 10 minutes;
observe the dialog; screenshot in bug)
Bug: 279648300

Change-Id: I88280e3a5d47735285d89174ad8bcb0da8d39282
2023-05-02 09:51:36 -07:00
Wenhui Yang
3aae28c463 Fix overlap in udfps_enroll_enrolling
Fix the view overlap on R4 device when setting up fingerprint in
device registration or the font size set to largest. Please see
ag/21478828 for reference.

Test: Manual -
Set up fingerprint in device registration and observe the views
don't overlap.
Set up fingerprint in Settings with font size set to largest and observe the views don't overlap.

Bug: 275119187
Change-Id: I82d2a3941211801e2c4615ba9ba5a917f3cd9ea1
2023-05-01 22:18:47 +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
Austin Delgado
9b94905c63 Merge "Hide enrollment options that don't match requested biometric strength" into udc-dev 2023-04-28 17:42:46 +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
Bill Lin
a958fc79c8 Merge "Add Null check FingerprintSettings#updateAddPreference()" into udc-dev 2023-04-21 07:35:55 +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
Austin Delgado
0ea56b4fec Hide enrollment options that don't match requested biometric strength
When calling biometric enroll intent with biometric_strong, don't include
weak enrollments as options.

Bug: 265898482
Test: Tested manually by calling enrollment and verifying correct
options are shown
Test: atest BiometricEnrollActivityTest

Change-Id: I5fa650a593aee536955ae806f5963ffbdc135a2e
2023-04-20 11:20:37 -07:00
Diya Bera
6fbfec99c8 Merge "Adding owners" am: b1aabec0db am: 49ea4e5d22 am: 8a31106496
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2546170

Change-Id: Ie1505f0272340b867648341bfe01f26e948f14b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 17:54:50 +00:00
Diya Bera
8a31106496 Merge "Adding owners" am: b1aabec0db am: 49ea4e5d22
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2546170

Change-Id: Ibfc5a6684f98c842f95f5cb125310d89a0035644
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 17:39:42 +00:00
Diya Bera
33fab7e415 Adding owners
Test: N/A
Bug: 278741020
Change-Id: Ife62f56fd0e3c83427347365a1eebfad3ec3ed6d
2023-04-18 22:56:31 +00:00
lbill
e85d588904 Fix Settings crash on non face service support devices
Doing some improvement for stability:

1. Check hasSystemFeature(PackageManager.FEATURE_FACE) for non-face
   service devices.
2. Wrap addAuthenticatorsRegisteredCallback()
3. Find mPreference before addAuthenticatorsRegisteredCallback

Bug: 276680407
Bug: 278174667
Bug: 277647959
Bug: 277725506
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER= \
      FaceSettingsFooterPreferenceControllerTest
Change-Id: I81346b6eb8c44106c5e52867d69c8736203dd558
2023-04-17 11:45:13 +00:00
Treehugger Robot
019e8ceb72 Merge "Fix enrolled pages not hide during SUW" into udc-dev 2023-04-17 05:23:17 +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
Bill Lin
f77643bec7 Merge "Remove onWindowFocusChange solution from FPS enrollment" into udc-dev 2023-04-14 09:45:42 +00:00
lbill
6193554873 Remove onWindowFocusChange solution from FPS enrollment
Context:
The legacy architecture UdfpsEnrollView was shown by SysUI
which has higher z-order that encounter lots of overlap issue.
Besides, IPC impact the latency of show/hide enroll view in
legacy architecture.
We used to upload ag/19699461 to cancel enrollment due to
above limitation.

With the new architecture ag/20582186 the UdfpsEnrollView
migrate to Settings and controlled by Settings process.

And ag/21149538 config SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS flag
to ture by default.

It's the time to improve the enroll UX by removing cancel
signle when onWindowFocusChanged() invoked.

Bug: 262680438
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=FingerprintEnrollEnrollingTest
Test: manual Security Settings > Enroll fingerprint > enroll
      Swipe Notify Shade , Heads-up, Power menu interrupt should
      not stop the enroll flow.
Change-Id: I60d88d5edd80e6eed70e2fbf288357e949abcae3
2023-04-13 12:58:49 +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
Elliot Sisteron
37dad2b3d4 Merge "Redirect to the right combined biometrics in work profile." into udc-dev 2023-04-13 07:55:05 +00:00
Milton Wu
e4fe606939 Fix enrolled pages not hide during SUW
Update mIsFaceEnrollable and mIsFingerprintEnrollable in
BiometricEnrollActivity, and use them to determine the activity flow.

Bug: 270102158
Test: Manually test following cases
      1. Complete fp and face in suw, then back to "Google Service" page
	 to make sure
	 a. Fingeprint introduction page isn't shown
	 b. Face introduction page isn't shown
	 c. ConfirmCredential page is shown
      2. Complete fp in suw, then press back to previous page in Face
	 introduction page. And check Fingerpirnt isn't shown.
Change-Id: Ibc74128f6776128d8a0f4cab014b58057ac0f844
2023-04-13 14:57:37 +08:00
Hao Dong
ad5954bc94 Merge "Fix biometrics unicorn consent string bug." into udc-dev 2023-04-12 18:02:16 +00:00
Elliot Sisteron
6a1ec7553c Redirect to the right combined biometrics in work profile.
Bug: 277760649
Test: manual
Change-Id: Iab3e46a6964ceb4bf2241560ad7820844f8ae88c
2023-04-12 10:46:01 +00:00
Hao Dong
08bd7960c3 Fix biometrics unicorn consent string bug.
Test: manual test
Bug: 277815321
Change-Id: Id32720807d0c6aec199dcd13449f9333d2c36978
2023-04-12 00:31:25 +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
Dmitry Dementyev
cd7123e071 Merge "Return GK_PW_HANDLE after remote LSKF verification." into udc-dev 2023-04-04 18:37:36 +00:00
Hao Dong
5a2ba07f63 Merge "Show a dialog preventing fingerprint enrollment in split mode." into udc-dev 2023-04-03 21:14:37 +00:00
Hao Dong
637ae9d983 Merge "Show Class 3 consent screen in enrollment with strong face." into udc-dev 2023-04-03 21:06:40 +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
Hao Dong
322df0454f Show Class 3 consent screen in enrollment with strong face.
Test: atest FaceEnrollIntroductionTest
Bug: 271903097
Change-Id: I1959a82862790ff918571145b3651d164aa118b6
2023-03-31 20:11:44 +00:00
Hao Dong
9ff72e4205 Merge "Post-enroll settings screen shows class 3 strings" into udc-dev 2023-03-31 04:44:16 +00:00
Hao Dong
b0ff672a7e Post-enroll settings screen shows class 3 strings
Test: atest FaceSettingsFooterPreferenceControllerTest
Test: manual test
Bug: 274959218
Change-Id: I2e30666baf36a48a47e9ed9e4e046cefc805995a
2023-03-31 03:05:57 +00:00
Milton Wu
05d275bf07 Update theme transition for fingerprint in U
Apply suw transition for fingerprint
1. Fix incorrect animation between Lock and Fingeprint in Suw
2. Fix incorrect animation between Fingeprint and FaceLock in Suw
3. Remove unnecessary overridePendingAnimation during Enorlling
4. Fix no animation in biometrics v2 because of incorrect calling order
   in FragmentTransaction

Bug: 269063515
Test: Manually test transition animation for fingerprint enrollments
Change-Id: I12475dae5cb2905c81b24d3b57438b898afa1e27
2023-03-28 11:24:59 +00:00
Milton Wu
cdaf1091d1 Merge "Launch Face Settings when device enrolled face" into tm-qpr-dev am: 1d68fbf007 am: 544feb9013
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21294281

Change-Id: I748aafeb257bfc6325f5e3a0ef724dbd0e36d697
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-22 01:33:58 +00:00
Milton Wu
544feb9013 Merge "Launch Face Settings when device enrolled face" into tm-qpr-dev am: 1d68fbf007
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21294281

Change-Id: I1a80e569626469eaca583007ee94fb77bf36f03a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-22 00:57:38 +00:00
lbill
c7dd729a43 Launch Face Settings when device enrolled face
In legacy flow FaceEnrollIntroduction check maxFacesEnrolled()
then update introduction description and prevent user go to next
enroll step, the CUJ was not good to user, instead bring user
to Face Settings and let user decide the next action(Delete face or
change config) is more make sense.

As any applications could broadcast intent(android.settings.FACE_ENROLL)
to bring FaceEnrollIntroduction up, we add a check in onCreate() and check
if device has been enrolled max face, launch FaceSettingsInternalActivity.

In addition, skip to register any posture change callback when
maxFacesEnrolled() during activity onStart().

Test: atest SettingsGoogleUnitTests
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "FaceEnrollIntroductionTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "FingerprintEnrollIntroductionTest"
Test: Manual enrolled face, unfold device, launch Tips Security page
and click "Set up Face Unlock", device launch Face Settings insteand of
posture guidance page.

Bug: 263830403
Change-Id: Ied8b92259810f954ce6b2daaa9b87fc996ad752a
2023-03-21 19:10:57 +00:00
Dmitry Dementyev
e9e48a5b95 Return GK_PW_HANDLE after remote LSKF verification.
Handle is returned when LSKF is set after successful verification.
It is used by SUW to add biometrics without asking for LSKF.

Bug: 272807192
Test: manual
Change-Id: I3fe6ed7fd6401421090ccd684509dfede9106076
2023-03-20 18:01:52 -07:00