Commit Graph

94 Commits

Author SHA1 Message Date
Chaohui Wang
15ca95a31b Migrate to TwoStatePreference
SwitchPreference and SwitchPreferenceCompat are both TwoStatePreference.

Using TwoStatePreference in Java will helps migration in the future.

Bug: 306771414
Test: manual - check Settings pages
Change-Id: I84e1d7b09451106797c2b23d127855c6976678ca
2023-10-23 09:28:57 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Wenhui Yang
8dc0353e2e Update learn more string for udfps fp settings am: c6c9d74f06 am: eb94624bcd am: b43ac30381
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24156551

Change-Id: I56361c4b37674c2f6fe8cf9bdbd5a3f90b87f121
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-22 02:20:18 +00:00
Wenhui Yang
b43ac30381 Update learn more string for udfps fp settings am: c6c9d74f06 am: eb94624bcd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24156551

Change-Id: Ibbdff74d2be55f961a9f91bcdc1f1278dc2bbaa7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-22 01:37:57 +00:00
Wenhui Yang
c6c9d74f06 Update learn more string for udfps fp settings
Update the learn more message for udfps fingerprint unlock to make it
consistent with sdfps.

Fixes: 289167628
Test: manual (see bug)
Change-Id: Iac6edb1c176dab462c91e1bf6236dfe4d0988693
2023-07-21 02:36:24 +00:00
Hao Dong
59a4bf3565 Merge "Fix require on screen toggle on guest user." into udc-qpr-dev am: 800728a5a6 am: 7461036d68
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23714620

Change-Id: I62554d897396b165f02bac58b0d1d9673a409033
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-23 04:56:28 +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
Treehugger Robot
7cfb668c56 Merge "[BiometricsV2] Fix fingerprintSettings not shown" 2023-06-14 04:39:57 +00:00
Grace Cheng
93e7803911 Merge "Fix NPE in updateAddPreference" into udc-d1-dev am: 8ba960014c am: f0614ef722 am: 2d5f43d7e3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23672674

Change-Id: I49c7ff8a9a2191ac8d001c89a41aa0d09a93bbf1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-13 21:21:40 +00:00
Grace Cheng
2365ad895a Fix NPE in updateAddPreference
Update mAddFingerprintPreference to avoid NPE

Fixes: 286495189
Test: Rotate screen during first fingerprint enrollment, complete enrollment, and observe no crash
Change-Id: Id7edde492168b467360c6c99b326721cd883bba8
2023-06-13 16:52:51 +00:00
Milton Wu
78e0f9de8a [BiometricsV2] Fix fingerprintSettings not shown
Fix "Fingerprint Unlock" page not show when 1st fingerprint is added
through biometrics v2 enrollment on a device w/ faceunlock

Do no check bundle is null or not during check activity result because
it may be null if callee activity doesn't need to pass anything back to
previous caller activity.

Bug: 286993437
Test: test this scenario on a fingerprint only device w/o v2
Test: test this scenario on a faceunlock device w/o v2
Test: test this scenario on a fingerprint only device w/ v2
Test: test this scenario on a faceunlock device w/ v2
Change-Id: Ic6168e73de378ecc1555808d4f0969f4c490a38d
2023-06-13 17:55:49 +08: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
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
Hao Dong
bb03fc355e Merge "Set EXTRA_KEY_FOR_FINGERPRINT for choose lock screen." 2023-05-10 00:48:15 +00:00
Hao Dong
968c5fb6f0 Set EXTRA_KEY_FOR_FINGERPRINT for choose lock screen.
Bug: 279823572
Test: atest FingerprintSettingsFragmentTest
Test: atest ChooseLockGenericTest
Change-Id: Ie4bc18bf245eb7a755862401c710d85381063ff9
2023-05-09 21:32:44 +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
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
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
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
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
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
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
Diya Bera
4c3ac9b994 Merge "Learn more updated in Fingerprint Settings for side fps" into udc-dev 2023-03-02 19:09:23 +00:00
Diya Bera
5faf4eeb8e Learn more updated in Fingerprint Settings for side fps
Test: Manual - Go to Fingerprint Settings and check the string
Bug: 258338293
Change-Id: Ia22fcd1289bec85642993b22fe3cb3ebaf647cbd
2023-03-01 01:13:03 +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
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
Grace Cheng
4849540cef Merge "Prevents retrying fingerprint after lockout reset if user exits FingerprintSettings" into tm-qpr-dev am: 5c10188254 am: 392d971067
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21038428

