Commit Graph

53 Commits

Author SHA1 Message Date
Treehugger Robot
ef957eda5a Merge "[BiometricsV2] Refactor EnrollingRfpsFragment" 2023-06-21 04:55:47 +00:00
Treehugger Robot
2c75f0e207 Merge "[BiometricsV2] Refactor FindSfpsFragment" 2023-06-21 04:55:43 +00:00
Milton Wu
75450f7973 [BiometricsV2] Refactor FindSfpsFragment
Refactor FingerprintEnrollFindSfpsFragment to kotlin and add bindView()
method for it

Bug: 286197831
Test: atest FingerprintEnrollmentActivityTest
Test: Manually test enrollment as Side fingerpint device
Change-Id: If1c7d95e78c5be237f05209afa3ffc0b4c444c61
2023-06-21 09:56:32 +08:00
Milton Wu
00bafe9f64 [BiometricsV2] Refactor EnrollingRfpsFragment
Refactor FingerprintEnrollEnrollingRfpsFragment to kotlin and add
bindView() method for it.

Bug: 286198028
Test: atest FingerprintEnrollmentActivityTest
Test: Manually test enrollment as Rear fingerpint device
Change-Id: Ie271386f305003a89d7e545c289e47bbafb14a90
2023-06-21 09:54:55 +08:00
Milton Wu
ada229b409 [BiometricsV2] Refactor FindRfpsFragment
Refactor FingerprintEnrollFindRfpsFragment to kotlin and add bindView()
method for it

Bug: 286197313
Test: atest FingerprintEnrollmentActivityTest
Test: Manually test enrollment as Rear fingerpint device
Change-Id: Ifa11888f3e848fb7127e14ddcc41d02277163a1a
2023-06-21 09:52:35 +08:00
Milton Wu
8e42d7c85a [BiometricsV2] Refactor Fingerprint intro fragment
Refactor FingerprintEnrollIntroFragment to kotlin and add bindView()
method for it.

Bug: 286197823
Test: atest FingerprintEnrollmentActivityTest
Change-Id: I44157bf2c2bea6f49382335438b16aae3e3e5b4c
2023-06-17 18:16:17 +08:00
Milton Wu
940e5d04a6 [BiometricsV2] Rewrite Activity to Kotlin
Refactor FingerprintEnrollmentActivity as kotlin

Bug: 286197261
Test: atest FingerprintEnrollmentActivity
Test: atest biometrics-enrollment-test
Change-Id: I45d2db832b0111cb865b657aee56f84b0b295efa
2023-06-16 20:36:37 +08:00
Hao Dong
9e1435a0dc Merge "Wait for systemui udfps overlay ready to show settings udfps enroll view." into udc-qpr-dev am: 61659799de am: a9f1ed3501
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23595181

Change-Id: I88d843e5c1164e054d4cb48e3f953618e63e2e64
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 01:46:36 +00:00
Milton Wu
7a71b59ca3 [BiometricsV2] Refactor dialogs/helper to kotlin
1. Refactor Dialogs/GlifLayoutHelper to kotlin
2. Add bindView() for Dialogs

Bug: 286197243
Bug: 286197247
Test: atest FingerprintEnrollmentTest
Test: atest biometrics-enrollment-test
Test: Manully show these dialogs
Change-Id: If047f48f8380f03ad8ab3ba55c98c3e745be1eea
2023-06-14 18:53:16 +08:00
Milton Wu
aadecbaf34 [BiometricsV2] Refactor model code to kotlin
Bug: 286196884
Test: atest FingerprintEnrollmentActivityTest CredentialModelTest
      EnrollmentRequestTest FingerprintEnrollIntroViewModelTest
      FingerprintEnrollmentViewModelTest
Test: atest biometrics-enrollment-test
Change-Id: I2bdae4d2dd052d3664a790cd982edf51fcebec09
2023-06-13 10:29:16 +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
Milton Wu
bc2dbee762 [BiometricsV2] Refine fingerprint activities
Seperate FingerprintEnrollmentActivity to another InternalActivity and
SetupActivity. InternalActivity is used for FingerprintSettings.
SetupActivity is used for setupwizard flow.

