Commit Graph

36 Commits

Author SHA1 Message Date
Charles He
991ccc26d8 Prevent fingerprint from bypassing work challenge
After too many incorrect attempts at entering the user credential (PIN,
password, or pattern) for the work profile, a timeout will be triggered
to limit the rate of retries. At the same time, fingerprint should no
longer be allowed to unlock the work profile, until the user unlocks it
with the correct user credential.

Previously, fingerprint was not banned from unlocking the work profile
during and after the said timeout. (Pattern lock screen only had a
partial fix which removed the fingerprint UI, but still allowed
fingerprint to unlock.)

This CL fixes the issue. It also replaces the following fields with
equivalent getter methods:
 - mIsStrongAuthRequired,
 - mAllowFpAuthentication.
Otherwise, we would have to rely on these internal states being always
up-to-date, which is less maintainable.

Test: make SettingsGoogle and manually enter incorrect PINs/patterns
Bug: 36912481
Change-Id: Id6ac6b5c78bdc19078ce8dd7acb4ec41329e57c3
2017-04-19 19:58:49 +01:00
Andrew Scull
83a026f81b Remove unused import.
Missed the cleanup step from previous CL.

Test: it builds
Change-Id: I62494994731189f962ca2dd26a7c3283784792ed
2017-03-15 14:42:58 +00:00
Andrew Scull
783870c205 Disallow fingerprint based on user unlock state.
Previously, the KeyStore lock state was used but this doesn't hold any
real value and may be removed in future. The user unlock state is the
source of truth we are looking for.

Test: Enroll finger, turn off work, lock and unlock device, turn on
work, asked for pin but can no longer user fingerprint.
Fixes: 34858001

Change-Id: I228952f4f7fd24916d294b5b523c6d3609520506
2017-03-15 12:42:18 +00:00
Robin Lee
11bf78028e CredentialFragment anti-pocket dialing measures.
Now it is necessary to actually press the exact "OK" or Back button to
get the dialog to dismiss. This makes pocket wiping that little bit less
likely.

Bug: 32934848
Test: manual, enter the password too many times. The dialog should appear. Attempt to dismiss it by tapping outside the dialog. This should not happen.
Test: correctness of .setCanceledOnTouchOutside is outside scope.
Change-Id: Icff8bd9068f636c0a75decb787b8a5c9161a8cbd
2017-02-11 19:49:02 +00:00
Robin Lee
c1cb8a4c2d Don't show multiple wipe warning dialogs
Stacking them on top of each other like that does not count as defence
in depth and we should not do it.

Bug: 32934848
Test: make RunSettingsRoboTests # added one specifically for this
Change-Id: I9490652c05a630e7c3f9164a9144fadfc0f41ea1
2017-02-09 19:33:00 +00:00
Michal Karpinski
35c32db800 Check for whether fingerprint can be used in work challenge moved
from onCreate() to onResume()

Test: manual
Bug: 29825955
Change-Id: Id01a21fecf395ba29858e099947eeb83a4cee8fc
2017-01-20 19:16:15 +00:00
Sudheer Shanka
acb1a61f3f Update usage of ActivityManagerNative.
Bug: 30977067
Test: N/A
Change-Id: I46e37a09cff059d2784a819bc2651d6973fbd268
2016-11-14 12:59:11 -08:00
Robin Lee
788671647c Eliminate useless 'isManagedProfile' utils method
This exists in UserManager now

Change-Id: If35326a1fe0de3c7bfde842c5c170899dc5d819b
2016-09-12 16:25:28 +09:00
Rubin Xu
f01b60a342 Remove duplicated call to authenticationSucceeded()
Bug: 30728557
Change-Id: Ib4678f1c92b252c0afc6e71665dc8be460a20a9e
2016-08-16 12:39:19 +00:00
Doris Ling
30e348b3c3 Fix accessibility title in confirm device credential fragment.
When setting the accessibility title in confirm credential fragment, it
simply does nothing if the title is null. But for most of the confirm
fragment only have header and details, not the title. In that case,
nothing will be set. Changing it to use the supplemental text directly
if the title is null.

