Commit Graph

207 Commits

Author SHA1 Message Date
Hao Dong
94f759230a Fix face delete button rotation not working.
Bug: 264503740
Test:  make -j64 RunSettingsRoboTests
      ROBOTEST_FILTER="FaceSettingsRemoveButtonPreferenceControllerTest"

Change-Id: I28a281ca1ed16940400c44272f9fa78f5eb190af
2023-08-18 18:51:02 +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
Wenhui Yang
b1feaf710d Merge "Revert "Fix rotate device at face unlock detailed page, device will display"" into udc-d1-dev am: 5239911c6b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24199674

Change-Id: I1ed93893d170141ac974b2ad64fd2ddb6fe98bc5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-26 03:17:46 +00:00
Wenhui Yang
d26f18f727 Revert "Fix rotate device at face unlock detailed page, device will display"
This reverts commit 2ca753bd06.

Reason for revert: Fix b/289173795

Change-Id: Ieaabe550bcbaad21a2373f3c5c103c68739d45dc
2023-07-25 20:31:36 +00:00
Bill Lin
c8eb80bcc2 Merge "Fix no vibration when enroll init stage after receive onEnrollmentHelp" into udc-qpr-dev 2023-07-25 01:30:28 +00:00
lbill
a851e68272 Fix no vibration when enroll init stage after receive onEnrollmentHelp
Change the behavior of vibration when
1. Init stage, don't vibrate if onEnrollmentHelp invoke
2. Then next enroll progress update, should vibrate

Note: This onEnrollmentHelp is invoked by FINGERPRINT_ACQUIRED_PARTIAL

Test: Should vibration when the progress 1st indicating after lightly press
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=FingerprintEnrollEnrollingTest
Bug: 290723009
Change-Id: Ie056aac8b3251fb3da6dccd95254fb30628fa65e
2023-07-24 07:23:12 +00:00
Vincent Wang
291714418c Fix enroll introduction page was not closed in background
Bug: 291023102
Test: 1. Launch FingerprintEnrollFindSensor and back to introducntion
      2. Go to home screen
      3. Launch FingerprintEnrollFindSensor from recent app
      4. Check if FingerprintEnrollFindSensor is stopped
      5. make RunSettingsRoboTests -j96 ROBOTEST_FILTER=com.android.settings.biometrics.fingerprint
Change-Id: I65504f663340a0e66d1f8bcd2e7d4b3659282884
2023-07-14 07:49:41 +00:00
Hao Dong
2ca3f3232c Fix Fingerprint enrollment UI when display size is largest.
1. Remove land/udfps_enroll_enrolling and use the default land layout
instead. Swap header and content when necessary to avoid overlap.
2. Add UdfpsEnrollEnrollingView.java

Test: manual test - 1. Set system display and font size largest
	            2. Launch fingerprint enrollment and check UI.
Test: atest FingerprintEnrollEnrollingTest
Bug: 269060514
Bug: 283169056
Change-Id: Ifbe6c92c4213979952f2f89a1cd595c9c4bff6ec
Merged-In: Ifbe6c92c4213979952f2f89a1cd595c9c4bff6ec
2023-06-27 17:48:16 +00:00
Hao Dong
be823bc598 Wait for systemui udfps overlay ready to show settings udfps enroll view.
Previously, we show settings's udfps enroll animation view (the fingerprint icon and progress view) once the FingerprintEnrollEnrolling is shown.
However, touch events have to wait for systemui's udfps overlay to be valid. This CL lets settings's udfps enroll view wait for systemui's overlay.
1. Sets udfps enroll animation view's default visibility Gone.
2. Propagates FingerprintManager#onUdfpsOverlayShown to
   FingerprintEnrollEnrolling and when it's called, set the enroll view
   visible.

Besides, this CL renames onPointerDown() and onPointerUp() with Udfps.