Bug: 284248001
Test: atest FingerprintEnrollmentActivityTest
Test: atest for biometrics/biometrics2 in unit tests
Test: settingRoboTest for biometrics
Change-Id: I9fb5dc34300060b9ccf857a3335b81a5d4bf5c7b
2023-05-25 06:25:58 +00:00
Milton Wu
3e8a37f2c7 [BiometricsV2] Remove "Try again" button from errorDialog
Remove "Try again" button from fingerprint enrolling error dialog for
biometrics v2.

Test: Manual (Enable biometrics v2, Start enrollment and don't
      complete it for 10 minutes; observe the dialog)
Test: atest FingerprintEnrollEnrollingViewModelTest
      FingerprintEnrollmentActivityTest
Bug: 280546173
Change-Id: I844786719a41b1a3d0e86ab32b74ab9b5aeaa0a1
2023-05-08 13:50:03 +00:00
Milton Wu
8b0fc14f94 [BiometricsV2] Refine fingerprint ui and flow
1. Fix "No thanks" become 2 lines, and fix the status when new
   fingerprint enrolled.
2. Fix Finish page shows again after pressing back from a new Finish
   page
3. Fix FindSensor page shows again after max number of fingerprint
   has reached.
4. Add missing tests, and remove some bypass-only tests

Bug: 279134177
Bug: 279380583
Bug: 279386539
Bug: 279394069
Test: atest FingerprintEnrollIntroViewModelTest
    FingerprintEnrollFindSensorViewModelTest
    FingerprintEnrollEnrollingViewModelTest
    FingerprintEnrollmentViewModelTest FingerprintEnrollmentActivityTest
Test: manually test 1, 2, and 3
Change-Id: I3797ceed8e7d6c10a4b4711f8bff8d7f222f0923
2023-05-08 14:00:22 +08:00
Milton Wu
1205ba58de [BiometricsV2] Fix fingerprint 2nd enroll fail
Enrolling fragments wait cancelled msg then finish itself when user
presses skip button in this page

Bug: 279540275
Test: atest FingerprintEnrollmentActivityTest
Test: For udfps and sfps devices, manually click "Add fingerprint" from
      Fingerprint Settings, then quickly back, and quickly re-enter.
      Make sure the re-entered enrolling works well.
Change-Id: I99b67af31234f7332ad33e776e82d04ece117e5e
2023-04-27 10:52:01 +00:00
Milton Wu
3024352f85 [BiometricsV2] Fix fingerprint add another fail
Fix enrolling can't finished because FingerprintEnrollment attaches to
wrong ViewModel during onCreate() with non-null savedInstance after
rotation.

Read latest fragment through findFragmentById to fix it

Bug: 275513362
Test: atest FingerprintEnrollmentActivityTest
Change-Id: Icb2c0edec325a813ec5a7822aba39ca201d2d8e9
2023-04-19 17:35:33 +08:00
Milton Wu
562bbc8193 [BiometricsV2] fix enrolling rotate failed
Clean help message during progress changed, and reload help message from
ViewModel in onStart of enrolling page.

Bug: 275513362
Test: atest FingerprintEnrollProgressViewModelTest
Test: enable biometrics v2, and manully rotate screen when help msg
      is shown, and check help msg is kept after screen rotation.
Change-Id: I44220050806038ee62750f8945b8ba8f8bb9c282
2023-04-17 08:06:53 +00:00
Milton Wu
15267aab1f [BiometricsV2] IconTouchDialog continue enroll
When user clicks "OK" in FingerprintEnrollEnrollingIconTouchDialog,
continue enrolling.

Bug: 276416053
Test: atest FingerprintEnrollEnrollingViewModelTest
      FingerprintEnrollmentActivityTest
Test: Manually check enrolling status as clicking "OK" button on
      FingerprintEnrollEnrollingIconTouchDialog after enabling
      biometrics v2 v2 through feature flag.
