Commit Graph

47 Commits

Author SHA1 Message Date
Hidenari Koshimae
5be868c590 Improve "Try again in 1 seconds" behavior in lockscreen
When user fails an authentification in lockscreen many times,
"Try again in 30 seconds." is displayed and a 30 seconds
timer starts to count backwards.

This lets "Try again in 1 seconds" to be displayed for one second.

Bug: 31078006
Change-Id: I6c7de2b751582bb06a93e583b710f83201da1728
2016-11-29 14:48:46 +01:00
Adrian Roos
2ec2019f00 Merge "Keyguard: Clean up security message display" 2016-10-17 18:32:59 +00:00
Adrian Roos
db327e9f59 Keyguard: Clean up security message display
- Remove timinig out of messages. This is no longer
  necessary because we do not show the owner and charging
  info in that area anymore.
- Remove the "important" parameter, which was equivalent to
  clearing the message if false.

Change-Id: I5fae5432724ad90a68f53f678f933c4a15dc6e9b
Fixes: 28270749
Test: manual; reboot device, swipe up, verify message doesn't disappear after 5s
2016-10-17 18:31:49 +00:00
Jorim Jaggi
ed3032b6b8 Unlock latency improvements
- Make sure the latency also gets tracked on first unlocked in
which we cancel the AsyncTask.
- Also add it for pattern authentication

Change-Id: Ie1561264b0a3b75c09819ccc6d269e61e367e1be
2016-10-07 17:26:59 +02:00
Muyuan Li
af69525d7b resolve merge conflicts of 1dfb41c to master
Change-Id: If389fa5e9139005766e694bc83ec6a07c025da1b
2016-09-05 19:53:52 -07:00
Jorim Jaggi
031f79560f Only do slow unlock transition if real home is not running
Test: Tested the first unlock on both FDE and non-FDE device.

Change-Id: Ibfbb9d67fb83456acd7b12bbe2d03a961a998ba9
Fixes: 31203310
2016-09-01 16:57:25 -07:00
Selim Cinek
d1c50f66f6 resolve merge conflicts of 6e57aae to master
Change-Id: I929929ad41df4439996755b605d084bfdcf3428a
2016-07-11 11:20:32 -07:00
Jorim Jaggi
e8fde5d966 Improve initial unlock delay (1/2)
When checking for the credentials, we add a new callback
onEarlyVerified which gets called as soon as we know that the
credential was correct.

In KeyguardUpdateMonitor, we track the unlocked state of the user,
and if it's still locked, we slow down all the transitions to allow
for a more gradual unlock experience.

Bug: 29007436

Change-Id: I406d228f9f3e41e07fe3292a61df175a7f579e4d
2016-07-08 11:50:54 -07:00
Vadim Tryshev
8702ca7e2d Preventing unnecessary switching to a user upon lockscreen dismissing.
This is the part that will go to master branch.

The fix passes the 'targetUserId' down to
KeyguardViewMediatorWrapper, which explicitly tells what user it need
to switch to.

Bug: 27927399
Change-Id: I7674272eb654c0acd672cbfd66284bf7cc0c4efa
2016-05-03 00:54:32 +00:00
Adrian Roos
d6d253a5a1 Improved trust error messaging (2/2)
More detailed reason strings when trust or
fingerprint are not allowed.

Bug: 22704995
Change-Id: Ia9e22378d3fc0f5fb42e32adc789e313c3a2beb3
2016-04-13 13:17:57 -07:00
Adrian Roos
c13723f22e Improved trust error messaging (1/2)
Tracks why trust agents are disabled and shows
a generic message on the keyguard. Dedicated strings
in follow-up.

Bug: 22704995
Change-Id: Ibb4fd9c9386c4dc12f0734004502b9a9cc6ded79
2016-01-25 08:04:42 -08:00
Xiyuan Xia
ce64cea383 Fix a race condition during async credential check
Do not dismiss keyguard if KeyguardUpdateMonitor.getCurrentUser() is
changed during the async credential check.