Change-Id: Id9fdebf04535ccc8f38a933758a7948ee2966fb4
Fixes: 30221638
2016-08-03 17:26:34 -07:00
Ricky Wai
9aa434cde6 Refresh screenlock UI after password verification failed
Bug: 28314264
Change-Id: Ibd715d70bbee728a887f779a24bb99ad32d8d2ed
2016-06-27 11:10:09 +01:00
Victor Chang
5e0a46bff6 Fix Continous loop in unifed screenlock when trying to Trust a CA cert
Cause: with unified screenlock, ConfirmDeviceCredentialActivity didn't
forward result with FLAG_ACTIVITY_FORWARD_RESULT

Also, fixed that ConfirmDeviceCredentialActivity didn't allow fingerprint
authenication in unified screenlock after keystore unlocked.

In ChooseLockSettingsHelper, add one new util function to allow
extra option to set returnCredentials to false while external to true.

Set StrongAuth to "not required" when it has been successfully unlocked.

Test:
1. PO Unified Screenlock/Work Challenge x fingerprint -> ok to trust cert
   (Also, no credential is returned in intent)
2. WorkMode off -> Reboot -> turn on Work mode
   -> no fingerprint option, PIN unlock successful to turn work mode on

Bug: 28752364
Change-Id: I6dc8865e8f005545f8577d7731afb4495647062b
2016-05-20 19:10:33 +01:00
Tony Mak
7655be05c1 New UI to hint user about strong auth
Instead of having a separate textview, we now reuse the detail textview
to show the hint.

Fix: 28204828

Change-Id: I3eff3240bf7ecb1495fbf11a073a273a0de603ae
2016-04-21 10:27:43 +01:00
Daniel U
6655e1b6f5 Hint user that fingerprint cannot unlock FBE keys
Show a hint text to user noting that pattern/PIN/password is
required when decrypting the credential based storage when file
based encryption is turned on.

The hint text is the same as that of the device unlock screen after
device reboot.

Bug: 27964055
Change-Id: I0d5a493bab69eae5ce4742bd07d4851387863cac
2016-04-08 15:23:46 +01:00
Ricky Wai
996d0dfa6e Fingerprint should confirm device lock when unified
When unified and adding a fingerprint, the user is prompted to set up
a backup

Bug:27419438
Change-Id: I6cfa8c276ae69a0af51580be390c3da4e9596874
2016-04-07 15:11:14 +00:00
Udam Saini
0708d9e119 Fixes back button on action bar on some fragments.
SettingsPreferenceFragment has this already set so that the drawer
layout will work when the menu doesn't exist. However, some fragments
are not preference fragments, and we need to set setHasOptionsMenu
manually.

bug:27879503
Change-Id: I6faadeb56dab00af611ac413109800822038c66d
2016-03-29 10:29:14 -07:00
Julia Reynolds
40a82187c5 Fix build
Bug: 27709695
Change-Id: I2020a33aa0a305e025d7d004df4b23838bb42992
2016-03-17 13:58:15 -04:00
Julia Reynolds
8cedc7cae0 Fix crash adding an account.
Bug: 27709695
Change-Id: I66b69d71ed346e8d6f0d8493e6dd415d81f41ac1
2016-03-17 12:56:30 -04:00
Julia Reynolds
017ae508a0 String and accessibility changes.
Bug: 27490367
Bug: 27491350
Bug: 27655047
Bug: 24573668
Change-Id: I972d15666b206fd4f94fc55bec77b8cfbc6b7e04
2016-03-16 11:40:54 -04:00
Abodunrinwa Toki
1abf436466 Merge "Fix work challenge background size." into nyc-dev 2016-03-10 18:42:03 +00:00
Abodunrinwa Toki
80c082f066 Fix work challenge background size.
Bug: 26820717
Change-Id: Icd984b7bb7517ac01a3fa5ca26d060ea33b58a99
2016-03-09 16:48:43 +00:00
Clara Bayarri
15fa7bf634 Fix issue with unlock attempts for the Work Challenge
The failed attempts to unlock were not being reported due to a small
bug.

