History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
52c21c8c345dd9846184a6db8374c35ce2798e3e 05-Jun-2018 Lucas Dupin <dupin@google.com> Hide backdrop when waking up from fp

When the display is off or in low power mode, and the user
wakes it up using fingerprint, we should go directly to
an unlocked state hiding whatever was visible on the backdrop.

You might be able to briefly see the backdrop otherwise.

Test: wake up from AOD with/without lockscreen image
Test: wake up from pulse with/without lockscreen image
Test: unlock with fp from lock screen
Change-Id: Ia27c80b32863c57461fb6aa74f6c31bf0803b6fb
Fixes: 80531298
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
efebbc2f7a83128ae76b81a2cd6a92c82b974c17 13-May-2018 felkachang <felkachang@google.com> Fix Notification panel flickers comes from ag/4008279

The flickr is come from the quick setting panel appear. The root
cause is ag/4008279. Because FingerprintUnlockController.showBouncer
will be called after fingerprint authentication, to show the bouncer
without considerating the mode is the problem.

The solution is to use FingerprintUnlockController.calculateMode()
to get whether the mode is MODE_SHOW_BOUNCER or not. The program call
mStatusBarKeyguardViewManager.showBouncer in
FingerprintUnlockController.showBouncer when the mode is
MODE_SHOW_BOUNCER.

Bug: 79614864
Test: atest SystemUITests
Change-Id: I9dc031628d51eb80a05e16f5520c75a74b81d9dc
Fix: 79614864
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
d5060280cb11683206bf9f82b1c9da730d1c33aa 04-May-2018 felkachang <felkachang@google.com> Fix Clock flickers after reboot with strong authentication

After boot, the device request the strong authentication but
finger print is not strong. The keyguard will appear after collapsing
NotificationPanelView.

Because StatusBarKeyguardViewManager.mExpansionCallback.onFullyShown
->updateStates should call mStatusBar.setBouncerShowing(true)
before PanelBar.mExpanded = false but
StatusBarKeyguardViewManager.mBouncer.isShowing() return false,
StatusBarKeyguardViewManager.updateStates doesn't call
mStatusBar.setBouncerShowing.

After PanelBar.mExpanded = false, PhoneStatusBarView post runnable
mHideExpandedRunnable to show the Bouncer and make the Bouncer to be
showing and then change the NotificationPanelView to be VISIBLE.

The solution is to call
mStatusBarKeyguardViewManager.showBouncer(false) before calling
mStatusBarKeyguardViewManager.animateCollapsePanels(
FINGERPRINT_COLLAPSE_SPEEDUP_FACTOR). To make the
KeyguardBouncer.mRoot to be VISIBLE by KeyguardBouncer.mShowRunnable.

Bug: 78490344
Test: atest SystemUITests
Change-Id: Ia8770cd3ca98007574c0ba18c0464fc2f58b7973
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
067136c6164c68a6d5d9fadfd17bf2e590be3fdf 28-Mar-2018 Lucas Dupin <dupin@google.com> Fix scrim animation when unlocking with fp

Notification panel expansion was overriding the animation.
The expansion needs to be ignored during "wake and unlock"
states.

Test: visual
Test: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
Change-Id: I781aece52c845f3fee9149c109ad598c7b555751
Fixes: 76018235
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
d382b099a00a3234f3856dee75f5582a3e161cc9 06-Dec-2017 Lucas Dupin <dupin@google.com> Remove obsolete scrim transition

Scrim transitions should only be orchestrated by the StatusBar.

This method call should never be here, StatusBar#updateScrimController()
already does all the necessary work.

Test: Unlock with fingerprint, observe scrims.
Test: Touch fingerprint sensor after reboot, look at bouncer.
Change-Id: Ieaa11c4034f9c7e91b506fe189afa699e5c7c97c
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
453e7c1c079708f78eb13445e7bc7f69312e88d2 04-Dec-2017 Jason Monk <jmonk@google.com> Add latency logging for rotation

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: I44ddbc625b8aba7b1d43858688349c9bfb0f9470
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
9e3fa1033c1fb43c82abf93f231636a4b103c0e4 09-Nov-2017 Lucas Dupin <dupin@google.com> Refactoring ScrimController