Bug: 280718879
Test: atest FingerprintEnrollEnrollingTest
Change-Id: Ieed3e74c182828918785edcacb021f19a3665f2a
2023-06-26 20:21:05 +00:00
Hao Dong
c9a99978f9 Fix require on screen toggle on guest user.
Bug: 286018876
Test: atest FingerprintSettingsFragmentTest
Change-Id: I432ffd3b8b32caeaf7ac8c6bc3c2ee2a0ee53a08
2023-06-23 00:32:32 +00:00
Hao Dong
61659799de Merge "Wait for systemui udfps overlay ready to show settings udfps enroll view." into udc-qpr-dev 2023-06-15 01:22:22 +00:00
Wenhui Yang
bfa2feb316 Merge "Fix fingerprint unlock stuck after renaming" into udc-qpr-dev 2023-06-13 01:02:42 +00:00
Wenhui Yang
7e6443e025 Fix face re-enroll stuck for work profile
Call super.onCreate(savedInstanceState) first to pass the correct userId
in maxFacesEnrolled.

Test: Manual - delete face unlock for work and re-enroll and observe
face unlock can be enrolled successfully
Test: atest FaceEnrollIntroductionTest

Fixes: 284819031
Change-Id: Ic1620c0ca3ca9adc61f5281abd34471f0c1b3f97
2023-06-12 20:06:01 +00:00
Wenhui Yang
98744f1a8e Fix fingerprint unlock stuck after renaming
FingerprintAuthenticationClient wasn't cancelled successfully because cancelletion signal was set to null.

Test: Manual - rename an existing fingerprint and observe fingerprint unlock can be entered again
Test: atest FingerprintSettingsFragmentTest

Fixes: 283926104
Change-Id: Id33cc3d3e8052f5cc39eddac26a75047d3139633
2023-06-09 17:55:48 +00:00
Hao Dong
c24e305fbf Wait for systemui udfps overlay ready to show settings udfps enroll view.
Previously, we show settings's udfps enroll animation view (the fingerprint icon and progress view) once the FingerprintEnrollEnrolling is shown.
However, touch events have to wait for systemui's udfps overlay to be valid. This CL lets settings's udfps enroll view wait for systemui's overlay.
1. Sets udfps enroll animation view's default visibility Gone.
2. Propagates FingerprintManager#onUdfpsOverlayShown to
   FingerprintEnrollEnrolling and when it's called, set the enroll view
   visible.

Besides, this CL renames onPointerDown() and onPointerUp() with Udfps.

Bug: 280718879
Test: atest FingerprintEnrollEnrollingTest
Change-Id: Ieed3e74c182828918785edcacb021f19a3665f2a
2023-06-07 17:59:11 +00:00
Hao Dong
2eadf68438 Fix Fingerprint enrollment UI when display size is largest.
1. Remove land/udfps_enroll_enrolling and use the default land layout
instead. Swap header and content when necessary to avoid overlap.
2. Add UdfpsEnrollEnrollingView.java

Test: manual test - 1. Set system display and font size largest
	            2. Launch fingerprint enrollment and check UI.
Test: atest FingerprintEnrollEnrollingTest
Bug: 269060514
Bug: 283169056
Change-Id: Ifbe6c92c4213979952f2f89a1cd595c9c4bff6ec
2023-05-25 21:54:07 +00:00
Hao Dong
1eb3724e1f Merge "Hide description text view if there is overlap." into udc-dev 2023-05-11 22:10:55 +00:00
Hao Dong
cddf296c82 Hide description text view if there is overlap.
1. Includes udfps enroll view in xml files and cleans up FingerprintEnrollEnrolling adding udfps enroll view code.
2. Clean up SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS flag.
3. If description text view has overlap with udfps progress view, hide the description text view.

Test: atest FingerprintEnrollEnrollingTest
Test: manually test by setting both display and text largest size and
start enrolling fingerprint; the description is hidden if it's too long.
Bug: 260970216
Change-Id: I085dc62993ffa22d018dd57517c96d69e9d9cbcb
2023-05-11 17:34:07 +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
Derek Jedral
9c67ee1eb1 Merge "Remove feature flag for active unlock" into udc-dev 2023-05-09 17:17:11 +00:00
Vincent Wang
5801e98d7f Merge "Test Fix SettingRobolectricTest Fail" into udc-dev 2023-05-09 09:50:50 +00:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +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
Derek Jedral
42deb763e0 Merge "Change preference title if Active Unlock enabled" into udc-dev 2023-05-08 17:56:32 +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
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
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
9ce2e21857 Merge "Fix rotate device at face unlock detailed page, device will display redundant face unlock header." into udc-dev 2023-04-14 17:11:40 +00:00
Jason Chang
2ca753bd06 Fix rotate device at face unlock detailed page, device will display
redundant face unlock header.