Bug: 26677759
Change-Id: Ie03593ba38ba118e1c030135037e15400e7af8a2
2016-03-04 17:55:43 -08:00
Clara Bayarri
462cce1a4c Add Work Challenge Notifications Setting
Bug: 26844582
Change-Id: Ib1eb28cfebcc0c8d23ec8669f2777ccb822d7bf3
2016-03-01 10:22:05 -08:00
Clara Bayarri
bad66071cc Respect admin disallow fingerprint in ConfirmDeviceCredentials
Bug: 26891832
Change-Id: I4c6377fb79fa31e6059149220c854c47ad53eda7
2016-02-23 15:52:53 -08:00
Clara Bayarri
9d357ea072 Call reportFailedPasswordAttempt from Work Challenge
Entering the wrong credential in ConfirmDeviceCredentials should
also count as failed attempts for the password, after which the
DPC have set a restriction to wipe the work profile.

Fixed related issues, such as the CredentialChecker re-sending
the result after onResume causing additional attempts to be counted.

The new error message String is also displayed initially when there
are pending attempts to inform the user that they are not starting
from fresh.

Bug: 26677759
Change-Id: I70cfae4c05e705ad7fe93bc071426459b79e7d0c
2016-02-17 12:22:16 +00:00
Clara Bayarri
40db4bbbb5 Profile Challenge Fingerprint Support
Change-Id: Ic83c479f645776dd0678721bfb732b399f09c992
2016-01-26 15:45:37 +00:00
Benjamin Franz
cc8d37a4c6 Read work challenge background color from device policy
Call into DevicePolicyManager to retrieve the background color that
should be used for the work challenge on the user whose credential
screen we're about to show.

Change-Id: I612dd96020ce8932b49b21e6ff6faaddd39f957d
2016-01-22 12:34:46 +00:00
Benjamin Franz
194300dff3 Add background image for work challenge
If the challenge shown is for a work profile, add the default image and
color to the background of the fragment.

Change-Id: I148c6cd3a835a84c7bac78b020839dfdae4a6c36
2016-01-21 14:15:31 +00:00
Clara Bayarri
86ebaa230e Launch existing Task when taskId is given to ConfirmDeviceCredential
When using ConfirmDeviceCredential as the Work Challenge, we sometimes
have intercepted a task launching from recents. In this case, read the
taskId given as an extra and request that task to be started from
recents instead of launching a new intent.

Change-Id: Icca92f246e8f025b64de1f138493fc4069f98829
2016-01-05 16:26:10 +00:00
Clara Bayarri
c5cde05562 Fire pending intent from Confirm Credentials flow
Add support in the Confirm Credentials flow to read an Intent extra
and fire it when authentication succeeds.

This is part of the Separate Work Challenge feature.

Change-Id: I52c203735fa9b53fd2f7df971824747eeb930f36
2015-12-15 10:45:48 +00:00
Julia Reynolds
ddd887afc8 Prevent crash when removing an account.
Bug: 21164141
Change-Id: Ib7cee6d8478b49339fd3477e2369da15069f9c3f
2015-07-10 10:07:21 -04:00
Julia Reynolds
ce25af4838 Talkback improvements for Settings screens.
Bug: 21164141
Change-Id: I7444261ccf967f6db70c9fe44a00bd3f19ceb975
2015-07-09 13:21:20 -04:00
Jorim Jaggi
ff41a9a5a6 Animations/success state for external confirm device credentials (2/2)
Bug: 20929186
Change-Id: I4489dd37f1148fb03315ec337a546eee04660cb5
2015-06-10 15:17:24 -07:00
Jorim Jaggi
5ad75f07b1 Update fingerprint enroll UI to spec.
Also adds sliding animations between the steps.

Bug: 20495507
Change-Id: I148d8d8b8082361149f02fd2dc4cead0ba3e2526
2015-04-24 14:26:15 -07:00
Andres Morales
59f5976e15 Unbreak CC screen
Re-add logic in authenticationSucceeded

Change-Id: Iac1925f5e2f2f67dd5d7c7f5d454f32691d51b61
2015-04-16 16:45:26 -07:00
Jorim Jaggi
8a09b619ae Update confirm device credentials to spec, add fingerprint
- New strings in the screen.
- New layout/style.
- Clean up internal API's around it.
- Add fingerprint support if launched from externally
- Separate theme if launched from externally
- If launched from above Keyguard, use SHOW_WHEN_LOCKED flag

Change-Id: Icdf9bf9e0506841f24e8aab5f0f1d1f4b688951f
2015-04-13 14:59:26 -07:00