ScrimController is now a state machine with tests.

The main motivation for refactoring this class was to
centralize ownership of the scrim state. Before, animations
could be triggered by StatusBar, StatusBarKeyguardViewManager
or DozeScrimController simultaneously, causing collision,
sometimes overriding an expected state due to the call order
and making it hard to calculate an actual state.

Change-Id: I4f4d82549235d3fc7be35b235a2668e70b956cb7
Fixes: 64397851
Fixes: 65688233
Bug: 64155983
Test: runtest -x tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
Test: runtest -x tests/src/com/android/systemui/statusbar/phone/DozeScrimControllerTest.java
Test: unlock using fingerprint, or challenge (pin/password/pattern)
Test: trigger in-app bouncer (camera app)
Test: pull down notification shade locked and unlocked
Test: lock, look at AoD (or black display when AoD isn't supported)
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
0b508b4c868aa5dd6f4f8bb3ece3cd950c0175f4 12-Sep-2017 Kevin Chyn <kchyn@google.com> Log fingerprint unlock mode

It's hard to determine why sometimes after OTA/reboot the first FP
authenticated doesn't cause bouncer to appear. Suspect calculateMode()
is returning either MODE_NONE or MODE_ONLY_WAKE but hard to verify without
log

Bug: 62444020

Test: build and look at log
Change-Id: Ie0dd9cc88bf300b06f1c85124fe98de6d3a1e6ba
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
36778ff37b348e61ecbb540457fd57a0ced8ef83 08-Sep-2017 Kevin Chyn <kchyn@google.com> Allow FP authentication while screensaver (not AOD) is on

FP authentication should be allowed whenever the screen saver is showing,
even if the device is not locked yet.

Fixes: 64537131

Test: 1) Disable AOD
2) Manually start screen saver from Settings
3) Before device is locked, touch FPS, device unlocks and wakes

Test: Do the same as the first test, but wait for the device to be locked
before touching FPS. Device unlocks and wakes

Test: Do the first two tests again with AOD enabled

Change-Id: Icd93a2e73d581e61b1c158b16de243722bd5680c
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
ba7ca590afe9d99d93e6b81b0185b4b349476091 15-Aug-2017 Adrian Roos <roosa@google.com> FingerprintController: Make sure to reset the fingerprint mode when going to sleep

Fixes an issue where the fingerprint controller could be stuck indefinitely, causing
the status bar to be in the SHADE state instead of the KEYGUARD state.
Now reset when going to sleep.

Also adds logging.

May also fix a second bug where the scrims were stuck in a bad state.

Change-Id: I55d456c5d157f92758267f684de2bd216ef07d94
Fixes: 64598807
Bug: 64594986
Test: mp sysuig; unlock with fingerprint; verify transition still works
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
6d5ebb7b7056548479a4a4416ce07aad919e819e 03-Aug-2017 Adrian Roos <roosa@google.com> AOD: Fix janky launch transition from AOD2

Fixes the transition that happens when when a notification is launched
from AOD2 and the keyguard can be unlocked without going through the
bouncer.

Change-Id: Iac9835ade42be4ecf02ee7430cf76d05fc006361
Fixes: 64164248
Test: Disable lockscreen security, turn off phone, receive SMS, double tap; verify no jank
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
7a5e4c9161396805fefb15ffcf1f09b019daf35b 31-Jul-2017 Adrian Roos <roosa@google.com> WakeAndUnlock: Make sure to wait for screen turning on

Fixes an issue where instead of waiting for screen on
we start the unlock transition immediately when the screen
is already on. Instead, we have to wait for it to turn off
and then on again.

