summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
Commit message (Collapse)AuthorAgeFilesLines
* [Bouncer] Separate keyguard message areas.Aaron Liu2022-09-081-2/+2
| | | | | | | | | | | Separate keyguard message area between bouncer and alt bouncer. Ensure that the separation is clear and understandable. Insert keyguard message area for bouncer into the security view so the layout is better. Fixes: 242186543, 240328688 Test: Add unit tests and tested on multiple devices and view modes. Change-Id: Iff34f1ebe108649c454691d14054072af46bfad8
* Fix bug preventing pattern bouncer entering half height mode.Jamie Garside2021-09-161-1/+1
| | | | | | | | | | | I messed up the resource qualifier for the guideline (referred to the PIN pad one after a copy+paste), so the top guideline for the pattern view was never updated, preventing it from only using half of the screen in HALF_FOLDED mode. Bug: 199991560 Test: Manually verified. Change-Id: I959a38dbd7302bce3e37738504bc71a848fd0cd6
* Make the keyguard pattern view shrink when the device is half open.Jamie Garside2021-08-041-2/+19
| | | | | | | | | | | | | | | This is done by converting it to use a ConstraintLayout. This allows us to set a guideline based on the screen percentage to size the pattern view. After doing that, we can resize the entry method in much the same was as we do it for the PIN pad. Note: this CL also moves the pattern view unconditionally to the bottom of the screen. This is by design; the new UX designs anchor all keyguard input methods to the bottom of the screen instead. Bug: 191347942 Test: Manually tested. Change-Id: I1b53cad22ae4d2c7d738c2b48110283f53aa2e68
* Change generic container ids to be more specificHeemin Seog2021-04-291-1/+1
| | | | | | | | | CarSystemUI has an overlayable.xml for OEMs to overlay. However there are name collisions for R.id.container for some library we depend on. Bug: 186786197 Test: manual Change-Id: Ibb7c2d36e37a039baa7bcddc68b4633ba05bf013
* Add jank instrumentation logic in keyguardAhan Wu2021-01-151-2/+5
| | | | | | | | | Add instrument logic in keyguard for jank. Bug: 169221091 Bug: 169220724 Test: Manually Change-Id: I18e36bd7ae10693ce974c1bb54b384a29d890ef7
* Revert^2 "9/N Clean Up Keyguard Class Structure"Dave Mankoff2020-09-241-66/+2
| | | | | | b00c929394cb6bce158265af9606a8eb5a79e47a Change-Id: I42d17262a789d2eb106a924b442a9d3debcc35e4
* Revert^2 "6/N Add Controller for KeyguardPatternView"Dave Mankoff2020-09-241-280/+15
| | | | | | 87f6d21e679af9f783777d21f08c46f8bcaf04c0 Change-Id: Id01e3ba154a6fe1d73f720b9389920dad60332ac
* Revert^2 "4/N Setup Controller fo KeyguardSecurityContainer."Dave Mankoff2020-09-241-3/+2
| | | | | | 0d6a9012a73a2d999d52aaefca0a6ad52322db31 Change-Id: I881bbcdc63fcbafa8966064cccb7ce1edc710062
* Revert "4/N Setup Controller fo KeyguardSecurityContainer."Dave Mankoff2020-09-221-2/+3
| | | | | | | | | | | | | | | | | Revert submission 12585643-b166448040-keyguard-message-area Reason for revert: http://b/169081305 & http://b/169020145 Reverted Changes: I6fa05012c:4/N Setup Controller fo KeyguardSecurityContainer.... Iecf265744:5/N Add KeyguardSecurityViewFlipperController. I90ab99b2f:6/N Add Controller for KeyguardPatternView I4b74eddd1:7/N controllers for remaining Keyguard Password Vi... I805286374:8/N Remove View Injection from KeyguardMessageArea... I362755980:9/N Clean Up Keyguard Class Structure Change-Id: I7683b2234b601032ee606fbaabd474c5e2f6e989 Fixes: 169081305 Fixes: 169020145
* Revert "6/N Add Controller for KeyguardPatternView"Dave Mankoff2020-09-221-15/+280
| | | | | | | | | | | | | | | | | Revert submission 12585643-b166448040-keyguard-message-area Reason for revert: http://b/169081305 & http://b/169020145 Reverted Changes: I6fa05012c:4/N Setup Controller fo KeyguardSecurityContainer.... Iecf265744:5/N Add KeyguardSecurityViewFlipperController. I90ab99b2f:6/N Add Controller for KeyguardPatternView I4b74eddd1:7/N controllers for remaining Keyguard Password Vi... I805286374:8/N Remove View Injection from KeyguardMessageArea... I362755980:9/N Clean Up Keyguard Class Structure Change-Id: I11dff38ad9c36e0de5eec8f6e8662a173e1191cc Fixes: 169081305 Fixes: 169020145
* Revert "9/N Clean Up Keyguard Class Structure"Dave Mankoff2020-09-221-2/+66
| | | | | | | | | | | | | | | | | Revert submission 12585643-b166448040-keyguard-message-area Reason for revert: http://b/169081305 & http://b/169020145 Reverted Changes: I6fa05012c:4/N Setup Controller fo KeyguardSecurityContainer.... Iecf265744:5/N Add KeyguardSecurityViewFlipperController. I90ab99b2f:6/N Add Controller for KeyguardPatternView I4b74eddd1:7/N controllers for remaining Keyguard Password Vi... I805286374:8/N Remove View Injection from KeyguardMessageArea... I362755980:9/N Clean Up Keyguard Class Structure Change-Id: Ic62f199a51a15d8384450b8f181f3c5a0b988d7f Fixes: 169081305 Fixes: 169020145
* 9/N Clean Up Keyguard Class StructureDave Mankoff2020-09-161-66/+2
| | | | | | | | | | | | | | | KeyguardInputView no longer implements KeyguardSecurityView. This cl seeks to clean up some of the lingering vestiges from this large chain of refactors. I have manually tested none, swipe, pattern, pin, and password views for successfully unlocking, as well as multiple failed attempts resulting in temporary lock outs. Fixes: 166448040 Test: atest SystemUITests && manual Change-Id: I36275598001184e774677cf2dbb16dec8dc7ab5b
* 6/N Add Controller for KeyguardPatternViewDave Mankoff2020-09-161-280/+15
| | | | | | Test: manual && atest SystemUITests Bug: 166448040 Change-Id: I90ab99b2f241e21fdfcaeefb2e9443a1d3f2c9be
* 4/N Setup Controller fo KeyguardSecurityContainer.Dave Mankoff2020-09-161-3/+2
| | | | | | | | | | | | | | | | | | Move the guts of KeyguardSecurityContainer into KeyguardSecurityContainerController. This removes a lot of Dependency#get calls, and is another step towards simplifying our view inflation process. CustomViews that previously implemented KeyguardSecurityView now all extend KeyguardInputView, allowing them to be simultaneously treated as one while also being recognized as a View (the interface required a lot of casting back and forth to a View). LockscreenUtil is made a Singleton in this CL. Bug: 166448040 Test: atest SystemUITests && manual Change-Id: I6fa05012c55f5e003ab551d2f8360891a62fa2a7
* Resume-on-Reboot: remove special stringKenny Root2020-07-171-2/+1
| | | | | | | | | User feedback shows that this string causes confusion that the update is going to start immediately. Bug: 161179448 Test: Fake OTA test Change-Id: I9590ebf76c81ef104f490ba31ada7c482cd70d56
* Update bouncer fingerprint lockout logicKevin Chyn2020-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | Do not request fingerprint auth if the user is locked out and they have attempted credential on bouncer. This fixes an issue where the incorrect PIN/Pattern/Password message would be overwritten by the fingerprint lockout message. KeyguardUpdateMonitor controlls biometric requests for lockscreen/bouncer, so poke in credential attempts so it can be used for determining if biometric should be requested. Fixes: 141960543 Test: 1) set up PIN/Pattern/Password and fingerprint 2) reject fingerprint 5 times, then swipe up to bouncer 3) note that "too many attempts" message is shown 4) enter wrong PIN/Pattern/Password 5) note that from now on, this current bouncer session will only show credential-related errors Change-Id: Ifb837b29f93caa5b8762bd5609ca09601b6e4784
* Support Resume on RebootKenny Root2020-01-071-0/+4
| | | | | | | | | | | | | | | | When an OTA is downloaded, the RecoverySystem can be triggered to store the user's lock screen knowledge factor in a secure way using the IRebootEscrow HAL. This will allow the credential encrypted (CE) storage, keymaster credentials, and possibly others to be unlocked when the device reboots after an OTA. Bug: 63928581 Test: atest FrameworksServicesTests:RebootEscrowDataTest \ FrameworksServicesTests:LockSettingsServiceTests \ FrameworksServicesTests:RecoverySystemServiceTest \ FrameworksServicesTests:RebootEscrowManagerTests Test: use fake OTA console app to apply update Change-Id: I59df6942b27ea2bdd11b757922f5169085a325f0
* Introduce LockscreenCredentialRubin Xu2019-10-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Wrap credential bytes and type into one single object. * Update all external APIs dealing with lockscreen passoword to use the LockscreenCredential class. Remove existing variants that handles pin/password/pattern separately. * Coerce password quality passed to LockSettingsService into one of UNSPECIFIED, PATTERN, NUMERIC or ALPHABETIC (explained below). * Update all clients & tests to interface with LockscreenCredential. Note: LockscreenCredential distinguishes between PIN and password in its public interfaces, this is to pave the way for the next patch of formally introducing a CREDENTIAL_TYPE_PIN type and getting rid of the requestedQuality being passed along (whose sole purpose nowadays is to distinguish between PIN and password) For now LockscreenCredential still uses the quality value internally to make that distinction. This does result in a change to what quality values LockSettingsService receives as part of credential change: after this CL LSS will only see the quality being one of UNSPECIFIED, PATTERN, NUMERIC or ALPHABETIC, while it used to receive other qualities (NUMERIC_COMPLEX, ALPHANUMERIC etc) if device admin sets a password policy. This shouldn't make any behaviour changes though, because the new range of values is still sufficient to distinguish between PIN/Pattern/Password, which is what the consumers of the stored quality care about. Bug: 65239740 Test: atest com.android.server.locksettings Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest Test: atest com.android.internal.widget.LockPatternUtilsTest Test: atest com.android.internal.widget.LockscreenCredentialTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.password Test: atest MixedManagedProfileOwnerTest#testResetPasswordWithToken Test: atest MixedDeviceOwnerTest#testResetPasswordWithToken Test: manually set an PIN/Pattern/Password; then change to PIN/Pattern/Password; finally remove password Test: manually create a work profile; try unify and ununify work challenge. Test: manually test lockscreen FRP flow (change password via Settings / DPC) Change-Id: I04cc04057c96292a7b1b672bff2a09d594ea9b3c
* [DO NOT MERGE] qt-qpr1-sysui-dev @ build 5814791Hyunyoung Song2019-09-011-0/+1
| | | | | | | | | | | | | | | Test: presubmit setup on source branch Bug: 130289146 Create a Gradle build for SystemUI Bug: 136279712 Daggerize FalsingManager Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests Bug: 137563419 Remove Bouncer reveal delay from bypass flow Bug: 138787339 Allow Services and Activities to be injected into directly. Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap Bug: 64712476 Import translations for dev branches Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d
* Fix the looper that KeyguardUpdateMonitor is using.Dave Mankoff2019-08-311-1/+2
| | | | | | Bug: 139051615 Test: atest SystemUITests && atest SystemUIGoogleTests Change-Id: Ic4dd5978001c208504c137cee41f363d7e70b1b5
* Stop face auth requests when users are typingLucas Dupin2019-08-071-0/+2
| | | | | | | | | | | We don't want the bouncer to be dismissed right under the user's finger when typing. Let's abort face auth after we start typing. Test: solve challenge when face auth is running Test: repeat for pin/pattern/password Fixes: 136525169 Change-Id: I8f1ccbca4be9c84f5cb108618b84aefe03b74cc4
* Do not let pattern be draggedLucas Dupin2019-06-131-1/+2
| | | | | | | | | Test: drag accross pattern Test: start dragging from edges Test: start drawing, drag outside the bounds Test: repeat on small and large device Fixes: 132687980 Change-Id: Idab9279dd7cb002cbd43aab0ce1d48f265d39f04
* Merge "Bouncer retry polish" into qt-devLucas Dupin2019-05-211-3/+7
|\ | | | | | | | | | | am: d38f0d3440 Change-Id: Ifbcb7efaaacb9a86d9f4adb6a0e0c846f40c41bf
| * Bouncer retry polishLucas Dupin2019-05-201-3/+7
| | | | | | | | | | | | Fixes: 133192281 Test: manually drag pattern and pin areas Change-Id: I2746badd64350416fd4c62b717a098a2fc1ce136
* | Face auth messaging cleanupLucas Dupin2019-05-161-1/+3
|/ | | | | | | | | | Do not show timeout message, and ask user to swipe up to retry when auth fails. Fixes: 132465944 Test: biometric error on bouncer and LS Test: wait for face timeout Change-Id: Iec757f25d5f09b05ac02811e2eeef6ac98f63f16
* Calculate pattern bounds correctlyLucas Dupin2019-05-151-4/+13
| | | | | | | | | | | Use stable position on screen to calculate if pattern should be dragged or not. Before we were only comparing bounds to events, that would be on different coordinates (on a parent for example.) Test: draw pattern starting at top left Test: draw pattern starting at bottom right Fixes: 132687980 Change-Id: Ibe2d7fc113bf8bc3a9ab4910b3ab21062b59e7f3
* Allow users to swipe up on bouncer to retry authLucas Dupin2019-05-081-0/+7
| | | | | | | | | This will be enabled whenever face authentication is available. It's not possible to swipe on the pattern area. Test: manual (with pin, pattern and password) Fixes: 128036528 Change-Id: I8a4a9f7243db90be63df7d4e18125a1de3a591d9
* Move padlock to the top of the lock screenLucas Dupin2019-04-181-4/+16
| | | | | | | | | | | | | | | | | | | | | Test: tap on notification on lock screen Test: tap on notification on shade locked Test: swipe down from the top expanding QS Test: swipe up from LS Test: switch between pin, pattern and password Test: add and remove locked sim card Test: atest KeyguardBottomAreaTest Test: atest KeyguardClockPositionAlgorithmTest Test: atest KeyguardMessageAreaTest Test: atest KeyguardIndicationControllerTest Test: atest StatusBarKeyguardViewManagerTest Test: atest KeyguardBouncerTest Test: atest KeyguardPatternViewTest Fixes: 130398499 Fixes: 130298363 Fixes: 129784068 Fixes: 130223966 Change-Id: Ib1706de259fa4b1f4ef13f654cbd931457733d82
* Fix regression where promptReason would dissapearLucas Dupin2018-10-091-1/+1
| | | | | | | Bug: 111850911 Test: visual Test: atest KeyguardPatternViewTest Change-Id: I10dc09e369f962786dd108bafca3c21ed21a8481
* Clear pattern message when showing it againLucas Dupin2018-09-241-0/+1
| | | | | | | Change-Id: Ic68d78babbbd5f2c3fa2b97f49847c7f028c4210 Fixes: 111850911 Test: atest KeyguardPatternViewTest Test: manual
* Set stealth mode during inflationLucas Dupin2018-08-231-0/+2
| | | | | | Test: manual Change-Id: If321158a788ac46fc20f8bfbb67bcbfb154c6018 Fixes: 112526923
* Show the user switcher only when the bouncer cancel button is pressed.Aarthi Balachander2018-07-201-0/+1
| | | | | | | Bug: 110534280 Test: Tested on device Change-Id: Iff465ebf5089e023a27e1ec192a580c20b35d242 (cherry picked from commit e2a6edceb007847cc8026b47c365a68610a074f7)
* [SystemUI] To plumb down ColorStateList all the way down instead of int ↵Jason Chang2018-05-221-2/+3
| | | | | | | | | | colors in KeyguardHostView.java and its collaborative files. To plumb down ColorStateList all the way down instead of int colors in KeyguardHostView.java and its collaborative files. Bug: 79721803 Test: manually test for UI Change-Id: I69df1a13db5153ca36cf39f7b818d6c3d27ee107
* Do not reset security message when pattern resumesLucas Dupin2018-05-161-1/+0
| | | | | | Change-Id: Ia18b98c97612a4998eda52356ef9eafd1c3ad48d Fixes: 78235570 Test: manual
* Add Cancel button in Car KeyguardJian Jin2018-04-091-0/+7
| | | | | | Change-Id: I0c44f3583fe1dadade1e1b01229571ab7eb29643 Fixes: 74964857 Test: Manually tested on Mojave
* Use accessibility pane API in keyguardPhil Weaver2018-02-221-0/+6
| | | | | | | | | | | | Using the new accessibility pane title API to identify the pattern, pin, and password unlock screens. Bug: 73131182 Test: Verified that accessibility events are properly sent when unlocking the phone with each of the lock methods. Change-Id: I32594f4736b503e7f9e3be96e9f77a84ffcadc54
* Allow custom keyguard "prompt reason"Lucas Dupin2018-01-111-1/+1
| | | | | | | | | | | | | | Adds the possibility of presenting a custom message on the keyboard if you're trying to dismiss the keyguard. This is particularly useful when you're showing the bouncer because custom authentication (SmarLock) failed. Test: launch FLAG_SHOW_WHEN_LOCKED activity and call KeyguardManager#requestDismissKeyguard Fixes: 63940122 Change-Id: I0d88c0e59521887efa56d74874062b2b14970e4e
* Add latency logging for rotationJason Monk2017-12-061-2/+3
| | | | | | | | | | Move LatencyTracker and sysui_latency to make this possible Fixes: 67862696 Test: atest platform_testing/tests/perf/PerfTransitionTest/src/com/android/apptransition/tests/LatencyTests.java#testRotationLatency Change-Id: I42e3218355c162d4ba04b0f2c49e031156b5a357
* Fix "too many attempts" pluralization on bouncerKevin Chyn2017-08-301-2/+3
| | | | | | | Bug: 35027821 Test: manual test of pin/pattern/pass authentication Change-Id: I67fcd0977554dbd1b0394e4210d9ee7e668b77d9
* Remove unnecessary casts on calls to findViewByIdAlan Viverette2017-04-141-3/+3
| | | | | | | | Just frameworks/ this time. More paths to come. Bug: 24137209 Test: make -j32 Change-Id: Iff27abd26fa43296ac2fff8f534fc6742d2ae80c
* Move Keyguard to SystemUIJason Monk2017-02-101-0/+492
Test: make Change-Id: I3abb67e2b022737d2aa0226bb07f3966ad68fff7