Change-Id: Ia6c0c8846e214aa40165f73a1634a1f0b1ed2dc5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 04:32:02 +00:00
Grace Cheng
83fce8a0aa Prevents retrying fingerprint after lockout reset if user exits FingerprintSettings
Fingerprint auth is active on the enrolled fingerprints page to indicate
to users which fingers are enrolled. Tapping 5x with unenrolled finger
on this page sends FINGERPRINT_ERROR_LOCKOUT, which posts a
mFingerprintLockoutReset runnable to retry fingerprint auth after
LOCKOUT_DURATION. If a user turns off their device and unlocks via
pin/pattern/password, this resets lockout, triggering the runnable and
causing fingerprint auth to be retried upon device entry. This change
prevents this by removing the runnable callback in
FingerprintSettingsFragment#onPause.

Test: Navigate to enrolled fingerprints page (Settings > Security > Face & Fingerprint Unlock > Fingerprint Unlock). Tap 5x with unenrolled finger, then turn off screen and unlock via pin/pattern/password. Ensure indicator does not appear upon device entry.
Fixes: 261366312
Change-Id: I4190669286461e9ce884685a9929313da953476d
2023-01-19 01:00:16 +00:00
Joshua Mccloskey
bc1291e163 Merge "Fixed scroll issue w/ FP settings" into tm-qpr-dev am: 7b8bddaac0 am: dc0f04d7ee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20931688

Change-Id: I9ead82f334b4ca2b69989707d5890f9e8cdf3ab3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-12 00:53:55 +00:00
Joshua McCloskey
3e0f8365f5 Fixed scroll issue w/ FP settings
Test: Verified fingerprint preferences are not shown over the fingerprint title when device is rotated in settings screen
Fixes: 259338792
Change-Id: Ie99e584247bb52b097e949d0c8c0ed096543aa21
2023-01-11 02:04:41 +00: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
Grace Cheng
af2896195e Merge "Removes duplicate SFPS string and updates references" into tm-qpr-dev 2022-12-03 05:37:34 +00:00
Grace Cheng
0d74f4b755 Removes duplicate SFPS string and updates references
Removes duplicate security_settings_fingerprint_v2_home_screen_text string and replaces references with security_settings_fingerprint_enroll_finish_v2_message

Test: Open fingerprint settings on SFPS device where fingerprints are enrolled, observe correct string
Fixes: 259316600
Change-Id: I259669a09f5535f3a776793659e5bc6bdb90a44c
Merged-In: I259669a09f5535f3a776793659e5bc6bdb90a44c
DO NOT MERGE
2022-12-02 23:50:37 +00:00
Grace Cheng
9d6a869ebe Removes duplicate SFPS string and updates references
Removes duplicate security_settings_fingerprint_v2_home_screen_text string and replaces references with security_settings_fingerprint_enroll_finish_v2_message

Test: Open fingerprint settings on SFPS device where fingerprints are enrolled, observe correct string
Fixes: 259316600
Change-Id: I259669a09f5535f3a776793659e5bc6bdb90a44c
2022-11-18 19:43:40 +00:00
Diya Bera
f0da87dae8 Merge "Remove header "When using fingerprint unlock" for Udfps" into tm-qpr-dev am: b4a0a0563d am: 4688fd9074
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20499435

Change-Id: I6251ada6b0da4222bb676ac4e4b04db3e7b73717
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-17 01:41:02 +00:00
Diya Bera
68903de369 Remove header "When using fingerprint unlock" for Udfps
Fixes: 257272989
Test: Manual - Open Fingerprint Settings and observe the UI
Change-Id: I98235e56a3537eff00490584c88f459ac755433f
2022-11-16 21:08:04 +00:00
TreeHugger Robot
a4b2bc9b2b Merge "Fix NPE of mDismissListener in Rename Dialog" 2022-11-16 03:26:40 +00:00
TreeHugger Robot
daf43a4605 Merge "Apply feature flag for biometrics" 2022-11-16 02:40:28 +00:00
lbill
c9f58d684e Fix NPE of mDismissListener in Rename Dialog
Bug: 241122882
Test: Enroll 1 fingerprint, and rename in landscape mode, check no
more NPE when focus on inputfield and IME shown

Change-Id: I24fe9aab11cabd67015989cfaaf6a8228ea72b59
2022-11-15 19:06:00 +00:00
Milton Wu
ee5ebfa18f Apply feature flag for biometrics
adb shell setprop sys.fflag.override.settings_biometrics2_enrollment true