Change-Id: Ib1f66edc6ad2d3e71c4bf928b4b0e7531babf6e0
Fixes: 64080116
Test: Unlock via fingerprint a lot. Verify the status bar does not flicker.
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
afda883f86615c81878f8d1cd3d99df2fe7a6c54 26-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Only force doze brightness when actually unlocking" into oc-dr1-dev
b880afe7839388e9adc387ae6dd0605b7ec93583 25-Jul-2017 Adrian Roos <roosa@google.com> AOD: Only force doze brightness when actually unlocking

Previously, we forced the doze brightness even if we acquired a bad fingerprint;
because the state got never reset, the keyguard can be stuck in a dark mode.

We do not need to force the brightness until we wake up though, so this can be
delayed until we know if the unlock is going to succeed.

Change-Id: I72f4a577134223831b1bb0baefdbc227d8e8bab4
Fixes: 63931486
Test: Set up fingerprint; go to AOD; tap wrong finger; press power button; verify screen is fully on and not dim.
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
544e628e165a27d15672ab9bc5ffe0a558d37d91 25-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fingerprint: Show bouncer when fingerprint is disallowed" into oc-dr1-dev
e4cb6c8a31585de27afe89b1c06e1a5a124d8c66 19-Jul-2017 Adrian Roos <roosa@google.com> Flicker free screen-on from AOD

When pulsing from AOD, we force the display OFF first. This allows
us to transition smoothly from AOD.

Also, we add a scrim transition for whenever we are waking up from
dozing. This relies on I4f3a863709a970f0fc8682c0a0c3547886e1fd0f
which forces the DOZE -> ON transition through OFF first.

Also fixes the WAKE_AND_UNLOCK transition that happens when waking
up with the fingerprint sensor.

Also fix an issue where KeyguardViewMediator's mWakeAndUnlocking
was cleared in onScreenTurnedOff; this should have been added to
the wakefulness lifecycle instead and now that the AOD -> ON transtion
dispatches the screen off callback it broke the fingerprint unlock
transition.

Fixes: 35849781
Fixes: 63887857
Fixes: 63783651
Fixes: 63727166
Test: AOD, receive notification; AOD, unlock with fingerprint; AOD, wake to lockscreen. Verify that everything is flicker-free.
Change-Id: I7d539db80a1c7e9216cf4c5c1e6d314c1893f12d
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
58ba685bac9bd7a0f37b66678fa8414407e3abcf 18-Jul-2017 Adrian Roos <roosa@google.com> Fingerprint: Show bouncer when fingerprint is disallowed

Fixes an issue where the bouncer was no longer showing after we
successfully authed a fingerprint but it was not allowed to unlock
the device.

Change-Id: Ieb91e876b8b7e4daf64141db1718451eb3ba1368
Fixes: 62446740
Test: Enter 5 wrong lockscreen credentials, locking out for 30 seconds. During that time try to unlock with fingerprint. Verify it shows the bouncer reliably.
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
eacef7a03a4d011b01102ab8e2edd8eb82b2e7af 07-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Block when fingerprint is already authenticated but waiting for goingToSleep to complete" into oc-dr1-dev
710a0b13628be61899472959526fa5e6fbb06b1f 07-Jul-2017 Adrian Roos <roosa@google.com> AOD: Block when fingerprint is already authenticated but waiting for goingToSleep to complete

Improves an issue where immediately triggering fingerprint after
the devices goes to sleep results in a lot of flickering.

There's still flicker however if the fingerprint authenticates after we've requested the AOD
display state, but before it has actually been applied.

Bug: 62887179
Test: Go to Home. Lock screen. Immediately unlock via fingerprint. Verify that the AOD screen does not even show.
Change-Id: Ib6425eee803a8c7e02f9621a571e562e825af57f
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
3e23eb59d09faca2e40e308a191d8499ffdb6ab3 07-Jul-2017 Adrian Roos <roosa@google.com> AOD: Keep doze brightness when unlocking with fingerprint

