Commit Graph

17 Commits

Author SHA1 Message Date
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
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
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
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
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
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
546c507aec Move bimetrics v2 tests to unit/
Move biometrics enrollment v2 tests from robotests/ back to unit/

Bug: 265723532
Test: atest FingerprintRepositoryTest CredentialModelTest
      AutoCredentialViewModelTest FingerprintEnrollIntroViewModelTest
      FingerprintEnrollProgressViewModelTest
      FingerprintEnrollmentViewModelTest
Change-Id: Id35e52a97df757f8c4473c5bf7f46ba051816d42
2023-01-17 18:13:21 +08:00
Milton Wu
c132008623 Relocate biometrics enrollment v2 tests
Put biometrics enrollment v2 tests into tests/robotests/

Bug: 265723532
Test: RunSettingsRoboTests2 FingerprintRepositoryTest
      CredentialModelTest AutoCredentialViewModelTest
      FingerprintEnrollIntroViewModelTest
      FingerprintEnrollmentViewModelTest

Change-Id: I94804c07e0278713fcfb6e9889edc5092cfd9d13
2023-01-17 10:15:05 +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
Milton Wu
f5e631dd77 Add biometric2 unit test owner
Bug: 236072782
Test: Build pass
Change-Id: Iea90eb418eb61087c44c037356a4171197f9f6c7
2022-11-22 03:20:52 +00: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