Bug: 236072782
Test: Manully enable feature flag and test
Change-Id: Id794ba117d3ae9e0bc76086ee8c1cd95fa607cc1
2022-11-14 15:36:09 +08:00
Diya Bera
1181760b86 Remove "require screen on to auth" preference for Udfps
Fixes: 257272989
Test: N/A
Change-Id: Ic10bd02c7a26e58abcb471c3f495d65247f29edc
2022-11-03 22:29:10 +00:00
Grace Cheng
13d3bdc4c0 Implement SFPS “require screen on to auth”
Creates new setting on SFPS to require screen on before unlocking a
device. Also sets up toggles for this setting at the end of fingerprint
enrollment and on the fingerprint settings page, and adds tests to
verify expected behavior.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Fixes: 249169615
Fixes: 245343077
Fixes: 248530806
Change-Id: Id588796426d071860b3cc2af9ec5798c0027c202
Merged-In: Ia44604b059c4847c40608419b2e16219976ced3e
2022-11-02 14:34:59 +00:00
Grace Cheng
0f0f35b2dd Implement SFPS “require screen on to auth”
Creates new setting on SFPS to require screen on before unlocking a
device. Also sets up toggles for this setting at the end of fingerprint
enrollment and on the fingerprint settings page, and adds tests to
verify expected behavior.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Fixes: 249169615
Fixes: 245343077
Fixes: 248530806
Change-Id: Id588796426d071860b3cc2af9ec5798c0027c202
2022-10-27 21:43:55 +00:00
Milton Wu
9f070ee9c1 overridePendingTransition in FingerprintSettings
When FingerprintSettings got correct activity result from ConifrmLock or
ChooseLock, and ready to add first fingerprint automatically, it shall
set sud_slide_next_in and sud_slide_next_in in
overridePendingTransition.

Bug: 249981049
Test: Manually credential in FingerprintSettings
Change-Id: If63441cf1a72c30d558e9f50a0aada36a08b211d
2022-09-30 13:43:35 +00:00
TreeHugger Robot
048bc692a4 Merge "Updated fingerprint dialog deletion strings." into tm-qpr-dev 2022-09-02 20:09:01 +00:00
Joshua McCloskey
c76f988475 Updated fingerprint dialog deletion strings.
Test: Manual
Fixes: 234183857
Change-Id: Ieb500d52f705eb269937cd0fcd6b14081f9662ee
2022-09-01 17:27:51 +00:00
Milton Wu
d3a1f700ee Fix udfps fingerprint setting flow
1. on udfps + faceunlock devices, fingerprint settings shall not be
   launched if no fingerprint enrolled.
2. on udfps device, after first fingerprint enrollment successfully,
   fingerprint settings shall be shown.
3. Update FingerprintEnrollFindSensorTest to support udfps cases.

Bug: 243701933
Bug: 243003012
Test: manully adding first fingerprint on udfps + faceunlock device
Test: manully suw on udfps + faceunlock device
Test: run robotest for FingerprintEnrollFindSensorTest
      and SetupFingerprintEnrollFindSensorTest

Merged-In: I62d945f2c2e980edf2a885234e54acae109e7672
Change-Id: I62d945f2c2e980edf2a885234e54acae109e7672
(cherry picked from commit 936dd31312)
2022-08-29 07:22:40 +00:00
Milton Wu
561a68db20 Use setting as base activity for fingerprint
Change to use FingerprintSetting as base activity when use launch
"Fingerprint Unlock" from Settings -> Security. And then we can prevent
that necesssary pop-up activites become full-screen.

Bug: 243701933
Bug: 232874879

Test: manual test following cases on fp-only devices, and enable don't
      keep activity and test them again.
      1. fp enrollment on SUW
      2. fp add another on SUW
      3. add first fp on Security Settings
      4. add another fp on Security Settings
Test: atest FingerprintStatusUtilsTest BiometricsSafetySourceTest
Test: robo test for SetupFingerprintEnrollFindSensorTest
      SetupFingerprintEnrollFinishTest
      FingerprintEnrollFindSensorTest FingerprintEnrollEnrollingTest

Merged-In: Ib1c2ef9f93fb910eed2930f871c0c69bdb94bcbd
Change-Id: Ib1c2ef9f93fb910eed2930f871c0c69bdb94bcbd
(cherry picked from commit 84b39c3ed0)
2022-08-29 07:21:42 +00:00
Joshua McCloskey
74f7988ced Update fingerprint removal dialog strings
Test: Verified manually.
Fixes: 234183857
Change-Id: I52d2ae620da40d33c13fb860200137f10e51b07d
2022-06-03 19:51:20 +00:00
Milton Wu
13c91159a2 Fix More details not work on fingerprint
FooterPreference doesn't support linkify in order to have better
accessibility. So we need to separate original 1 Footer into 2 Footers
in Fingerprint settings.

Bug: 230625178
Test: test fingerprint setting footer links with admin mode or non-admin
      mode
Change-Id: I07263a1faaf7dddf79ba96dd9fcb4fce4cf8981b
2022-05-09 11:39:56 +00:00