Updates the logic that was already in place to prevent lighting up
the display before the unlock transition starts:
- treat AOD as pulsing in FingerprintUnlockController
- now that doze can use more than one brightness level, use the current

Bug: 62885451
Test: Unlock with fingerprint from AOD. Observe that the unlock transition does not prematurely change the brightness level
Change-Id: I266bd5e4c0a1d5b4c347a65c0e7936247e333cfc
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
026266633d151acece242f1c0f5eeae0f3d0587c 06-Jul-2017 Adrian Roos <roosa@google.com> AOD: Fix flicker when unlocking with fingerprint

FingerprintUnlockController assumed that not pulsing is the same
as the screen is off. But with AOD this is no longer true. Instead
we now also trigger that flow if the screen is on and dozing.

Change-Id: Iad2fd65c50ad359d50bb357b41c57df123665df2
Fixes: 62885230
Test: Unlock from AOD with fingerprint; ensure that the status bar stays in AOD mode during the transition
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
88e61aad090a05e482e8f007cb5d92bcb338a2c1 24-May-2017 Adrian Roos <roosa@google.com> AOD: Fix wakeAndUnlockPulsing transition

Change-Id: Ia5d999f1756050a972f986357d563703abce7172
Fixes: 37878458
Test: Double-tap to trigger Ambient Display, use fingerprint to unlock. Verify transition is Buttery Smooth
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
df5501b0cc0e9a1a53ae42acb4a2974605034acf 15-Apr-2017 Selim Cinek <cinek@google.com> Adapted the interpolator when using fingerprint

When using fingerprint and when launching without touch
we are now using a different interpolator.

Test: unlock with fingerprint, unlock after double-tap, observe different interpolator
Change-Id: If1b63340759089cdf55820d59b6dcce2ca8bed6d
Fixes: 37311479
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
67cca7442bfeffc0bace506a796cfdd39e5d511c 14-Apr-2017 Adrian Roos <roosa@google.com> AOD: Prolong AOD2 after interaction, turn off AOD when prox covered

Turns off AOD 1 and 2 when the proximity sensor is covered.
Also extends the AOD2 duration when the screen is touched or
the lift gesture is triggered.

Also fixes some issues with the fingerprint unlock transition
from AOD where the doze state for the NotificationPanelView
was cleared too early.

Also hides the wallpaper while we're dozing.

Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
Fixes: 36893539
Fixes: 36893538
Fixes: 36033906
Fixes: 37327153
Change-Id: I3fccae1515a0daf2ff99589ed78ec947687e6262
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
421a9410b462770544c6ae9a554542fa2fe1acb1 06-Feb-2017 Jason Monk <jmonk@google.com> SysUI: Add method for plugins to keep status bar full screen

Lots of things detect overlays these days (installing apps) and the
only way to avoid the problems associated with this is to live in
the status bar window. So allow plugins to hold the window open
when they want to so they can have overlays be in that.

Move StatusBarWindowManager to Dependency to make things easier
as well.

Test: Install the example plugin, test can access QS and interact
with apps

Change-Id: Ib2288bf56704960847217bad01a480ab407e0ffe
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
2a6ea9c2a1b52b0386270ec73e1e6d6a9b614a34 26-Jan-2017 Jason Monk <jmonk@google.com> Delete BaseStatusBar

It is a relic of a more complex time, but has passed out of all
knowledge for too long.

Test: manual testing on phones and TV
Change-Id: I62a15d9413ea4bda3ac82bf6f7d22c096e2c1cdc
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
c3fe204780fb99b1d2563a9e4bb6c082b7517aed 07-Oct-2016 Jorim Jaggi <jjaggi@google.com> More latency tests (1/2)

- Move latency fake actions into a central location, LatencyTester
- Add latency test for screen turning on

Change-Id: I8aa3f475d56a4ee7a36b97bd6ece32e60c5851cd
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
d05651790af7c3dced153876de6db00366f9f9e5 16-Sep-2016 Jorim Jaggi <jjaggi@google.com> Add latency tracking for checking PIN (1/2)