1. Change the FaceSettings theme style to avoid an action bar
appearing.
2. In AndroidManifest.xml to apply configChanges attribute for
handling device orientation.

Bug: 262497152

Test: manually to do reproduced steps:
Pre-Condition:
1. enroll face
2. enable auto rotate

Procedure:
1.go to settings > security > face & fingerprint unlock
2.enter screen lock
3.click face unlock
4.rotate device into landscape mode and then back to portrait mode
5.check the UI

Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings
.biometrics.face.FaceSettingsActivityTest"

Change-Id: I4ee1bb4f061ea2d141043405213ba6e60bacd92f
2023-04-14 07:38:18 +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
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
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
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
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
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
Jason Chang
9522a44bb6 Merge "Fix the Fingerprint enrollment page's title text creates a truncate problem when it needs three lines on the R4 device" into udc-dev 2023-03-18 14:10:58 +00:00
Jason Chang
848973d300 Fix the Fingerprint enrollment page's title text creates a truncate
problem when it needs three lines on the R4 device

Add padding between title and lottie animation, and adjust UDFPS
enroll view top margin.

Bug: 269437675

Test: manually test,
1.Go to Go to Settings > Security > Fingerprint Unlock >
Set up Fingerprint Unlock > How to set up your fingerprint >
Touch & hold the fingerprint sensor ,
then to start enroll fingerprint.

2. Always keep the finger in the same position,
then let the title become a three line description
“Change the position of your fingerprint slightly each time”.

3. Check the UI if it has been fixed.

Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings
.biometrics.fingerprint.FingerprintEnrollEnrollingTest"

Change-Id: Ib330e9fbe01b959892f2f9007ce35f5ab107e42e
2023-03-18 03:40:45 +00:00
Diya Bera
3a4c6feb0a Merge "Remove subtext when enrollment stage changes" into tm-qpr-dev am: 9777ea2fdf am: 9a93c8a00f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21911480

Change-Id: I27b79bf6dcc69e42ea3af7f5b1274173676996fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-11 01:14:57 +00:00
Diya Bera
8ceded494f Remove subtext when enrollment stage changes
Bug: 272145668
Test: Manual (Try enrolling fingerprint in UDFPS, the subtext should
disappear when lottie asset is introduced)

Change-Id: I912ff2b32644d05cc189105ae1679fa14b04a1ef
2023-03-08 23:00:47 +00:00
Diya Bera
327eaf16fb Removed subtext from side fps enrollment flow
Test: Manual (Try to enroll your fingerprint in a side fps device, and
observe that there is no subtext in landscape mode)
Bug: 267271891

Change-Id: Iba4c13e8083ecb92f8033882af9147f14071e726
Merged-in: Iba4c13e8083ecb92f8033882af9147f14071e726
2023-03-02 18:42:02 +00:00
Diya Bera
36e41dc985 Merge "Removed subtext from side fps enrollment flow" into udc-dev 2023-03-02 17:16:31 +00:00
Diya Bera
7fa342fadb Removed subtext from side fps enrollment flow
Test: Manual (Try to enroll your fingerprint in a side fps device, and
observe that there is no subtext in landscape mode)
Bug: 267271891

Change-Id: Iba4c13e8083ecb92f8033882af9147f14071e726
2023-03-01 23:17:27 +00:00
Joshua McCloskey
187fe08143 Modified fingerprint enroll test
Test: m -j40 RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollEnrollingTest
Bug: 271134136
Change-Id: Ic96407199a8394ac184a60229f371ee93838c926
2023-03-01 19:51:36 +00:00
TreeHugger Robot
34b7835a50 Merge "Hide "no thanks" button when enrollment completed." 2023-02-11 02:34:19 +00:00
Hao Dong
54003698b1 Do not show udfps enrollment page in multi window mode.
In multi window mode, finish FingerprintEnrollEnrolling activity
and show a toast.

Test: atest FingerprintEnrollEnrollingTest
Bug: 184118847
Change-Id: I8cfa61b334c029185e1bbf46fdbf158bb493a1e0
2023-02-10 01:30:30 +00:00
TreeHugger Robot
d590c1ebc9 Merge "Add tests for SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS." 2023-02-08 01:55:28 +00:00