Change-Id: I028723acfe35e5119e43b6860022c7432fc2ae0e
2023-04-11 14:39:59 +08:00
Milton Wu
4140b84881 [BiometricsV2] Fix 2nd touch not work for enroll
Use MessageDisplayController only when enroll reason is ENROLL_ENROLL
and R.bool.enrollment_message_display_controller_flag is true.
And always allocate a new MessageDisplayController for each new enroll
to avoid the possibility of events being ignored by
MessageDisplayController.

Bug: 275510856
Test: atest FingerprintEnrollProgressViewModelTest
Test: manually test sfps/udfps enrollment for biometricsV2
Change-Id: Ifc8b91916a3d76bed68dc523a90dc6ba422e3923
2023-04-06 13:18:41 +08: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
ab488b3c5b Add biometrics v2 test
Add tests into FingerprintEnrollFinishViewModelTest and
FingerprintEnrollProgressViewModelTest. and also remove mDoneLiveData
from FingerprintEnrollProgressViewModel because no one uses it.

Bug: 271220339
Test: atest FingerprintEnrollFinishViewModelTest
      FingerprintEnrollProgressViewModelTest
Change-Id: Id74da29b7730a3e7feb8d0b263c28c8192adad9c
2023-03-14 04:33:12 +00:00
TreeHugger Robot
3e41d936b3 Merge "Fix icon touch dialog in Enrolling page" into udc-dev 2023-03-06 05:14:17 +00:00
Milton Wu
7b817dd0a0 Fix icon touch dialog in Enrolling page
1. Fix icon touch dialog not shown in Enrolling page for SFPS and RFPS
   devices
2. Remove AccessibilityRepository and VibratorRepository because they
   only bypass info w/o actual effect.
3. Add/Refine missing test cases for FingerprintRepositoryTest,
   CredentailModelTest, AutoCredentialViewModelTest,
   FingerprintEnrollEnrollingViewModelTest,
   FingerprintEnrollFindSensorViewModelTest,
   FingerprintEnrollIntroViewModelTest

Bug: 271535048
Bug: 271220339
Test: atest FingerprintEnrollmentActivityTest CredentialModelTest
      FingerprintRepositoryTest AutoCredentialViewModelTest
      FingerprintEnrollEnrollingViewModelTest
      FingerprintEnrollFindSensorViewModelTest
      FingerprintEnrollIntroViewModelTest
Test: Manually test enrollment
Change-Id: I7d1ed935e156bbd41d5da63902683e430fd3fc1f
2023-03-03 17:49:17 +08:00
Vincent Wang
3ff1939b59 Fix Incorrect lottie status on the beginning of enrolling UDFPS
Bug: b/271209610
Test: 1. adb root
      2. adb shell setprop sys.fflag.override.settings_biometrics2_enrollment true
      3. Excute fingerprint enroll process & check the state of enroll progress is
         correct
Change-Id: I3cac369e9dcf939a09dce11a7b9e96952bceeee8
2023-03-02 07:24:43 +00:00
Vincent Wang
b7e04a59a8 Fix Different layout between v2 enrolling and original enrolling page
Bug: b/271210305
Test: 1. adb root
      2. adb shell setprop sys.fflag.override.settings_biometrics2_enrollment true
      3. Enter fingerprint enrilling page
      4. Rotate device to 90 or 270 degree
      5. Change the roation to 270 or 90 degree
Change-Id: Ib495bd281a208f0c13707ef6e3ed402ac418b8b6
2023-03-01 09:13:42 +00:00
Vincent Wang
f2db627a7c Fix UDFPS enrolling crash
Bug: b/271208595
Test: 1. adb root
      2. adb shell setprop sys.fflag.override.settings_biometrics2_enrollment true
      3. Record fingerprint
      4. Check setting work normally
Change-Id: I69cc50cd677e80a57bb430a5a295c46b519d7755
2023-03-01 07:43:04 +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
Vincent Wang
882b49c8fb Refactor FingerprintEnrollEnrolling to fragment
Bug: b/260957933
Test: NA
Change-Id: I281ec7a7373f6863e2e6f8f20bbbb01fa01e009a
2023-02-24 08:43:17 +00:00
firewall
7ba30ffcf8 Refactor FingerprintEnrollEnrolling to fragment
Bug: b/260957933
Test: NA
Change-Id: I5b65f5957569418e85c39f05bc2fece856ef4a2b
2023-02-20 10:47:48 +00:00
Milton Wu
20c73a9b06 Attach v2 EnrollingSfpsFragment to activity
1. Attach FingerprintEnrollEnrollingSfpsFragment to
   FingerprintEnrollmentActivity.
