Commit Graph

38 Commits

Author SHA1 Message Date
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
Milton Wu
c5a855bfea Fix crash during inflate intro fragment view
Bug: 259614476
Test: Enable biometric v2 flag and test enrollment
Change-Id: I2858a32b16dbcb1a56d1f90913f7f942ecdee2b7
2022-11-18 02:46:31 +00:00
Xuanang Zhao
8ad4ac66c8 Add type annoation.
Change-Id: Idb0b5db3a2116b71ab1aaa7e55d332144ff2b8fb
2022-11-17 11:32:42 +08:00
Milton Wu
b9b8b8a512 Fingerprint Introduction FragmentActivity
Introducing MVVM architecture & fragments to biometric settings.
Here, we modify the first page of FingerprintEnrollIntroduction to use
new MVVM with Fragment architecture.

And with this new architecture, unit test and screen order will be
easier to be written or changed.

Bug: 236072782
Test: atest FingerprintEnrollmentViewModelTest AutoCredentialViewModelTest
	    FingerprintEnrollIntroViewModelTest FingerprintRepositoryTest
Change-Id: Icf12c91625db86c2c99081a0108203e607e77f74
2022-11-14 15:36:03 +08:00