Also move tags to Keyguard as we need it in Keyguard.

Change-Id: I718581cb4081830da1c3a2f4ad9b9f0ec6f09ae5
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
8adb30ccbc4e8a13771368872454e33abd0bc011 14-Sep-2016 Jorim Jaggi <jjaggi@google.com> Add ability to simulate fingerprint wake-and-unlock for testing

We are testing the path from onAcquired until the fading out animation
starts using a broadcast.

Note that this is *not* a backdoor as this only works if the no
unlock credential is set for the current user.

Change-Id: I13618f6ce4aae24744fa3c5ba222cfcd9d9df1b6
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
1d3967506e1cb3843d3bf758187ebc42d1c83485 26-Jul-2016 Nick Desaulniers <ndesaulniers@google.com> framework: SystemUI: add tracing to Keyguard

Helps trace the phone unlock path.

Bug: 29693568
Bug: 30279403
Change-Id: I290864f525e3d08f1efc6b9fc603172a5d139ea0
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
52738328bda77ea70f81c3c125aa9c59c9e5d0c2 29-Jan-2016 Adrian Roos <roosa@google.com> Add lockscreen wallpaper support to SystemUI

Bug: 25454162
Change-Id: I38b71ac2efc2a9608ae4e41173b64eca817cd4ea
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
5bcb8bb31ab6688dff432cb7bd20fe69016c7003 04-Nov-2015 Adam Lesinski <adamlesinski@google.com> Use wakeup reason when FingerPrint sensor wakes up the device

PowerManager can log into BatteryStats the reason for the device being
woken up. This change has the Fingerprint controller report the reason
instead of a default non-descriptive 'wakeUp' reason.

Change-Id: I12d80682dad888add139cca586d4b948e9d546e5
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
95e4038bb127fdd41bd3b11373a6d2328facb850 17-Sep-2015 Jorim Jaggi <jjaggi@google.com> Start fingerprint authentication in onStartedGoingToSleep

We used to start fingerprint authentication in onFinishedGoingToSleep.
This was a UX issue because then users couldn't place the finger on
the sensor immediately after pressing the power button because
onFinishedGoingToSleep is significantly delayed (around 900ms after
pressing the power button).

Bug: 23570959
Change-Id: I0bf557ebd10e6a8b033ab98a78aa338bf6538dcc
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
bf04cf51e6dbf6608cf45aa6eac874c98488d16e 02-Sep-2015 Jorim Jaggi <jjaggi@google.com> Fix wrong mode for fingerprint unlock when bouncer not showing

Bug: 23748205
Change-Id: I4c751fcbb99d1f409a1433309e795addf1a2232c
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
d94d3a2aa5cd1f177f61f73733217c952e356c43 22-Aug-2015 Jorim Jaggi <jjaggi@google.com> Fix issues with light status bar and fp wake-and-unlock

- When wake-and-unlocking, make sure to skip the light status bar
transition.
- Fix race condition with window manager when unlocking when device
is interactive for supplying the timings for the light status bar
transition.
- Fix media artwork when wake-and-unlocking while pulsing.

Bug: 23365544
Change-Id: I209ca1e6684811f5f313354ca1614a0ebd49388c
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java
83eb6bb5d83d3994a3750b566a2109a049ab1388 18-Aug-2015 Jorim Jaggi <jjaggi@google.com> Improve motion for wake-and-unlocking while pulsing

- Move all fingerprint related to logic in on central class in
SystemUI that knows all the state of the UI so there is exactly ONE
place in which we decide what to do when we acquire a fingerprint.
- When pulsing and we get a valid finger, we fade the contents of the
Keyguard out and fade the scrim out almost the same way as we would do
in a normal wake-and-unlock sequence.
- Hide shadows while dozing, so we don't see the artifacts when we fade
the dozed Keyguard out.

Bug: 23225107
Change-Id: I82f78e61f2530cf7d507ade80f6f0a340c082567
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java