2. Refine FinSensor rotation case for SFPS and RFPS

Bug: 260957939
Test: atest FingerprintEnrollmentActivityTest
Change-Id: Ibbeff8deb009271df044480f9f5d6c64ab6e6264
2023-02-20 03:48:16 +00:00
Milton Wu
211313b52d Attach FingerprintEnrollFinishFragment to activity
Start FingerprintEnrollFinishFragment when enrolling page is done.

Bug: 260960831
Test: atest FingerprintEnrollmentActivityTest
      FingerprintEnrollmentViewModelTest
Change-Id: Ia751c20330dfdcac91e961acc70aa033b05de03f
2023-02-14 19:18:56 +08:00
Milton Wu
f7845d823b Biometrics v2 RFPS enrolling refine
1. Fix back key in enrolling page
2. Fix 0.5 sec black screen if user presses skip

Bug: 260957939
Test: atest FingerprintEnrollmentActivity
Change-Id: If5308246ed380c2e3dd12f19f13aa38fc8c178a8
2023-02-14 11:15:16 +08:00
Milton Wu
fa496047a4 Refine RFPS enrolling v2
1. Fix skip button doesn't work case
2. Support rotation during enrollment
3. Show error dialog page
4. Show icon touched dialog page

Bug: 260957939
Test: atest FingerprintEnrollFindSensorViewModelTest
      FingerprintEnrollProgressViewModelTest
      FingerprintEnrollmentViewModelTest
      FingerprintEnrollmentActivityTest
Change-Id: I617e3e64a130682002b07551d11aff2864fd4538
2023-02-09 13:26:44 +08:00
Milton Wu
81530e3f27 Attach FingerprintEnrollEnrollingRfps fragment
Support enrolling RFPS on biomerics v2.

Bug: 260957939
Test: atest FingerprintEnrollFindSensorViewModelTest
      FingerprintEnrollProgressViewModelTest
      FingerprintEnrollmentViewModelTest
      FingerprintEnrollmentActivityTest
Change-Id: Ic04b934592415d03f1b119383bffd40bd5eef2bd
2023-02-07 12:11:45 +00:00
firewall
fa9ddb5f63 Refactor FingerprintEnrollFinish to fragment
Bug: b/260959142
Test: Build pass & Biometric enroll progress works well
Change-Id: Iff99d01e799344682a3f2da2d3c8fd3dfaf4b6e9
2023-02-06 08:11:55 +00:00
firewall
a4498e36ee Refactor FingerprintEnrollEnrolling to fragment
Bug: b/260957933
Test: NA
Change-Id: I8f704297a2a53ddf39734e0fefe258a123255341
2023-02-03 11:27:16 +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
Chaohui Wang
27e5019790 Make BiometricsViewModelFactory Java 8 compilable
Bug: 260441791
Test: Make Settings
Change-Id: I4d2e80a29bb50fe49d0c19030058bf5951b80a80
2023-01-30 10:45:05 +08:00
Milton Wu
df8d2d9da9 Refine FingerprintEnrollmentActivity
1. Add missing test cases for DeviceFoldedViewModel,
   DeviceRotationViewModel, and FingerprintEnrollFindSensorViewModel
2. Move most of init value of ViewModels into
   getDefaultViewModelCreationExtras
3. Fix FindSfpsFragment lottie because of incorrect rotation value.
4. Feed configuration change into DeviceFoldedViewModel

Bug: 260957195
Test: atest CredentialModelTest AutoCredentialViewModelTest
      DeviceFoldedViewModelTest DeviceRotationViewModelTest
      FingerprintEnrollFindSensorViewModelTest
      FingerprintEnrollIntroViewModelTest
      FingerprintEnrollProgressViewModelTest
      FingerprintEnrollmentViewModelTest
      FingerprintEnrollmentActivityTest
