- 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
Split off from I0af11da1b7cd7c8d837bc5ba3a62ef2ffca74b1b.
The initial value did not matter previously because
a SystemUI crash triggered the boot logic and forced
a manual entry before fingerprint works.
Long term the timeout logic should be moved to StrongAuthTracker
so it can be shared with the trust agent implementation (currently
implemented by the trust agents themeselfes)
Bug: 22846469
Bug: 22115393
Change-Id: I0af11da1b7cd7c8d837bc5ba3a62ef2ffca74b1b
There is jank at the beginning of the transition when the heads-up
disappears when clicking, because a lot of stuff is going on. In
order to make it consistent with other notification clicks in the
shade, introduce a delay for the disappear animation.
Bug: 23365512
Change-Id: Ib7c5db552d6803f96374198c2af38cf8236769cd
- Scrims: When dismissing Keyguard, don't wait until the next frame
to start the animation. Saves 16ms
- Scrims: Skip first frame, because it's completely black anyways.
Saves 16ms.
- Don't wait with navigation bar to show until the screen has turned
on. Window manager is blocked on DisplayPowerController anyways, so
the animation will exactly be started when the screen turns on. Fixes
some jank as well.
- Window manager: Don't wait for the window below Keyguard for draw
completion until turning on screen. Saves a lot of time depending on
how the app is behaving.
Bug: 23401557
Change-Id: I9734f9a12143f0e3c0647e9aa066831a29a6de63
- Don't hide keyguard after the animation is done, because this
would cause a measure in the middle of the fade animation.
- Don't use a layer for the notification panel in this case - we
don't need it and it only adds latency.
- Speed up the whole thing a bit because the animation is now
smoother.
Bug: 23225107
Change-Id: Ie8264c4d0e62bd6a78227e04b9900b4348ddd649
- 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
When the unbind request came in before the service was actually
bound, we dropped the unbind request because mPrewarmBound was still
false. Fix that by tracking whether a bind is pending and if a unbind
event comes in during that time, set another flag to unbind it
directly again when the service is actually bound. In addition, don't
allow binding again if any of the previous events are still pending.
Bug: 23143748
Change-Id: I2b8ace86e35479a9848668a3462a2ce687835413
When pulse was about to turn on and at the same time we were starting
a wake-and-unlock sequence, there was jank because the scrim handling
was not correct anymore. Now, abort the pulse when we are wake-and-
unlocking so we don't see flickering with the scrims anymore.
Bug: 23217476
Change-Id: I331f513b68fb1832b4372d3e2e518b31b556a43c
In PowerNotificationWarnings, where it dispatches notifications
with UserHandle.ALL:
mNoMan.notifyAsUser(TAG_NOTIFICATION, R.id.notification_power, n, UserHandle.ALL);
The fix is to have RingtonePlayer check the incoming userId argument to playAsync(),
and change USER_ALL to USER_OWNER.
BUG=22516181
BUG=22992637
Change-Id: Ia3f8aaa2bee7fb15c24542e2331b2bc5a877e715
When in ambient display mode, we didn't get a callback to
onStartedWakingUp, thus the time was never refreshed. Since
broadcasts are disabled in this low-power state, we need to refresh
the clock manually before turning on the screen, because we can't
rely on the broadcasts to be delivered.
Bug: 23171638
Change-Id: I249f4195a14995f7c1467e73ac2aa400b871f80e
Since bluetooth connection state has a mind of its own... If we
think we are connected, but we don't actually know about any devices
that are currently connected, we probably aren't. So set the state
that way, and let everyone know.
Bug: 22977827
Change-Id: I9266f5394b179a3917b3818839f7c6b2dc238376
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
- It appears that there is contention between startActivityAsUser() and
removeTask() (called on two separate threads) which can cause jank when
a user removes all the tasks from their recents list. This CL ensures
that startActivityAsUser() is always run first so it is not blocked
by the other call (which should be able to run in the background
uninterrupted).
Bug: 22760556
Change-Id: I7564a2f0e43414686419d3657379bbd0ca6b4152