Bug:26415736
Change-Id: Id7e04c7100e0920fe86fe006840928a936f62dd8
2016-01-12 16:16:53 -08:00
Toni Barzic
17fdb13a60 Reset lock pattern stealth mode when keygueard pattern view is reset
Stealth mode is not guaranteed to remain constant through keyguard pattern
view lifetime (it's user specific, and user context may be switched), so
update it when keyguard pattern is reset.

BUG=25017442

Change-Id: I798fe685cfaadd35462f54ab7e4fa9e6f6276436
2015-10-16 13:38:11 -07:00
Jorim Jaggi
25b4d4b280 Require strong authentication after a timeout
Bug: 21594472
Change-Id: Iab169d4fa2e4ad134f8c8579654b28e96b5b1385
2015-08-12 16:39:56 -07:00
Selim Cinek
cfafe4ea6f Indicating fingerprint error messages on the bouncer now
Also ensure that error messages are surfaced when the screen
comes on such that the user knows why his fingerprint is not
working.

Bug: 22035466
Bug: 22524101
Change-Id: I00b0e833cdb8a3475545ba75b8cb7bf7a419dfd4
2015-08-11 16:37:54 -07:00
Jim Miller
51e3a672e0 Don't wipe device because of short PIN, patterns or passwords
This fixes a bug where we were counting short PIN, patterns and
passwords as attempts. For devices with a device policy admin,
this would cause devices to get wiped after a short amount of
interaction with the UI.

Fixes bug 22844609

Change-Id: I7616b38d954f89d4a2cee23f9aec1b898041b1f2
2015-08-03 19:36:24 +00:00
Jorim Jaggi
613f55fbbb Move PIN/Pattern appear animation to RenderThread (1/2)
Bug: 22205322
Change-Id: I253f20a397ab89cb78254338a0254619232d7300
2015-07-22 15:23:52 -07:00
Jorim Jaggi
94f6f06101 Speedup PIN/Pattern dismissal
Bug: 22096344
Change-Id: I50d5ecaa03aae94cecf9da173f0d6318faaf6a1a
2015-06-25 21:49:20 +00:00
Selim Cinek
3122fa85b2 Added a message to the keyguard bouncer
A message can now be shown on the keyguard bouncer
explaining why the bouncer is being shown.

Bug: 21618072
Change-Id: I25aea9cc242abbf6a133fb42cc4407f5c2f3f688
2015-06-18 15:30:36 -07:00
Jorim Jaggi
5673353559 Animations/success state for external confirm device credentials (1/2)
Bug: 20929186
Change-Id: I8ca396e353189da7da3e9c98f841b76c876e461e
2015-06-09 15:25:40 -07:00
Adrian Roos
e67f67da9a Merge "Hide KeyguardMessageArea if empty" into mnc-dev 2015-05-29 21:33:09 +00:00
Andres Morales
2397427cb1 [LockSettings] migrate password attempt throttling to hardware
leverage root protected, cryptographically secured hardware
if available

Bug: 21118563
Change-Id: Ifa804c5a0728bfd14466eb2a84051bace6d33d57
2015-05-26 19:48:51 -07:00
Adrian Roos
28828b5f62 Hide KeyguardMessageArea if empty
Also removes dead code.

Bug: 20729651
Change-Id: I3a6bee34c5b37fcc304199eb76f31d365c6bb0b4
2015-05-26 16:38:59 -07:00
Xiyuan Xia
09eb0337b7 Clear security message on user input
Bug:20536310
Change-Id: I57c2fda9def7db4908303ce3ac1977563fc4bfdd
2015-05-13 16:03:33 -07:00
Xiyuan Xia
6e38058908 Make PIN/Password/Pattern check async
- Add LockPatternChecker to support async security check;
- Migrate Keyguard UI to use the async check;

Bug: 20697812
Change-Id: I77002a12931feb17cc20923d7c917b3e37f2cd31
2015-05-12 12:42:38 -07:00
Adrian Roos
d6aa6cb0cc Remove LockPatternUtils.getCurrentUser()
Bug: 18931518
Change-Id: I177eefe466c12217cf64c85b872f71bc23c7bf05
2015-04-28 11:49:04 -07:00
Adrian Roos
8150d2a2a1 Require explicit userId in LockPatternUtils
Bug: 18931518
Change-Id: Ib03f37df9135f0324a998c62d165d8eea46328c8
2015-04-28 11:49:00 -07:00
Andrew Lee
f98f7b969b Null-protect attempt to get EmergencyButton.
Not all device layouts, such as for tablets, will have an Emergency
Button, so check for null before attempting to set a callback.

Bug: 18977746
Change-Id: I0e909e71c51f6923edda4707bb25053a5f2de398
2015-02-02 16:08:41 -08:00
Andrew Lee
72b46d429c Reset keyguard/bouncer on "return to call".
+ Add callback, to be invoked when EmergencyButton is clicked when
inside a call.
+ Route callback to the KeyguardViewMediator, to invoke
resetStateLocked() to reset the bouncer.

Bug: 18977746
Change-Id: I4733ccfb6809c4610184a33a28ba38ecf255231f
2015-02-02 12:30:59 -08:00
Jorim Jaggi
6b88cdfba7 Remove dead code #8: Remove old keyguard "bouncer"
Also squashes KeyguardViewBase and KeyguardSimpleHostView into
KeyguardHostView, uses a constant for the user activity timeout
(custom value no longer used).

Change-Id: I919b7d3de1dd1590b20e0f14f0e193ee2b3dc21e
2015-01-07 15:20:37 +01:00
Jorim Jaggi
8a8941aa1b Remove dead code #4: Remove unused Keyguard strings
And also remove an unused class.

Change-Id: I50a8a21d99a85cf0d3c301e7b54f434679e1be26
2015-01-07 15:00:41 +01:00
Selim Cinek
525fb7eecf Fixed a bug where the pattern may become invisible
Bug: 18632529
Change-Id: Idd9911b38526d8c4eb5731c45502079092bd6304
2014-12-10 17:34:17 +01:00
Selim Cinek
f9c0e8f02f Added dissapear animation to pattern and pin input
Bug: 18232017
Change-Id: I062d55b0870ccaad6093b672f5076c3f80c10f94
2014-11-12 14:48:48 +01:00
Jorim Jaggi
68e6fa72f2 Remove "forgot pattern" in pattern view
Bug: 17184958
Change-Id: I7ebb35a1b734286ded99352b3fa2b891386c581d
2014-09-05 15:41:07 +02:00
Jorim Jaggi
fb28c0e129 Fix invisible security method
Also fixes a bug where notification guts couldn't be launched from
Keyguard.

Bug: 17162095
Change-Id: I50395065e568ca01e837b0540d5edfd8bbd5797a
2014-08-25 17:20:43 +02:00
Jorim Jaggi
76a1623afc Preparations for lockscreen launch animations
- Update unlock animations to new spec to make the consistent with
  lockscreen launch animations.
- Introduce disappearing motion for security views which runs before
  we actually dismiss Keyguard.
- If a window is running the un-force-hide animation, treat as it
  would have the wallpaper flag set so the wallpaper stays until
  the animation is completely done.
- Run an animation on the wallpaper if the wallpaper is going away.

Bug: 15991916
Bug: 16234603
Bug: 15326120
Change-Id: I063aa4f269ddcf75b9a705e90f0c3056b541b642
2014-08-12 20:52:26 +00:00
Jorim Jaggi
98f8530af3 Animations for Keyguard user switcher.
Bug: 15757197
Change-Id: Ia3fcc0f771cea37fc2d57181d859373c423954a7
2014-08-07 21:57:34 +00:00
Jorim Jaggi
b690f0d502 Clean up user activity handling
- Only call userActivity in down touch event
- Use normal timeout when QS is open
- Clean up old code regarding user activity in Keyguard

Change-Id: I968eeed33fef44def37b68eb1ddc63f1a531ab35
2014-07-04 03:00:29 +02:00
Jorim Jaggi
6a247199ba Fix Keyguard crash when in landscape.
Bug: 15391673
Change-Id: Icb50af358a8478672265a420dd7d500a87fb3fa0
2014-06-04 17:59:37 +02:00
Selim Cinek
3018197cf0 Implemented the appear animation for the pattern security.
Also refactored AppearAnimationUtils slightly to support this.

Bug: 15163546
Change-Id: I411fad20c410875dcf7bc465ea545ed90aac187e
2014-05-30 17:29:22 +02:00
Jorim Jaggi
c14f829506 Skeleton for Keyguard security method appear animations.
Bug: 15163546
Change-Id: Id1c6b4f21b8f182f9d00fb903370de5512eaba1b
2014-05-27 02:49:06 +02:00
Jim Miller
2e648e1ed2 Don't clear the pattern when window focus changes.
This is no longer required since we now clear the pattern field
when showing the bouncer.

Fixes bug 14622312

Change-Id: I476bbc95449cd31e56aeac579b3c94f859cd020b
2014-05-13 16:51:23 -07:00
Jorim Jaggi
5cf17879a3 Reuse KeyguardViewMediator for new Keyguard implementation.
This change reuses KeyguardViewMediator for the new Keyguard
implementation in status bar. KeyguardViewManager is replaced by
StatusBarKeyguardManager which handles adding the view, setting the
state etc. StatusBarWindowManager is introduced to managed the window
of the status bar, which has the logic of both the old Keyguard window
and the old status bar window. In the current implementation, Keyguard
gets displayed like it would be in the bouncer state, but that's likely
to change in the future. Also, setHidden in IKeyguardService is also
renamed to setOccluded, as the word hidden interferes with the
terminology when dismissing the Keyguard.

Bug: 13635952
Change-Id: I1c5d5a49d810d8532089f464cb2efe35e577f517
2014-03-31 20:58:31 +02:00
Adrian Roos
7c11f8b465 Fix bug that allowed avoiding lockout if too many wrong patterns are entered.
Bug: 13302967
Change-Id: I78404acd700c338e58270471ba307dad9a6884d6
2014-03-10 17:00:11 +01:00
Jim Miller
7751ff6cd0 Move majority of security-related logic from KeyguardHostView
to KeyguardSecurityContainer.

This removes and/or simplifies the interface between modules to
allow easier separation of KeyguardSecurityContainer into a stand-alone
component.

Bug 12135931
2014-01-27 15:21:39 -08:00
Jim Miller
5ecd81154f Move keyguard to its own process.
This is in preparation to moving keyguard into its own process.

Moved keyguard source and resources into new .apk.

Got basic test app working.  Still need to implement MockPatternUtils
and means to pass it into KeyguardService with local binder interface.

Added new ACCESS_KEYGUARD_SECURE_STORAGE permission.

Temporarily disabled USER_PRESENT broadcast.

Remove unintentional whitespace changes in PhoneWindowManager, etc.

Checkpoint basic working version.

Move to systemui process.

Synchronize with TOT.

Sync with recent user API changes.

Fix bug with returing interface instead of stub for IKeyguardResult.  Create KeyguardServiceDelegate to allow
for runtime-selectable local or remote interface.

More keyguard crash robustness.

Keyguard crash recovery working.  Currently fails safe (locked).

Fix selector view which was still using frameworks resources.

Remove more references to internal framework variables.  Use aliases for those we should move but
currently have dependencies.

Allow runtime switching between service and local mode.

Fix layout issue on tablets where orientation was reading the incorrect constant
from the framework.  Remove more framework dependencies.

Fix PIN keyboard input.

Remove unnecessary copy of orientation attrs.

Remove unused user selector widget and attempt to get multi user working again.

Fix multi-user avatar icon by grabbing it from UserManager rather than directly since
keyguard can no longer read it.

Merge with AppWidget userId changes in master.

Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
2013-02-27 17:27:53 -08:00
Jim Miller
25a272a9f6 Move keyguard source and resources into new package
This is part 1 of two commits.  This commit moves all keyguard
source and resources to a new com.android.keyguard package.
The second part of this change applies an overlay that makes
it work.

Change-Id: I360e9ac7783c6cb289c992733818b9535df185b9
2013-02-27 17:26:43 -08:00