Change-Id: Ied55a895bc1774af5bdd256eccd806aaaa1680ef
2023-01-20 14:42:48 +08:00
Milton Wu
822c5bac48 Add help/error msg for ProgressViewModel
Pass Help and Error message from FingerprintManager callback to LiveData
in FingerprintEnrollProgressViewModel.

Bug: 259664912
Test: Manually test FindSensor page
Change-Id: I3a992a51d97368fc82f6a1064d0c0d1e445e276b
2023-01-12 15:37:02 +08:00
TreeHugger Robot
b2e00d2f0a Merge "Refine get props inside FingerprintRepository" 2023-01-12 02:01:50 +00:00
Zaiyue Xue
53eb9ce22d Fix one build failure when running in studiow.
Test: manual
Change-Id: I6abcbcfa01d60799a77d45c5a89306b5a4c99285
2023-01-11 17:43:36 +08:00
Milton Wu
5d7bab1c2a Refine get props inside FingerprintRepository
FingerprintManager::getSensorPropertiesInternal() might return an
incorrect value if it's done too soon. Change to use
FingerprintManager::addAuthenticatorsRegisteredCallback() in
FingerprintRepository.

Bug: 264827022
Test: atest FingerprintRepositoryTest
      FingerprintEnrollIntroViewModelTest
      FingerprintEnrollmentViewModelTest
Change-Id: I68dd3ec1182662cc55aaa8be77a62245ab29cd54
2023-01-10 16:04:00 +08:00
Milton Wu
3be7385d90 Refactor FingerprintEnrollFindSensor
Refactor FingerprintEnrollFindSensor to 3 pages for different sensor
types, and apply MVVM for them.

Bug: 259664912
Bug: 260957195
Bug: 260957816
Test: atest FingerprintRepositoryTest FingerprintEnrollmentActivityTest
      AutoCredentialViewModelTest FingerprintEnrollIntroViewModelTest

Change-Id: Iace790952567cac13e61e5175e90555d4da7dfe2
2023-01-10 07:52:37 +08: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
Milton Wu
505be79cc5 Fix FingerprintEnrollIntroFragment buttons
1. Fix FingerprintEnrollIntroFragment button status not sync after
   rotation.
2. Finetune code orders in FingerprintEnrollmentActivity.onCreate(),
3. Refine some API names and java doc

Bug: 260205364
Test: atest AutoCredentialViewModelTest
            FingerprintEnrollIntroViewModelTest
Test: Manually test rotation with different display size
Change-Id: Ib992e10a1c90e3bbac6cf73114df4e96b5ab0a03
2022-11-23 20:15:04 +08:00
Milton Wu
5174310392 Fix FingerprintEnrollmentActivity rotaiton crash
1. When FragmentActivity rotated, FragmentManager will call default
   fragment constructor w/o parameters. Remove parameters of
   FingerprintEnrollIntroFragment constructor. And also remove
   BiometricsFragmentFactory because of useless now.
2. Remove some LiveData inside AutoCredentialViewModel because it causes
   jitter on activity transition.
3. Save and restore data inside AutoCredentialViewModel for handling
   activity recreation during rotation.
4. clear FingerprintEnrollIntroViewModel.mActionLiveData to prevent
   that activity gets previous action after recreate
5. Fix launching wrong activity during setupwizard

Bug: 259626932
Test: atest AutoCredentialViewModelTest CredentialModelTest
            FingerprintEnrollIntroViewModelTest
Change-Id: Ia26c86dc99ad91dbddef90538d9f5e5583585063
2022-11-22 18:18:44 +08:00
TreeHugger Robot
d30577a129 Merge "Add OWNERS for biometrics2 src" 2022-11-18 05:29:58 +00:00
TreeHugger Robot
8a171f0843 Merge "Fix crash during inflate intro fragment view" 2022-11-18 05:13:15 +00:00
Milton Wu
dceff7d722 Add OWNERS for biometrics2 src
Bug: 236072782
Test: build pass
Change-Id: Iac4b8f994b9f585ed85125be000a24eb1359ee2b
2022-11-18 03:20:19 +00:00