Commit Graph

13 Commits

Author SHA1 Message Date
joshmccloskey
3786016993 Removed old settings device credential logic.
Bug: 140128468
Test: Verified with biometricpromptdemo that confirm device credential
still works correctly.
Change-Id: I0f608ba1256c696317402f56549452bf6933066b
2019-09-18 15:57:22 -07:00
Kevin Chyn
0a33d62a17 Do not request cancel authentication unless currently authenticating
Currently we always send cancel() if ConfirmDeviceCredentialActivity
goes into the background. However, if the biometric state is no longer
authenticating, requesting cancel() in this state will result in an
inconsistent state between BiometricService/client and
ConfirmDeviceCredentials.

BiometricService/client will receive the ERROR_CANCELED message incorrectly,
while ConfirmDeviceCredential is showing / pending user password. When
the password is entered, its result is ignored.

The correct behavior is for ConfirmDeviceCredentialActivity to invoke
cancel() only if it's still authenticating. Otherwise BiometricService
and its client will receive ERROR_CANCELED, instead of the actual password
auth result.

Bug: 138279856

Test: BiometricPromptDemo, enable device credential fallback, get into
      lockout state, successfully enter password. API result is
      success instead of "canceled" now.

Change-Id: I6521e896d0402fe856dc85476f51149c9b3084a8
2019-07-26 11:20:10 -07:00
joshmccloskey
a104d290de Updated ConfirmDeviceCredential strings
Test: Verified with BiometricPromptdemo that pin/pattern/pass
show up correctly.
Fixes: 129797243
Change-Id: Ib075d6742f7e2ad03e491132ae9506dce67558fc
2019-04-16 14:19:29 -07:00
Kevin Chyn
eeca918ac7 ConfirmDeviceCredential should respond to cancel when launched through BP
Fixes: 128747871

Test: BiometricPrompt launched by ConfirmDeviceCredential is canceled
Test: ConfirmLock* can also now be canceled
Test: No effect on non-biometric related paths

Change-Id: I237de136e63d523fece87fad7a93f4ecd66d800b
2019-04-04 17:22:23 +00:00
Kevin Chyn
37293d59d3 Update Settings with BiometricPrompt API update
Bug: 126190552
Test: Builds
Change-Id: I4b99a59982c1d23be7e49940a271f7652c51d480
2019-03-05 18:29:36 +08:00
Kevin Chyn
440afb8868 ConfirmDeviceCredential should default to setRequireConfirmation(true)
If the value is unset, we should maintain the same default behavior
as BiometricPrompt, which is to dfeault to requiring confirmation.

Fixes: 123598496

Test: manual
Change-Id: Icaf27d184e0aea5eee077b8ec14bca27fd0ddad3
2019-01-29 18:35:53 -08:00
Kevin Chyn
e56df8877a CDCA is plumbed through BP
CDCA can be invoked with a bundle extra originating from BiometricService.
This allows us to add/forward new BP builder options to CDCA without having
duplicate API each time.

Bug: 111461540
Test: test app, receives correct callbacks
Test: CDC still works

Change-Id: Ia2080d161abba87949338176b34cdf440ed4ed53
2019-01-25 18:13:38 -08:00
Kevin Chyn
29aaf60ace Revert "Plumb setRequireConfirmation to CC"
This reverts commit 56c745c38e.

Reason for revert: Adding functionality differently

Change-Id: Iadc276ff32b9bef4ea3d7dc6dc051dcfc943e134
2019-01-25 17:49:31 -08:00
Kevin Chyn
9e07ad08e2 Merge "Plumb setRequireConfirmation to CC" 2019-01-24 10:30:36 +00:00
Kevin Chyn
56c745c38e Plumb setRequireConfirmation to CC
Bug: 111461540

Test: Tested with modified demo app with
      original and new KeyguardManager APIs

Change-Id: I56585fbfd704195586f2f516b35e9338e91b0346
2019-01-23 18:42:47 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Kevin Chyn
127da9c73c Fix ConfirmDeviceCredentials for work profiles
1) Fixed the theme for CDCA$InternalActivity to be transparent
2) CDCA only cares about biometrics, which are tied to userId
3) Moved shared methods to a util class

Fixes: 119296586

Test: Followed the steps in comment#1 of the bug linked above


Change-Id: Ie47fc7c3a53dfb7780087937e1ca83287cc52d71
2018-11-14 11:03:57 -08:00
Kevin Chyn
b3ee23154d 3/n: Make CDCA transparent and add BiometricPrompt
ConfirmDeviceCredentials now uses BiometricPrompt instead of
FingerprintManager

Bug: 111461540

Test: FRP does not display BiometricPrompt (as expected)
      adb shell settings put global device_provisioned 0 && adb shell am start -a android.app.action.CONFIRM_FRP_CREDENTIAL
Test: Using KeyguardManager API to launch, all corner cases seem OK
Test: Tested with work profile + one lock enabled/disabled, seems OK
Test: Enroll normal FP but not work FP, BiometricPromptDemo for both works
      OK
Test: Test CC on work version of BPD, then BP on normal version of BPD,
      both accept correct FP's (no regression from P)

Change-Id: Iacdaf76ab76971850212dc79513bfa3f4b89eb9a
2018-11-01 15:14:04 -07:00